博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux命令总结
阅读量:5804 次
发布时间:2019-06-18

本文共 24655 字,大约阅读时间需要 82 分钟。

hot3.png

一、万能命令

    想要看某个命令怎么用,只要用man命令就可以了。之后的命令总结都是粗略的简介,了解即可。

man 命令名称

二、文件目录操作命令

1、ls命令

ls [选项] [目录名]    列出目标目录所有目录和文件

ebj1877:~ user$ lsApplications   	Desktop		Documents      	Downloads      	Library		Movies 		Music  		Pictures       	Public 		softwareebj1877:~ user$ ls -ltotal 0drwx------   5 user  staff   170  8 11 17:27 Applicationsdrwx------+  4 user  staff   136  6 24 15:09 Desktopdrwx------+ 10 user  staff   340  9 14 10:29 Documentsdrwx------+  8 user  staff   272  9 18 19:44 Downloadsdrwx------@ 53 user  staff  1802  7 29 13:52 Librarydrwx------+  6 user  staff   204  6  6 09:21 Moviesdrwx------+  6 user  staff   204  6  5 03:21 Musicdrwx------+  6 user  staff   204  6  6 09:10 Picturesdrwxr-xr-x+  6 user  staff   204  6  5 10:59 Publicdrwxr-xr-x   7 user  staff   238  9 18 10:31 softwareebj1877:~ user$ ls -l /Users/user/software/total 0drwxr-xr-x   4 user  staff  136  9 14 19:34 datadrwxr-xr-x   8 user  staff  272  9 17 17:45 developmentdrwxr-xr-x   8 user  staff  272  9 14 20:02 environmentdrwxr-xr-x  19 user  staff  646  9 18 20:45 test

2、mv命令

mv 源文件或目录  目标文件或目录

用来移动文件或给文件改名

ebj1877:test user$ lltotal 16-rw-r--r--  1 user  staff     0B  9 19 11:48 love.txt-rwxrw-rw-  1 user  staff   268B  9 14 17:48 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  2 user  staff    68B  9 19 11:48 whc/ebj1877:test user$ mv love.txt live.txtebj1877:test user$ lltotal 16-rw-r--r--  1 user  staff     0B  9 19 11:48 live.txt-rwxrw-rw-  1 user  staff   268B  9 14 17:48 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  2 user  staff    68B  9 19 11:48 whc/ebj1877:test user$ mv live.txt whc/ebj1877:test user$ lltotal 16-rwxrw-rw-  1 user  staff   268B  9 14 17:48 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 11:49 whc/ebj1877:test user$ cd whcebj1877:whc user$ lltotal 0-rw-r--r--  1 user  staff     0B  9 19 11:48 live.txt

3、cp命令

cp [选项] 源目录 目标目录

用来复制文件

ebj1877:test user$ lltotal 16-rwxrw-rw-  1 user  staff   268B  9 14 17:48 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  2 user  staff    68B  9 19 12:00 whc/-rw-r--r--  1 user  staff     0B  9 19 11:59 who.txtebj1877:test user$ cp who.txt whc/ebj1877:test user$ ls whc/who.txt

4、cat命令

cat [选项] [文件]

用来查看整个文件或或合并几个文件为一个文件

ebj1877:test user$ cat who.txt123ebj1877:test user$ cat who.txt whoami.txt > resultebj1877:test user$ cat result123456

5、nl命令

在输出中自动为文件加上行号(-b a表示也为空行加行号)

ebj1877:test user$ cat result123456ebj1877:test user$ebj1877:test user$ nl result     1 	123     2 	456ebj1877:test user$ebj1877:test user$ nl -b a result     1 	123     2 	456     3     4

6、more命令

跟cat类似,more在启动时会加载整个文件,但会以一页一页的形式展示给用户。按space即可翻页,CTRL + B 返回上一屏。

7、less命令

是Linux正统查看文件内容的工具,功能及其强大。与more类似,但支持向前翻。

8、head命令

显示文件的开头至标准输出中,加-n参数表示显示的行数

ebj1877:test user$ head -n 10 who.txt

9、tail命令

显示文件的结尾至标准输出中,并且可不断刷新。-n控制显示的行数,-f 表示循环读取

ebj1877:test user$ tail -fn 5 who.txt123

二、文件查找命令

1、which命令

