Linux中常用经典命令

本文转自:http://blog.csdn.net/jiandanjinxin/article/details/52053387

【用于服务器Linux系统下没有权限的用户】

rm -rf xx:删除某文件夹(在root文件下)

su bids(某服务器的名字):以管理员身份进入linux

sudo su:进入到root目录下进行操作

sudo apt-get install xx :安装某文件


1.自动创建中间目录

mkdir -p /tmp/123/345/567
     
     
     
     
  • 1
  • 1

mkdir -p会自动创建中间缺的目录,而不需要一个个的按顺序创建。

2.网络监控软件

bwm-ng
iptraf
iftop
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

Linux流量监控软件bwm (支持64位系统)

Bandwidth Monitor NG (简称为 Bwm-NG)是一个简单的网络和磁盘带宽监视程序,可在Linux、BSD、Solaris等平台上运行。它支持各种各样的检测元件,用于收集各种统计数据,包括/proc/net/dev、netstat、getifaddr、sysctl、kstat、 /proc/diskstats /proc/partitions、 IOKit、 devstat 、 libstatgrab等。接口或设备可以黑白方式列示,这样用户就可以只查看感兴趣的数据。Bwm-NG支持多种输出选项,如图形、纯文本、CVS及 HTML等。查看流量命令:bwm-ng -d (按u键可切换流量单位)

iftop是类似于top的实时流量监控工具。iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。

IPTraf的是一个IP网络的网络监控工具。它截取网络上的数据包,并给出了当前的IP流量在它的各条信息。IPTraf的是一个纯软件的分析仪。它利用内置的原始数据包捕获的Linux内核,允许它被用于广泛的以太网卡,支持FDDI适配器,支持ISDN适配器,令牌环网,异步SLIP / PPP接口和其他网络设备的接口。不需要特殊的硬件要求。

3.打开文件夹

nautilus /home
     
     
     
     
  • 1
  • 1

或者

xdg-open /home
     
     
     
     
  • 1
  • 1

文件管理

file #确定文件类型,通过file指令,我们得以辨识该文件的类型
stat #文件信息
     
     
     
     
  • 1
  • 2
  • 1
  • 2

文件内容显示

nl  #(添加行号列印)
nl /etc/issue  #用 nl 列出 /etc/issue 的内容

head #功能说明,显示先是文件的前几行(默认10行)。
head -20 test.sh #显示文件 test.sh前20行
tail    #命令用于查看纯文本文档的后N行

Less #功能说明,less 命令的功能几乎和 more 命令一样,也是用来按页显示文件,不同之处在于less 命令在显示文件时允许用户既可以向前又可以向后翻阅文件。
less test.sh
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

文件显示总结

cat 由第一行开始显示內容 
tac  从最后一行开始显示,可以看出 tac 是 cat 的到这写! 
nl 显示的时候,顺道输出行号。 
more 一页一页显示內容 
less 与more 类似,但是比 more 更好的是,可以往前翻页! 
head 只看头几行,默认前10行。
tail 只看尾巴几行。
od 以二进位的方式读取文档內容!
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

文件查找

whereis #由一些特定的目录中寻找文件档名
whereis filename  #快速查找某个文件 
whereis ifconfig #请找出 ifconfig 这个档名

which #用于查找PATH路径下的某个命令是否存在
whatis  #显示命令的简要描述,即会显示man手册页的第一行描述

find 目录 -name 文件名 
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

find命令详解


与时间有关的选项:共有 -atime, -ctime-mtime ,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件; 
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名; 
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。 
-newer file :file 为一个存在的文件,列出比 file 还要新的文件档名

     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } \;,注意{ }和\;之间的空格。


 find / -mtime 0  # 那个 0 是重点!0 代表目前的时间,所以,从现在开始到 24 小时前。将过去系统上面 24 小时内有更动过内容 (mtime) 的文件列出

find / -mtime 3 #有变动过的文件都被列出。# 有变动过内容的文件都会被列出来!那如果是三天前的 24 小时内?

 find /etc -newer /etc/passwd  #寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出
# -newer 用在分辨两个文件之间的新旧关係是很有用的!

