Linux常用命令总结

linux常用命令

1. pstree

pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。

    -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;

    -p:显示程序识别码; (显示当前所有进程的进程号和进程id)   
        
    -c:不使用精简标示法; 

    -G:使用VT100终端机的列绘图字符; 

    -h:列出树状图时,特别标明现在执行的程序; 

    -H:<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序; 

    -l:采用长列格式显示树状图; 

    -n:用程序识别码排序。预设是以程序名称来排序; 

    -u:显示用户名称; 

    -U:使用UTF-8列绘图字符; 

2.uptime

uptime命令主要用于获取主机运行时间和查询linux系统负载等信息。

 [root@l ~]# uptime

 12:18:09 up 56 days, 6 min,  1 user,  load average: 0.01, 0.04, 0.05

12:18:09 //系统当前时间

up 56 days, 6 min, //主机已运行时间,时间越大,说明你的机器越稳定。

1 user //用户连接数,是总连接数而不是用户数

load average // 系统平均负载,统计最近1,5,15分钟的系统平均负载那么什么是系统平均负载呢? 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。

如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。

uptime命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

3. netstat

netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

[root@l ~]# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:8160                0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:8649                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:6000                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:8848                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:8888              0.0.0.0:*                   LISTEN
tcp        0      0 10.30.128.215:45620         10.33.106.86:6379           ESTABLISHED
tcp        0      0 10.30.128.215:33386         10.33.107.13:6379           ESTABLISHED
tcp        0      0 10.30.128.215:33530         10.33.107.13:6379           ESTABLISHED
......

常见参数

    -a (all)显示所有选项,默认不显示LISTEN相关

    -t (tcp)仅显示tcp相关选项

    -u (udp)仅显示udp相关选项

    -n 拒绝显示别名,能显示数字的全部转化成数字。

    -l 仅列出有在 Listen (监听) 的服務状态

一般和其他命令组合使用,常用的如下:

netstat -nat|grep -i80|wc -l   查询80端口相关的服务  

netstat -an |wc -l  查看网络连接数

netstat -an |grep xx |wc -l 查看某个/特定ip的连接数        

netstat -an |grep TIME_WAIT|wc -l  查看连接数等待time_wait状态连接数     

netstat -an |grep ESTABLISHED |wc -l  查看建立稳定连接数量     

返回字段说明:

LISTENING:  正在监听

ESTABLISHED:正在共享,表示两者连接着

CLOSE_WAIT: 有过连接,现在已经结束了 

4. grep

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来

主要参数

-c:只输出匹配行的计数。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:反向选择,即显示出没有 '搜寻字符串' 内容的那一行
-i: 忽略大小写
-r:递归查找当前目录下的子目录(recursive)

搜索data目录下所有包含agent_id的行和行号

5. ps

使用权限:所有使用者

使用方式:ps [options] [–help]

说明:显示瞬间行程 (process) 的动态,运用该命令可以确定有哪些进程正在运行和运行地状态、进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等等。 ps命令最常用的是用于监控后台进程的工作情况。

常用到参数:

e  显示环境变量
f  显示程序间的关系
a  显示所有进程
A 显示所有进程(等价于-e)(utility)
x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用
u  指定用户的所有进程
-aux 显示所有包含其他使用者的进程,是用BSD的格式来显示
-ef  是用标准的格式显示进程的、