在PATH变量指定的路径中,搜索某个系统命令的位置。

ebj1877:test user$ which pwd/bin/pwdebj1877:test user$ which ls/bin/ls

2、locate命令

locate和find相似,但locate是痛殴update程序将硬盘中的所有档案和目录先建立一个索引数据看,在执行locate时直接找该索引,查询速度会较快,但较新的文件可能会暂时找不到。、

ebj1877:conf user$ locate pwd

3、find 命令

用于在目录结构中进行查找,并作出相应的处理。

命令格式:find pathname -options [-print -exec -ok ...]

示例:1、在当前目录中查找包含java的文件或目录

ebj1877:test user$ find . -name java

2、列出当前目录及子目录下所有文件和文件夹

whc@bj1281:~/software/test/com$ find . -print../whc./whc/whcservice./whc/whcservice/api./whc/whcservice/api/userdevice

-amin n   查找系统中最后N分钟访问的文件

-atime n  查找系统中最后n*24小时访问的文件

-cmin n   查找系统中最后N分钟被改变文件状态的文件

-ctime n  查找系统中最后n*24小时被改变文件状态的文件

-mmin n   查找系统中最后N分钟被改变文件数据的文件

-mtime n  查找系统中最后n*24小时被改变文件数据的文件

示例:查看最后一天内被访问的文件

ebj1877:test user$ find . -atime -1../result./test.sh./whc./whc/who.txt./who.txt./whoami.txt

3、查看指定目录内指定大小的文件

MOMO@bj1281:~/software/logs$ lltotal 2096-rw-r--r--  1 MOMO  staff   2.7K  5 28 20:09 gc.log-rw-r--r--  1 MOMO  staff   1.0M  5 28 20:09 stdout.logMOMO@bj1281:~/software/logs$MOMO@bj1281:~/software/logs$ find . -size +3k./stdout.logMOMO@bj1281:~/software/logs$ find . -size -3k../gc.logMOMO@bj1281:~/software/logs$ find . -size 3kMOMO@bj1281:~/software/logs$MOMO@bj1281:~/software/logs$ find . -size 1MMOMO@bj1281:~/software/logs$ find . -size +1M./stdout.log

4、find命令之exec

当我们find 出需要的文件时,可能并不只是看看而已,而是要作相应的操作,这时就可以用到find命令了。

-exec后面跟的就是一般的命令,以分号为终止符,/是用来转义分号的。{}表示前面find出的文件名。

示例:找出当前目录中的普通文件,并列出

ebj1877:test user$ find . -type f -exec ls -l {} \;-rw-r--r--  1 user  staff  10  9 19 13:58 ./result-rwxrw-rw-  1 user  staff  268  9 19 11:59 ./test.sh-rwxrwxrwx  1 user  staff  62  9 18 11:19 ./test_2.sh-rw-r--r--  1 user  staff  0  9 19 12:01 ./whc/who.txt-rw-r--r--  1 user  staff  4  9 19 13:51 ./who.txt-rw-r--r--  1 user  staff  4  9 19 13:51 ./whoami.txt

示例:找出当前目录中以.log结尾的,超过1天没访问的文件,删除掉。

ebj1877:test user$ find . -name "*.log" -atime +1 -exec rm {} -ok \;

5、find命令之xargs

为避免exec参数过长或启动进程较多的弊端,出现了xargs。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。

示例:查找当前目录的普通文件,使用xargs查看他们属于哪类文件

ebj1877:test user$ find . -type f -print | xargs file./result:      ASCII text./test.sh:     POSIX shell script text executable./test_2.sh:   Bourne-Again shell script text executable./whc/who.txt: empty./who.txt:     ASCII text./whoami.txt:  ASCII text

三、打包、压缩命令

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

示例 1:打包、解包命令

ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txtebj1877:test user$ebj1877:test user$ tar -cvf who.tar who.txta who.txtebj1877:test user$ lltotal 40-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff   2.0K  9 21 09:58 who.tar-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txtebj1877:test user$ebj1877:test user$ rm who.txtebj1877:test user$ebj1877:test user$ tar -xvf who.tarx who.txtebj1877:test user$ lltotal 40-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff   2.0K  9 21 09:58 who.tar-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txt