find /home -user dmtsai #搜寻 /home 底下属于 dmtsai 的文件\# 这个东西也很有用的~当我们要找出任何一个使用者在系统当中的所有文件时,
# 就可以利用这个指令将属于某个使用者的所有文件都找出来喔!

find / -nouser  #搜寻系统中不属于任何人的文件
# 透过这个指令,可以轻易的就找出那些不太正常的文件。如果有找到不属于系统任何人的文件时,# 不要太紧张,那有时候是正常的,尤其是你曾经以原始码自行编译软体时。

find / -name passw   #找出档名包含了 passwd 这个关键字的文件
find / -name "*passwd*"  # 利用这个 -name 可以搜寻档名啊!预设是完整档名,如果想要找关键字,可以使用类似 * 的任意字元来处理

     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4.tree 查看目录树 
5.清空当前终端的所有输入输出显示记录

reset
或者
ctrl + L
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

6.进入上一目录

cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的
cd ..
cd -
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

7.显示CPU信息

less /proc/cpuinfo 或者 lscpu 
     
     
     
     
  • 1
  • 1

8.显示内存信息

less /proc/meminfo
     
     
     
     
  • 1
  • 1

9.yes 是一个非常有趣又有用的命令,尤其对于脚本编写和系统管理员来说,它可以自动地生成预先定义的响应或者将其传到终端。

yes I LoveLinux
     
     
     
     
  • 1
  • 1

提示: (直到你按下ctrl+c才停止) 
————————————————————————– 
————————————————————————– 
————————————————————————– 
————————————————————————– 
10.sl (Steam Locomotive)蒸汽机 
sl,然后一辆火车来开过 
当你敲入的是‘LS‘而不是’ls‘时,这个命令也会运行。

sl -F
     
     
     
     
  • 1
  • 1

飞起来的火车

ls  #列出目录内容。执行ls指令可列出目录的内容,包括文件和子目录的名称。
ls -l          #每列仅显示一个文件或目录名称。
ls -a或--all   #列出所有文件和目录
ls -i          #列出 inode 号码
ll   #以详细方式显示所有文件与文件夹。(相当于 ls -l 命令)
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
dir   #功能说明,列出<文件>的信息 (默认为目前的目录)
dir -l 
     
     
     
     
  • 1
  • 2
  • 1
  • 2

11.Telnet 是一个文本化的双向网络协议

telnet towel.blinkenlights.nl
     
     
     
     
  • 1
  • 1

12.Fortune命令是在相同命令行中作为fortune cookies。我们运行这个命令的时候随机找了一条谚语或信息。依靠这个命令,Linux可以像个算命师一样。 
13.一个在终端用ASCII码组成的小牛,这个小牛会说出你想要它说的话。

cowsay I Love nix 
     
     
     
     
  • 1
  • 1

cowthink是另一个命令。运行“cowthink Linux is sooo funny ”看看它与cowsay的不同吧。

cowthink Linux is sooo funny
     
     
     
     
  • 1
  • 1

xcowsay是一个图形界面程序。它与cowsay类似只是以一种图形的方式来表达,可以说是X版本的cowsay

xcowsay I Love Linux
     
     
     
     
  • 1
  • 1

xcowthink是另一个命令。运行“xcowthink Linux is sooo funny ”看看它与xcowsay的不同吧。

xcowthink Linux is sooo funny
     
     
     
     
  • 1
  • 1

14.如果用管道将‘fortune command’命令重定向到xcowsay会怎样呢?

fortune | xcowsay
     
     
     
     
  • 1
  • 1

提示:‘|’是管道命令符。通常它是将一个命令的输出作为下一个命令的输入。在上面的例子中‘fortune’的输出作为‘xcowsay’命令的输出。管道命令会经常用在脚本和程序编写中。

尽管这个命令中只出现了cow,但其实它还可以有羊的效果。

cowsay -f sheep "I too love linux"
     
     
     
     
  • 1
  • 1

只需用 ‘-l 就能看到它能提供的所有动物。输入:

cowsay -l
     
     
     
     
  • 1
  • 1

为了使之更有趣,你可以让cowsay说出fortune信息,如输入:

fortune | cowsay -f hellokitty
     
     
     
     
  • 1
  • 1