关于aux和-ef

Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。[查看](http://www.linuxidc.com/Linux/2016-07/133515.htm

6.rz/sz

使用方式:上传文件:rz -y 下载文件:sz filename

说明:rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。
优点就是不用再开一个sftp工具登录上去上传下载文件。
sz:将选定的文件发送(send)到本地机器

安装:
yum install lrzsz

-a 表示使用ascii码格式传输文件,如果是Dos格式的文件,会转换为unix格式
-b –binary 用binary的方式上传下载,不解释字符为ascii
-e –escape 强制escape 所有控制字符,比如Ctrl+x,DEL-r 使用 Crash recovery mode. 即文件传输中断会重传
-y 表示文件已存在的时候会覆盖
-O (大写O)采用同步写模式,以处理从缓存写到磁盘时中断丢失的情况
--o-sync  同上

7.find

使用方式:find pathname -options [-print -exec -ok …]

说明:用于在文件树种查找文件,并作出相应的处理

常用到参数:

-name   按照文件名查找文件。(常用)
-perm   按照文件权限来查找文件。
-prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user   按照文件属主来查找文件。
-group  按照文件所属的组来查找文件。
-mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-nogroup  查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser   查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2  查找更改时间比文件file1新但比文件file2旧的文件。
-type  查找某一类型的文件

使用举例:

find . -name “*.log” 根据关键字查找

find . -name | grep “log”

find /opt/soft/test/ -perm 777 文件权限查找

find . -type f -name “log” 按照文件类型查找

8.dig

使用方式:dig www.l.com

说明: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具

NS记录(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。

A记录(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的网页服务器(web server)上。同时也可以设置域名的子域名。

MX记录 是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。

使用举例

[root@l message]# dig www.l.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> www.l.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38725
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 7

;; QUESTION SECTION:
;www.l.com.     IN  A

;; ANSWER SECTION:
www.l.com.  60  IN  A   54.223.88.65

;; AUTHORITY SECTION:
l.com.      60  IN  NS  ns4.l.com.
l.com.      60  IN  NS  ns.l.com.
l.com.      60  IN  NS  ns2.l.com.
l.com.      60  IN  NS  ns1.l.com.
l.com.      60  IN  NS  ns6.l.com.
l.com.      60  IN  NS  ns3.l.com.
l.com.      60  IN  NS  ns5.l.com.

;; ADDITIONAL SECTION:
ns.l.com.       60  IN  A   10.23.241.109
ns1.l.com.  60  IN  A   10.33.1.252
ns2.l.com.  60  IN  A   10.10.35.45
ns3.l.com.  60  IN  A   10.10.35.46
ns4.l.com.  60  IN  A   10.23.241.168
ns5.l.com.  60  IN  A   10.23.241.13
ns6.l.com.  60  IN  A   10.23.247.142

;; Query time: 1 msec
;; SERVER: 10.33.1.252#53(10.33.1.252)
;; WHEN: Mon Jul 31 20:05:35 2017
;; MSG SIZE  rcvd: 286

使用举例

查找l.com的A记录:(此处一定是域而不是主机)

dig l.com A +noall +answer

查找l.com MX记录的列表:

dig l.com MX +noall +answer

查找l.com的权威DNS:

dig l.com NS +noall +answer

查询上面所有的记录:

dig l.com ANY +noall +answer

9.scp

使用方式:scp [可选参数] file_source file_target

说明:Linux scp命令用于Linux之间复制文件和目录。scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。(cp只是将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。)

参数列表


-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

使用举例

将本地的文件复制到开发机上/home/test 目录下

wangjiangfeng@mac:~/www$ scp test.php root@10.30.128.215:/home/test/
root@10.30.128.215's password:
test.php
10.kill

使用方式:kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]

说明:kill命令用来中止一个进程。-n 指的是 信号编号 如何查看信号编号 kill -l [查看]
http://blog.csdn.net/baobao8505/article/details/1115820


wangjiangfeng@mac:~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

实用举例:

kill -HUP pid

其中 pid 是进程标识。如果想要更改配置而不需停止并重新启动服务,请使用该命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。
根据约定,当您发送一个挂起信号(信号 1 或 HUP)时,大多数服务器进程(所有常用的进程)都会进行复位操作并重新加载它们的配置文件

kill -9 pid 彻底杀死进程

11.killall

使用方式:killall -

说明: 发送指定的信号到名字为的所有进程。指定的信号可以是名称,也可以是信号对应的数字。 kill 后跟着进程号 而Killall后面跟着的是进程名称

常见参数:

““
-I         在发送信号给指定名称的进程时忽略大小写
-i         交互模式,杀死进程前先询问用户
-e         要求匹配进程名称(当进程名大于15个字符时有用http://os.51cto.com/art/201405/437678.htm
-s         发送指定的信号
-v         报告信号是否发送成功
-w         等待所有杀的进程死去。killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回.
注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永

““

实用举例

killall -9 bash

12.more

使用方法 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

说明:Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h

常用参数


-num 一次显示的行数
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数

使用举例

tail -n 4700 aa.log |more -1000 //每1000页为一页

13.less

使用方法:less [参数] 文件

说明:less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

常用参数

““
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

““
常用命令

tail -n 4700 aa.log |less

14.diff

Linux diff命令用于比较文件的差异。(用vimdiff也可以)

diff以逐行的方式,比较文本文件的异同处。所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

““
wangjiangfeng@mac:~/www$ diff test.php.old test.php -y
aaathis is a test file for scp: | this is a test file for scp:
aaathis is a test file for scp: | this is a test file for scp:
aaathis is a test file for scp: |this is a test file for scp:
aaathis is a test file for scp: |this is a test file for scp:
aaathis is a test file for scp: |this is a test file for scp:

this is a test file for scp:
this is a test file for scp:
““
“|”表示前后2个文件内容有不同

“<”表示后面文件比前面文件少了1行内容

“>”表示后面文件比前面文件多了1行内容

常用命令

diff test.php test.php.old
diff test.php test.php.old -y 以并排的方式展示

15.sort

使用方式 sort [option] file

说明:Linux sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。


-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。

常用命令:


wangjiangfeng@mac:~/www$ sort test.php
fang 44
feng 33
jiang 22
wang 11
wangjiangfeng@mac:~/www$ sort -r test.php
wang 11
jiang 22
feng 33
fang 44

16.uniq

使用方式: uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>输入文件][输出文件]

说明:Linux uniq命令用于检查及删除文本文件中重复出现的行列。uniq可检查文本文件中重复出现的行列。(指的是连续的行)

““
-c或–count 在每列旁边显示该行重复出现的次数。
-d或–repeated 仅显示重复出现的行列。
-f<栏位>或–skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>或–skip-chars=<字符位置> 忽略比较指定的字符。
-u或–unique 仅显示出一次的行列。
-w<字符位置>或–check-chars=<字符位置> 指定要比较的字符。
[输入文件] 指定已排序好的文本文件。
[输出文件] 指定输出的文件。

““

常用举例:

uniq test.php //删除重复的行

““
wangjiangfeng@mac:~/www$ uniq -c test.php
4 jiang
1 feng
1 jiang
1 feng
1 wang

““

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值