示例 2:打包压缩、解压解包

ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txtebj1877:test user$ebj1877:test user$ tar -zcvf who.tar.gz who.txta who.txtebj1877:test user$ lltotal 40-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff   144B  9 21 10:20 who.tar.gz-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txtebj1877:test user$ rm who.txtebj1877:test user$ebj1877:test user$ tar -zxvf who.tar.gzx who.txtebj1877:test user$ lltotal 40-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff   144B  9 21 10:20 who.tar.gz-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txt

四、文件权限

1、chmod命令

修改文件访问权限,-R表示递归形式增加权限

ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rw-r--r--  1 user  staff    10B  9 20 10:11 who.txtebj1877:test user$ebj1877:test user$ chmod 777 who.txtebj1877:test user$ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxr-xr-x  3 user  staff   102B  9 19 12:01 whc/-rwxrwxrwx  1 user  staff    10B  9 20 10:11 who.txt*ebj1877:test user$ebj1877:test user$ chmod -R 777 whc/ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/-rwxrwxrwx  1 user  staff    10B  9 20 10:11 who.txt*ebj1877:test user$ ls -l whctotal 0-rwxrwxrwx  1 user  staff  0  9 19 12:01 who.txt

2、chgrp命令

改变文件所属的用户组

ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/-rwxrwxrwx  1 user  staff    10B  9 20 10:11 who.txt*ebj1877:test user$ebj1877:test user$ sudo chgrp -v bin who.txtPassword:who.txtebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/-rwxrwxrwx  1 user  bin      10B  9 20 10:11 who.txt*

3、chown命令

改变文件拥有者、文件所属组,-R参数可递归

sh-3.2# ls -ltotal 32-rw-r--r--  1 user  staff   10  9 19 13:58 result-rwxrw-rw-  1 user  staff  268  9 19 11:59 test.sh-rwxrwxrwx  1 user  staff   62  9 18 11:19 test_2.shdrwxrwxrwx  3 user  staff  102  9 19 12:01 whc-rwxrwxrwx  1 user  staff   10  9 20 10:11 who.txtsh-3.2#sh-3.2# chown -v root:bin who.txtwho.txtsh-3.2# ls -ltotal 32-rw-r--r--  1 user  staff   10  9 19 13:58 result-rwxrw-rw-  1 user  staff  268  9 19 11:59 test.sh-rwxrwxrwx  1 user  staff   62  9 18 11:19 test_2.shdrwxrwxrwx  3 user  staff  102  9 19 12:01 whc-rwxrwxrwx  1 root  bin     10  9 20 10:11 who.txt

五、磁盘存储相关

1、df命令

用来捡来Linux文件系统的磁盘占用情况。

ebj1877:test user$ df -hFilesystem      Size   Used  Avail Capacity iused    ifree %iused  Mounted on/dev/disk1     112Gi   38Gi   74Gi    34% 9959682 19363580   34%   /devfs          335Ki  335Ki    0Bi   100%    1160        0  100%   /devmap -hosts       0Bi    0Bi    0Bi   100%       0        0  100%   /netmap auto_home    0Bi    0Bi    0Bi   100%       0        0  100%   /home

2、du命令

显示每个文件和目录的磁盘使用情况

示例 1 :显示目录和文件。 du:显示目录使用情况   du -ah:显示文件和目录的使用情况

ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/-rwxrwxrwx  1 root  bin      10B  9 20 10:11 who.txt*ebj1877:test user$ebj1877:test user$ du0      	./whc32     	.ebj1877:test user$ebj1877:test user$ du -ah4.0K   	./result4.0K   	./test.sh4.0K   	./test_2.sh  0B   	./whc/who.txt  0B   	./whc4.0K   	./who.txt 16K   	.

示例 2 :按大小倒序展示

ebj1877:test user$ du|sort -nr|more32      .0       ./whc

六、性能监控与优化命令

1、top命令

2、iostat命令

对系统的磁盘操作活动、CPU使用情况进行监视。

ebj1877:~ user$ iostat          disk0       cpu     load average    KB/t tps  MB/s  us sy id   1m   5m   15m   28.45   6  0.17   5  3 91  1.69 1.54 1.67

3、lsof命令

列出当前系统打开文件

示例 1 :查看某个文件相关的进程

ebj1877:test user$ lsof /bin/bashCOMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAMEbash    4874 user  txt    REG    1,4   628496 404650 /bin/bash