15.你可能看多好莱坞的电影‘黑客帝国’并陶醉于被赋予Neo的能看到在矩阵中任何事物的能力,或者你会想到一幅类似于‘Hacker’的桌面的生动画面。

cmatrix
     
     
     
     
  • 1
  • 1

16.可能你坚信Linux的鼠标指针永远是同样的黑色或白色一点儿也不生动,那你就错了。“oneko”是一个会让一个“Jerry”你的鼠标指针附着到你鼠标上的一个软件包。

oneko
     
     
     
     
  • 1
  • 1

提示:关闭运行着oneko的终端时,Jerry也会随之消失,重新启动终端时也不会再出项。你可以将这个程序添加到启动选项中然后继续使用它。 
17.将你的多媒体音箱的音量调到最大,然后在将这个命令复制到你的终端,来看看你听到上帝的声音时的反应吧。

espeak "Tecmint is a very good website dedicated to Foss Community"
     
     
     
     
  • 1
  • 1

18.在你的终端放一把火如何。把这个“aafire”敲到你的终端,不需要什么引号看看这神奇的一幕吧。按下任意键中指该程序。

aafire
     
     
     
     
  • 1
  • 1

19.首先安装“apt-get install bb”,然后敲入“bb”看看会发生什么吧 
20.命令行百科 
首先安装“apt-get install funny-manpages”然后运行下面命令的man手册。其中一些

baby
celibacy
condom
date   命令用于显示/设置系统的时间或日期
echo
flame
flog
gong
grope, egrope, fgrope
party
rescrog
rm
rtfm
tm
uubp
woman (undocumented)
xkill
xlart
sex
strfry
man baby
     
     
     
     
  • 1
  • 1

21.这个命令会用大写方式把我们输入的字符串显示在标题栏,显示效果由ASCII字符组成。 
由于它不是标准设置,所以要先安装这一功能。

figlet mylinuxbook
     
     
     
     
  • 1
  • 1

22.它比figlet命令的效果更有艺术感。

toilet mylinuxbook
     
     
     
     
  • 1
  • 1

不过,它还可以添加颜色。我们可以运行下列命令看到颜色:

toilet -f mono12 -F metal mylinuxbook
     
     
     
     
  • 1
  • 1

23.执行xeyes会在屏幕上出现一双大眼睛,而且眼珠会跟随你的鼠标转动。

xeyes
     
     
     
     
  • 1
  • 1

————————————————————————– 
————————————————————————– 
————————————————————————– 
————————————————————————– 
24.把传递给它的的每个字符串都反过来

rev
     
     
     
     
  • 1
  • 1

25.命令行编辑错误,如何修改 
重新输入,然后执行 
稍加编辑,再来执行

使用 ^ 删掉多余部分

% grep fooo /var/log/auth.log
% ^o
% grep foo /var/log/auth.log
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

使用 ^old^new 换掉输错或输少的部分

% cat myflie
% ^li^il
% cat myfile
% ansible vod -m command -a 'uptim'
% ^im^ime
% ansible vod -m command -a 'uptime'
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用 !:gs/old/new 将 old 全部换成 new

% ansible nginx -m command -a 'which nginx'
% !:gs/nginx/squid
% ansible squid -m command -a 'which squid'
% ^nginx^squid^:G # zsh
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

要记住的是: 
一删 使用 ^ 删掉多余部分 
二换 使用 ^old^new 换掉输错或输少的部分 
三全变 使用 !:gs/old/new 将 old 全部换成 new

利用 :s 做替换

% echo this that

% !:s/is/e
echo the that
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

惯用法: ^is^e

利用 :gs 做全局操作

% echo abcd abef
% !:gs/ab/cd
echo cdcd cdef
cdcd cdef
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

26.历史记录命令

了解历史记录的大小

echo $HISTSIZE
     
     
     
     
  • 1
  • 1

历史记录的保存位置

echo $HISTFILE
     
     
     
     
  • 1
  • 1

历史记录的保存大小

echo $HISTFILESIZE  # bash
或者
echo $SAVEHIST     # zsh
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

查看历史

history
history | less
history 5
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

查看系统默认保存历史命令记录条数