示例 2 :列出某个进程打开的文件信息

ebj1877:test user$ lsof -c javaCOMMAND  PID USER   FD     TYPE             DEVICE  SIZE/OFF    NODE NAMEjava    6373 user  cwd      DIR                1,4       374  848093 /Users/user/Library/Caches/IntelliJIdea2016.1/compile-serverjava    6373 user  txt      REG                1,4     99232  921534 /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java

示例3 :列出所有的网络连接

ebj1877:test user$ lsof -iCOMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAMEUserEvent  232 user    4u  IPv4 0xb0f98686ebfc201f      0t0  UDP *:*SystemUIS  243 user    9u  IPv4 0xb0f98686ea41efff      0t0  UDP *:*SystemUIS  243 user   10u  IPv4 0xb0f98686ea41ed97      0t0  UDP *:*SystemUIS  243 user   13u  IPv4 0xb0f98686ea4230f7      0t0  UDP *:49983SystemUIS  243 user   15u  IPv4 0xb0f98686ea42335f      0t0  UDP *:*SystemUIS  243 user   18u  IPv4 0xb0f98686ebc7f99f      0t0  UDP *:*sharingd   251 user   13u  IPv4 0xb0f98686ea41f4cf      0t0  UDP *:*sharingd   251 user   17u  IPv4 0xb0f98686ea4229bf      0t0  UDP *:*

示例5 :根据进程端口号,查看该端口号对外连接

whc@BJ1281:~$ lsof -i:58312

示例5 :根据pid查看进程打开的文件

whc@BJ1281:~$ lsof -p 3905 | grep -v .jarCOMMAND  PID USER   FD     TYPE            DEVICE  SIZE/OFF    NODE NAMEjava    3905 MOMO  cwd      DIR               1,4       612 1372239 /Applications/IntelliJ IDEA.app/Contents/binjava    3905 MOMO  txt      REG               1,4     93824 1372266 /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/javajava    3905 MOMO  txt      REG               1,4    166688  172718 /System/Library/CoreServices/Encodings/libSimplifiedChineseConverter.dylib

3、netstat命令

查看与对外某个端口号相关连接