echo $HISTSIZE
~/.bash_history  #注销系统,那么会将所有的历史命令都存入到这里,只有1000条的默认记录
     
     
     
     
  • 1
  • 2
  • 1
  • 2

修改Linux中history命令保存条数

sudo gedit ~/.bashrc
shopt-s histappend
HISTSIZE=100000
HISTFILESIZE=1000000
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

设置命令历史记录的时间(临时生效)

 sudo gedit /etc/profile
 export HISTTIMEFORMAT='%F %T' #注意有个空格,为了显示时日期与命令之间有空格分割。
 source /etc/profile #命令生效
 history
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

设置命令历史记录的时间永久生效

history
sudo gedit /etc/bash.bashrc
export HISTTIMEFORMAT='%F  %T'
export HISTFILESIZE=1000000
source /etc/bash.bashrc
history
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用 Ctrl + r 逆向搜索历史命令

(reverse-i-search)`h': history 5
     
     
     
     
  • 1
  • 1

使用 Ctrl + p 访问上一条命令

history >> recordhistory.txt # 将历史命令记录输出到recordhistory.txt 文件里面
     
     
     
     
  • 1
  • 1

参考文献: 
http://superuser.com/questions/137438/how-to-unlimited-bash-shell-history 
http://blog.itpub.net/29306197/viewspace-1062708/ 
http://askubuntu.com/questions/307541/how-to-change-history-size-for-ever/690870

27. 历史引用

使用 !! 执行上一条命令

% !!
% sudo !!
例子
% apt-get install figlet
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

% sudo !!
sudo apt-get install figlet
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

使用 !foo 执行以 foo 开头的命令

% !his
history
     
     
     
     
  • 1
  • 2
  • 1
  • 2

使用 !?foo 执行包含 foo 的命令

% !?is
echo $histchars
     
     
     
     
  • 1
  • 2
  • 1
  • 2

使用 !n 执行第 n 个命令

% !10
vim lib/TunePage.pm
     
     
     
     
  • 1
  • 2
  • 1
  • 2

使用 !-n 执行倒数第 n 个命令

% !-2
htop

     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

关于历史引用,要记住的是:

    !!  执行上一条命令
    ![?]字符串 执行以字符串开头的命令或执行【包含】字符串的命令
    ![-]数字 执行正数【倒数】第 n 个命令
    !#  引用当前行
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

28.word选取

通过 !$ 得到上一条命令的最后一位参数

% mkdir videos
% cd !$
     
     
     
     
  • 1
  • 2
  • 1
  • 2

通过 !^ 得到上一条命令的第一个参数

% ls /usr/share/doc /usr/share/man
% cd !^
     
     
     
     
  • 1
  • 2
  • 1
  • 2

通过 !:n 得到上一条命令第 n 个参数

 touch foo.txt bar.txt baz.txt

% vim !:2
vim bar.txt
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

通过 !:x-y 得到上一条命令从 x 到 y 的参数

% touch foo.txt bar.txt baz.txt
% vim !:1-2 
vim foo.txt bar.txt
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

通过 !:n* 得到上一条命令从 n 开始到最后的参数

% cat /etc/resolv.conf /etc/hosts /etc/hostname
% vim !:2*
vim /etc/hosts /etc/hostname
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

通过 !* 得到上一条命令的所有参数

% ls code src
% cp -r !*
     
     
     
     
  • 1
  • 2
  • 1
  • 2

关于 Word 选取,要记住的是:

    !:n,得到上一条命令第 n 个参数
    ^|$ 得到上一条命令的第一个参数,得到上一条命令的最后一位参数
    [n]* 得到上一条命令从 n 开始到最后的参数
    x-y  得到上一条命令从 x 到 y 的参数
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

29.关于修饰符

利用 :h 选取路径开头

% ls /usr/share/fonts/truetype
% cd !$:h
cd /usr/share/fonts
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

利用 :t 选取路径结尾

% wget http://nginx.org/download/nginx-1.4.7.tar.gz
% tar zxvf !$:t
tar zxvf nginx-1.4.7.tar.gz
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

利用 :r 选取文件名

% unzip filename.zip
% cd !$:r
cd filename
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

利用 :e 选取扩展名

% echo abc.jpg
% echo !$:e**重点内容**
echo .jpg # bash
.jpg
echo jpg  # zsh
jpg
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

利用 :p 打印命令行

% echo *
% !:p
echo *
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

利用 :s 做替换

% echo this that

% !:s/is/e
echo the that
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

惯用法: ^is^e

利用 :gs 做全局操作

% echo abcd abef
% !:gs/ab/cd
echo cdcd cdef
cdcd cdef
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

利用 :u 将其更改为大写 (zsh)

% echo $histchars
% echo !$:u
echo $HISTCHARS
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

利用 :l 将其更改为小写 (zsh)

% echo !$:l
echo $histchars
     
     
     
     
  • 1
  • 2
  • 1
  • 2

关于修饰符,要记住的是:

    h|t  选取路径开头,选取路径结尾
    r|e  选取文件名,选取扩展名
    p  打印
    s 替换
    g 全部替换
    u|l
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里写图片描述

30.guake:半透明的,F12一键弹出,又酷炫又方便

31.choco,可能是三大平台最牛逼的包管理器之一

32.watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。 
在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。

-d, –differences[=cumulative] 高亮显示变动
-n, –interval=       周期(秒)
如:watch -n 1 -d netstat -ant
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化。 
watch允许你偷看其它terminal正在做什么,该命令只能让超级用户使用。

watch -n 10 uptime #来每秒刷新一次获得当前的系统负载情况,每10秒输出一次系统负载情况
     
     
     
     
  • 1
  • 1

33.命令行浏览器 
w3m 
elinks

————————————————————————————— 
下面给出Linux检测的一些常用命令

详情见 https://www.91ri.org/14906.html 
—————————————————————————————

34.审计命令

(1)last:这个命令可用于查看我们系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出。 
(2)lastb:这个命令用于查看登录失败的情况;这个命令就是将/var/log/btmp文件格式化输出 
(3)lastlog:这个命令用于查看用户上一次的登录情况;这个命令就是将/var/log/lastlog文件格式化输出。 
(4)who:这个命令用户查看当前登录系统的情况;这个命令就是将/var/log/utmp文件格式化输出。 
(5)w:与who命令一致。 
关于它们的使用:man last,last与lastb命令使用方法类似

last 命令参数
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件>  指定记录文件。
-n <显示列数>或-<显示列数>  设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

以下看所有的重启、关机记录

last | grep reboot
last | grep shutdown
     
     
     
     
  • 1
  • 2
  • 1
  • 2

35.日志查看

cat 功能说明
把档案串连接后传到基本输出(屏幕或加 >filename 到另一个档案)
cat 来看比较小的文件的内容
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)

cat /var/log/syslog
cat /var/log/*.log
     
     
     
     
  • 1
  • 2
  • 1
  • 2
tail  查看文件的后N行,有实时监控的功能。

     
     
     
     
  • 1
  • 2
  • 1
  • 2

如果日志在更新,如何实时查看

tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果,用Ctrl+c来终止
#或者
watch -d -n 1 cat /var/log/messages
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

linux日志文件说明

/var/log/message 系统启动后的信息和错误日志
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

36.Linux集中日志服务器rsyslog

更多日志信息 可查看 
ubuntu 15.04 /var/log/下各个日志文件及修复无message文件和debug文件

37.用户查看命令

所有用户都会在/etc/passwd /etc/shadow /etc/group /etc/group- 文件中记录

less /etc/passwd:查看是否有新增用户
grep :0 /etc/passwd:查看是否有特权用户(root权限用户)
ls -l /etc/passwd:查看passwd最后修改时间
awk -F: ‘$3==0 {print $1}’ /etc/passwd:查看是否存在特权用户
awk -F: ‘length($2)==0 {print $1}’ /etc/shadow:查看是否存在空口令用户
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

38.进程查看

普通进程查看进程中我们一般使用ps来查看进程;man ps

ps -aux #查看进程,进程快照。ps(process status)命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程。为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的。
lsof -p pid  #查看进程所打开的端口及文件
ps -ef #查看所有进程
ps -ef | grep redis   #查看redis进程是否存在
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

检查隐藏进程

ps -ef | awk ‘{print }’ | sort -n | uniq >1
ls /proc | sort -n |uniq >2
diff 1 2
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

关闭进程

kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)

kill 进程号
kill -9 进程号   #强制杀死一个进程 
     
     
     
     
  • 1
  • 2
  • 1
  • 2

—————————————————————————————

39.etc

cat /etc/passwd | more # 查看密码文件的内容并具有分页的功能
cat /etc/shadow | more # 记录所有的登陆密码
     
     
     
     
  • 1
  • 2
  • 1
  • 2

40.简单命令

data #显示日期
cal#显示日历
cal 1998 #  查看1998年的所有日历
who   #查看谁在使用系统
clear  #清除屏幕
ctrl + L #清除屏幕
reset #清除屏幕
bc   # 计算器
ctrl + c  #中断前台进程
ctrl + d #结束符
yes  #多次打印字符串
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

41.Linux主要目录结构

/etc  # 存放Linux系统管理中的各种配置文件和子目录
/sbin # 存放系统管理员的系统管理程序
/dev  # 存放系统所使用的各种外设(外设入口文件)
/bin  # 系统常用命令(内部命令)
/boot # 系统启动时所使用的各种文件
/lib # 存放系统中的共享动态连接库
/proc #存放系统信息文件,与内存映像
/root #root用户的主目录
/home #该目录下存放了各个用户的工作目录
/usr # 存放系统应用程序(可以说是外围工具、程序或命令);/usr/bin; /usr/lib;/usr/include跟开发相关
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

42.管理命令

df   # 磁盘的使用状况
df -h #  直观显示,查看当前磁盘使用情况, 包括占用量单位。显示以MB,KB为单位

     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

du用于显示当前一个文件或者目录占用的磁盘空间(单位kb)

du file.txt
     
     
     
     
  • 1
  • 1
du -s  #显示当前目录下文件大小的总和 
     
     
     
     
  • 1
  • 1

43.文件权限 
44.find 
find 命令格式

find pathname -expression

     
     
     
     
  • 1
  • 2
  • 1
  • 2
find # 若省略,则等同于下命令
find . -print

     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
find . -name 'mini*'
find . -name 'mini*' -print
     
     
     
     
  • 1
  • 2
  • 1
  • 2

45.wget 
wget命令行工具是从网站负责所有html文件,并储存在本地硬盘上。

56.Linux重启命令

shutdown  #关机
shutdown -h now #立刻挂机,其中now相当于时间为0的状态
shutdown -h 20:25   #系统在今天的20:25分会关机。若在21:25下达此命令,则隔天才关机。
shutdown -h +10  #系统再过十分钟后自动关机
shutdown -r now  #系统立刻重新启动。
shutdown -r +30  #系统再过三十分钟会重新启动。

poweroff 
init
reboot #重启
reboot Init 6 #重启LINUX系统 
halt #关机
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

shutdown命令安全地将系统关机。 
在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。 shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统。

shutdown 参数说明:
   [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
   [-r] 重启计算器。
   [-k] 并不真正关机﹐只是送警告信号给
每位登录者〔login〕。
   [-h] 关机后关闭电源〔halt〕。
   [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
   [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息
﹐而这信息将会送到每位使用者。
   [-f] 在重启计算器〔reboot〕时忽略fsck[-F] 在重启计算器〔reboot〕时强迫fsck。
   [-time] 设定关机〔shutdown〕前的时间。
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

halt—-最简单的关机命令,其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。 
reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。 
init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的 用户进程﹑守护进程等。

56.硬链接与软连接

ln  #创建软/硬链接 ,软链接也叫符号链接。 
ln -s #创建软链接,需要加一个参数 -s,软链接可以理解为快捷方式

ln #语法
ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 

或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录] 


     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

补充说明

ln指令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。 
若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

57.系统信息查询

uname -a 查看内核版本 
head -n 1 /etc/issue   # 查看操作系统版本 
cat /proc/cpuinfo         # 查看CPU信息 
hostname                    # 查看计算机名 
iostat: CPU 和硬盘状态

lsblk #列出块设备信息: 以树形展示你的磁盘以及磁盘分区信息
lscpu,lspci 和 dmidecode  #查看包括 CPU、BIOS、RAID、显卡等
lshw #查看当前硬件信息 
lsusb #查看usb设备 

 free - m  #显示空闲的、已用的物理内存及swap内存,及被内核使用的buffer.


htop

top #显示当前系统中消耗资源的进程情况
top -d 2  #每隔2秒刷新,每隔2秒显示徐偶有进程的资源占用情况
top -p id   #单独查看某个进程的具体信息
top -p processId  #显示某一进程实时耗用的资源 

在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况。
敲击键盘“b”(打开/关闭加亮效果),top的视图变化。
top进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。


UID 进程所属用户的ID,即哪个用户创建了该进程
PID 进程ID
PPID 父进程ID
C CPU使用率
STIME 进程被创建的时间
TTY 与进程有关的终端类型,该 process 是在那个终端机上面运作,
若与终端机无关,则显示 ? (关于pts/ tty/ 暂时还不明白)
TIME 进程使用CPU的时间
CMD 创建该进程的命令


vmstat #查看虚拟内存Virtual Meomory Statistics.

     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

58.监控

w  #查看处于登录状态的用户
id #用户/组 ID 信息,显示用户身份号
finger #用来查询一台主机上的登录账号的信息,通常会显示用户名、主目录、停滞时间、登录时间、登录Shell等信息,使用权限为所有用户
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
ip 
ifconfig
dig
netstat -lntp               # 查看所有监听端口 
netstat -antp              # 查看所有已经建立的连接 
netstat -s                   # 查看网络统计信息进程
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

uptime命令用于查看系统的负载情况,格式为:“uptime” 
Load average:表示1分钟、5分钟、15分钟内系统的平均负荷 
当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。 
一般来说其CPU的核的数量决定了最大负荷,4核的CPU,工作量饱和的时候为4 
(一般看15分钟的那个数据,因为1min具有瞬时性,不具有代表性)

watch -n 10 uptime #来每秒刷新一次获得当前的系统负载情况,每10秒输出一次系统负载情况
     
     
     
     
  • 1
  • 1
pv  #监视通过管道的数据
普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。

cssh  #可视化的并发 shell
dstat  #系统状态查看
slurm  #网络可视化
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

59.通信命令

write  #发给某个用户信息
write fnngj  #给fnngj用户发送信息
hello fnngj !! I like you!!xixi       #发送的内容

ctrl + D  #结束


wall  #发给所有使用系统的用户
wall [信息内容]

wall hello china
     
     
     
     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

60.Linux之 cut 用法 
cut是一个选取命令,就是将一段数据经过分析,取出想要的。 
其语法格式为: 
cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file] 
使用说明 
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。 
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

主要参数 
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。 
-c :以字符为单位进行分割。 
-d :自定义分隔符,默认为制表符。 
-f :与-d一起使用,指定显示哪个区域。 
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。

cut命令主要是接受三个定位方法: 
第一,字节(bytes),用选项-b

who|cut -b 3      #提取每一行的第3个字节
who|cut -b 3-5,8  #提取第3,第4、第5和第8个字节
     
     
     
     
  • 1
  • 2
  • 1
  • 2

第二,字符(characters),用选项-c

who|cut -c 3-5,8   #提取第3,第4,第5和第8个字符
     
     
     
     
  • 1
  • 1

第三,域(fields),用选项-f

#设置“间隔符”,再设置“提取第几个域”
cat /etc/passwd|head -n 5|cut -d : -f 1 #用-d来设置间隔符为冒号,然后用-f来设置我要取的是第一个域
cat /etc/passwd|head -n 5|cut -d : -f 1,3-5 
     
     
     
     
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

细节可参考 
http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html

61.gedit显示行号

用gedit打开文件,然后使gedit窗口最大化。然后鼠标移动到窗口左上方,编辑-首选项-查看-显示行号
     
     
     
     
  • 1
  • 1

56.待续—– 
56.待续—– 
参考文献 
https://www.quora.com/What-are-some-lesser-known-but-useful-Unix-commands 
http://talk.linuxtoy.org/using-cli/#1 
http://talk.linuxtoy.org/cli-tips/#1 
https://github.com/jlevy/the-art-of-command-line 
https://linuxtoy.org/

你可能感兴趣的:(Linux)