[whc@whcssss log]$ netstat -nlap | grep 20600(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp        0      0 ::ffff:10.224.35.5:40642    ::ffff:10.87.187.164:20600  ESTABLISHED 55/javatcp        0      0 ::ffff:10.224.35.5:38208    ::ffff:10.87.187.164:20600  ESTABLISHED 55/javatcp        0      0 ::ffff:10.224.35.5:37736    ::ffff:10.87.187.164:20600  ESTABLISHED 55/javatcp        0      0 ::ffff:10.224.35.5:37800    ::ffff:10.87.187.164:20600  ESTABLISHED 55/java

循环查看

while true;do netstat -nlapt|grep 10.232.210.197;done

七、网络命令

1、ifconfig命令

用来查看和配置网络设备

ebj1877:~ user$ ifconfig

2、route命令用于显示和操作IP路由表

ebj1877:~ user$ route get 192.168.9.133   route to: 192.168.9.133destination: default       mask: default    gateway: 10.20.0.201  interface: en4      flags: 
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire 0 0 0 0 0 0 1500 0

3、ping命令

用于测试与目标主机的连通性,采用ICMP协议

ebj1877:~ user$ route get 192.168.9.133   route to: 192.168.9.133destination: default       mask: default    gateway: 10.20.0.201  interface: en4      flags: 
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire 0 0 0 0 0 0 1500 0

4、traceroute命令

可以让我们追踪网络路由包的路由途径

ebj1877:~ user$ traceroute 192.168.9.100traceroute to 192.168.9.100 (192.168.9.100), 64 hops max, 52 byte packets 1  10.20.0.2 (10.20.0.2)  1.203 ms  0.672 ms  0.620 ms 2  192.168.252.153 (192.168.252.153)  17.536 ms  5.471 ms  0.976 ms 3  192.168.9.100 (192.168.9.100)  0.529 ms  0.709 ms  0.431 ms

5、netstat命令

用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

ebj1877:~ user$ netstatActive Internet connections

6、telnet命令

执行telnet指令开启终端机阶段作业,并登入远端主机

7、scp命令

scp是secure copy的缩写,是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp传输是加密的。

示例 1 :从本地向远程机器copy文件

ebj1877:test user$ lltotal 40-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxr-xr-x  1 user  staff    10B  9 22 16:55 root@192.168.9.100*-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/-rwxrwxrwx  1 root  bin      10B  9 20 10:11 who.txt*ebj1877:test user$ebj1877:test user$ scp who.txt seagull@10.20.254.24:/home/seagull/testseagull@10.20.254.24's password:who.txt

然后我们登上10.20.254.24机器,查看是否copy成功

ebj1877:test user$ ssh seagull@10.20.254.24seagull@10.20.254.24's password:Last login: Thu Sep 22 16:51:05 2016 from 10.20.254.34[seagull@localhost ~]$ ls -l /home/seagull/test总用量 47124-rw-rw-r--. 1 seagull seagull      306 1月  23 2016 bug.py-rw-r--r--. 1 seagull seagull 48220349 8月   3 17:08 bus-product-analysis-jar-with-dependencies.jardrwxrwxr-x. 2 seagull seagull     4096 1月   9 2016 gitdrwxrwxr-x. 2 seagull seagull     4096 9月  18 09:04 javaDemo-rw-rw-r--. 1 seagull seagull     7629 8月   3 17:19 stack.log-rw-r--r--. 1 tcpdump tcpdump     4695 9月  20 11:40 target.cap-rwxrwxr-x. 1 seagull seagull       10 9月  22 16:53 who.txt

success!

示例 2 :从远程copy文件到本地

ebj1877:test user$ lltotal 32-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxr-xr-x  1 user  staff    10B  9 22 16:55 root@192.168.9.100*-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/ebj1877:test user$ebj1877:test user$ scp seagull@10.20.254.24:/home/seagull/test/who.txt /Users/user/software/test/seagull@10.20.254.24's password:who.txt                                                                                                                     100%   10     0.0KB/s   00:00ebj1877:test user$ lltotal 40-rw-r--r--  1 user  staff    10B  9 19 13:58 result-rwxr-xr-x  1 user  staff    10B  9 22 16:55 root@192.168.9.100*-rwxrw-rw-  1 user  staff   268B  9 19 11:59 test.sh*-rwxrwxrwx  1 user  staff    62B  9 18 11:19 test_2.sh*drwxrwxrwx  3 user  staff   102B  9 19 12:01 whc/-rwxr-xr-x  1 user  staff    10B  9 22 17:12 who.txt*

8、curl命令

用来发送各种请求,当然主要是http啦。

1、发送正常请求:

[whc@test-docker whc]$ curl 'http://www.baidu.com'
百度一下,你就知道

关于百度 About Baidu

©2017 Baidu 使用百度前必读  意见反馈 京ICP证030173号 

2、在返回结果中包含HTTP-header信息

[whc@test-docker whc]$ curl -i 'http://www.baidu.com'HTTP/1.1 200 OKServer: bfe/1.0.8.18Date: Wed, 28 Mar 2018 07:06:40 GMTContent-Type: text/htmlContent-Length: 2381Last-Modified: Mon, 23 Jan 2017 13:27:36 GMTConnection: Keep-AliveETag: "588604c8-94d"Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transformPragma: no-cacheSet-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/Accept-Ranges: bytes

3、查看站点响应时间

whc@BJwhc:~$ curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "https://www.baidu.com"time_connect: 0.012time_starttransfer: 0.080time_total: 0.082

8、tcpdump命令

服务端抓包命令,用于分析网络信息。

示例1、抓取经过网卡eth0的,目的或源地址是10.224.34.78的网络数据

tcpdump -i eth0 dst host 10.224.34.78

示例2、抓取经过网卡eth0的,源地址是10.224.34.78的网络数据

tcpdump -i eth0 src host 10.224.34.78

示例3、抓取经过网卡eth0的,目的地址是10.224.34.78的网络数据

tcpdump -i eth0 dst host 10.224.34.78

示例4、抓取经过网卡eth0的,目的或源端口是13125的网络数据

tcpdump -i eth0 port 13125

示例5、抓取经过网卡eth0的,源地址是13125的网络数据

tcpdump -i eth0 src port 13125

示例6、抓取经过网卡eth0的,目的地址是13125的网络数据

tcpdump -i eth0 dst port 13125

 

八、其他命令

1、ln命令

为某一个文件在另外一个位置建立一个同步的链接。ln的链接又分软链接和硬链接两种,软链接命令:ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接命令:ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

ebj1877:software user$ lltotal 24-rw-r--r--@ 1 user  staff   8.0K  9 18 14:58 .DS_Storedrwxr-xr-x  4 user  staff   136B  9 14 19:34 data/drwxr-xr-x  8 user  staff   272B  9 17 17:45 development/drwxr-xr-x  8 user  staff   272B  9 14 20:02 environment/drwxr-xr-x  8 user  staff   272B  9 22 17:12 test/ebj1877:software user$ebj1877:software user$ebj1877:software user$ebj1877:software user$ebj1877:software user$ ln -s test/who.txt who.txtebj1877:software user$ lltotal 32-rw-r--r--@ 1 user  staff   8.0K  9 18 14:58 .DS_Storedrwxr-xr-x  4 user  staff   136B  9 14 19:34 data/drwxr-xr-x  8 user  staff   272B  9 17 17:45 development/drwxr-xr-x  8 user  staff   272B  9 14 20:02 environment/drwxr-xr-x  8 user  staff   272B  9 22 17:12 test/lrwxr-xr-x  1 user  staff    12B  9 22 17:22 who.txt@ -> test/who.txtebj1877:software user$ ln test/who.txt who_2.txtebj1877:software user$ lltotal 40-rw-r--r--@ 1 user  staff   8.0K  9 18 14:58 .DS_Storedrwxr-xr-x  4 user  staff   136B  9 14 19:34 data/drwxr-xr-x  8 user  staff   272B  9 17 17:45 development/drwxr-xr-x  8 user  staff   272B  9 14 20:02 environment/drwxr-xr-x  8 user  staff   272B  9 22 17:12 test/lrwxr-xr-x  1 user  staff    12B  9 22 17:22 who.txt@ -> test/who.txt-rwxr-xr-x  2 user  staff    10B  9 22 17:12 who_2.txt*

2、diff命令

diff命令用于比较文件或目录内容。diff的normal显示格式有三种提示:a -add   c-change  d-delete  

示例 1 :比较两个文件

ebj1877:test user$ diff who.txt who_copy.txt2c2<---> 6663a4,5>>

2c2表示两个文件在第二行不同,3a4,5表示who_copy.txt比who,txt多两行

示例 2 :并排比较两个文件

ebj1877:test user$ diff who.txt who_copy.txt -y123    								123       							      |	666HAHA   								HAHA       							      >       							      >

“|”表示前后两个文件内容有不同

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

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

3、grep命令

grep命令是一种强大的文本搜索工具,支持正则表达式。

示例 1:查找指定进程

ebj1877:test user$ebj1877:test user$ ps -ef | grep idea  502  2182     1   0 19 916  ??        76:27.28 /Applications/IntelliJ IDEA 2.app/Contents/MacOS/idea  502 46154  9204   0  7:50下午 ttys000    0:00.00 grep idea

示例 2 :从文件中查找关键词

ebj1877:test user$ grep 'HAHA' who.txtHAHA

示例 3 :循环从文件中获取含有指定字符串的行

ebj1877:test user$ tail -fn 100 who.txt| grep 'HAHA'HAHA

4、wc命令

统计指定文件中的字节数、字数、行数

命令参数:

-c  统计字节数

-l   统计行数

-m  统计字符数

ebj1877:test user$ cat who.txt123我HAHAebj1877:test user$ wc -c who.txt      13 who.txtebj1877:test user$ wc -l who.txt       3 who.txtebj1877:test user$ grep 'HAHA' who.txt | wc -l       1ebj1877:test user$

5、ps命令

ps是Process Status的缩写,用来列出系统中当前运行的那些进程。

示例 1 :显示所有进程信息

ebj1877:test user$ ps -A  PID TTY           TIME CMD    1 ??        10:04.27 /sbin/launchd   42 ??         1:21.86 /usr/libexec/UserEventAgent (System)   43 ??         2:59.81 /usr/sbin/syslogd   45 ??         0:12.76 /usr/libexec/kextd

示例 2 :与grep组合,查找特定进程

ebj1877:test user$ ps -ef | grep ssh  502  2596     1   0 19 916  ??         0:00.17 /usr/bin/ssh-agent -l  502 46302  9204   0  9:20下午 ttys000    0:00.00 grep ssh

示例 3 :显示进程详细信息

ebj1877:test user$ ps aux

示例4:查看CPU占用最多的10个进程

[seagull@localhost ~]$ ps auxw|sort -r -k 3|head -11USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDetcd      1232  0.4  0.1  30780 14084 ?        Ssl  7月16 589:06 /usr/bin/etcd --name=default --data-dir=/var/lib/etcd/default.etcd --listen-client-urls=http://localhost:2379root     10213  0.3  1.3 2492304 106168 ?      Sl   8月19 253:36 /home/seagull/mongodb/bin/mongod -f /home/seagull/mongodb/standAlone/mongodb.confroot     32697  0.3  0.4 43579300 33800 ?      Sl   8月16 275:42 /home/seagull/mongodb/bin/mongod --replSet spock -f /home/seagull/mongodb/replSet/slave/mongodb.confkube      2494  0.3  0.3 537736 24080 ?        Ssl  7月16 510:46 /usr/bin/kube-controller-manager --logtostderr=true --v=0 --master=http://127.0.0.1:8080root     32679  0.3  0.1 47771560 14580 ?      Sl   8月16 274:53 /home/seagull/mongodb/bin/mongod --replSet spock -f /home/seagull/mongodb/replSet/master/mongodb.confpolkitd  13174  0.1  4.6 4633260 364092 ?      Sl   10月12   1:47 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/activemq/conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/activemq/tmp -Dactivemq.classpath=/opt/activemq/conf:/opt/activemq/../lib/: -Dactivemq.home=/opt/activemq -Dactivemq.base=/opt/activemq -Dactivemq.conf=/opt/activemq/conf -Dactivemq.data=/opt/activemq/data -jar /opt/activemq/bin/activemq.jar startkube      2489  0.1  0.4 472688 39164 ?        Ssl  7月16 173:57 /usr/bin/kube-apiserver --logtostderr=true --v=0 --etcd-servers=http://127.0.0.1:2379 --insecure-bind-address=127.0.0.1 --allow-privileged=false --service-cluster-ip-range=10.254.0.0/16 --admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuotamysql    13250  0.0  3.8 2395656 306220 ?      Ssl  10月12   0:44 mysqldmysql    13321  0.0  3.8 2263836 299496 ?      Ssl  10月12   0:43 mysqldroot       390  0.0  0.5  90468 44300 ?        Ss   7月16   1:13 /usr/lib/systemd/systemd-journald

示例5:查看进程使用内存大小(VmRSS:表示占用的物理内存)

[root@whc-master-5ba0ba1-024j]# cat /proc/51/statusName:	javaState:	S (sleeping)Tgid:	51Ngid:	0Pid:	51PPid:	1TracerPid:	0Uid:	0	0	0	0Gid:	0	0	0	0FDSize:	2048Groups:VmPeak:	57282836 kBVmSize:	57205808 kBVmLck:	       0 kBVmPin:	       0 kBVmHWM:	 1323640 kBVmRSS:	 1323640 kBRssAnon:	 1313280 kBRssFile:	   10360 kBRssShmem:	       0 kB

示例6:显示指定进程下的线程数

[whc@user]$ ps -mq 107|wc -l984

 

 

 

 

 

 

 

转载于:https://my.oschina.net/whc20011/blog/748454

你可能感兴趣的文章
一维数组
查看>>
Linux学习笔记之三
查看>>
微信公众号
查看>>
POJ1061 青蛙的约会(扩展欧几里得)题解
查看>>
关于Android studio团队协同开发连接到已有项目
查看>>
Sql获取表的信息
查看>>
Java-大数据-图汇集
查看>>
一、数论算法
查看>>
Asp.net MVC 中Controller的返回类型大全
查看>>
用一条SQL语句实现斐波那契数列
查看>>
[高中作文赏析]跋涉与成功
查看>>
swift-辞典NSDictionary定义,变化的关键,删/加入关键
查看>>
python----slots属性安全类
查看>>
《Programming WPF》翻译 第5章 1.不使用样式
查看>>
.NET垃圾回收:非托管资源,IDispose和析构函数的结合
查看>>
H2内存数据库 支持存储到文件
查看>>
css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题
查看>>
BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
查看>>
【HDU 1228】A + B
查看>>
CentOS 7搭建SVN服务器
查看>>