三,磁盘管理

15,du

Linux du 命令用于显示目录或文件所占的磁盘大小,其语法格式如下:

du `参数` `目录或文件`

参数目录或文件的位置也可以反过来:

du `目录或文件` `参数`

其常用参数如下:

参数 含义
-a 显示目录及子目录中所有文件的大小,包括隐藏目录和文件
-c 在原来基础上,显示所有目录和文件的总和
-s 仅显示总和大小
-D 如果文件是符号连接,则显示源文件大小
-h K,M,G为单位,提高可读性
-b/-k/-m 分别以字节/K/M 为单位显示目录或文件的大小
-L <符号链接> 显示指定符号链接 的源文件大小
-x 忽略与当前文件系统不一样的文件系统
--exclude=<目录或文件> 忽略指定目录或文件的大小
--max-depth=<目录深度> 指定显示的目录深度

16,tree

Linux tree 命令以树形结构列出目录及子目录的内容,其语法格式如下:

tree `参数` `目录或文件`

参数目录或文件的位置也可以反过来:

tree `目录或文件` `参数`

其常用参数如下:

参数 含义
-C 以不同的颜色,区分不同的文件类型
-n 不使用颜色
-a 显示所有目录及子目录,包括隐藏目录和文件
-d 只显示目录
-D 显示目录/文件的更改时间
t 以更改时间排序
-f 显示完整的相对路径
p 显示权限信息
-u 显示文件所有者
-s 显示文件/目录大小
-F 可执行文件目录Socket符号连接管道后边,各自加上*/=@|符号
-i 不以树形结构显示
-L 层级 设置目录显示层级
-l 如果文件是符号连接,则显示源文件内容
-h K,M,G为单位,提高可读性

四,网络通信

17,ping

ping 命令用于查看指定主机是否存在,其原理是ICMP 协议,其语法格式如下:

ping `参数` `主机名或IP`

其常用参数如下:

参数 含义
-c 指定发送请求的次数
-i 指定发送请求的间隔时间,单位秒

18,netstat

netstat 命令用于显示当前系统的网络状态。

其常用参数如下:

参数 含义
-a 显示所有连接信息
-c 持续不间断列出网络状态
-i 显示网络接口信息
-n 显示IP 地址,而不是主机名
-p 显示Socket 对应的程序名称
-l 显示监听中的服务器Socket
-t 只显示tcp 连接
-u 只显示udp 连接
-w 只显示raw 连接

19,curl

curl 命令可以发送HTTP(S) 协议,可用man curl 查看其帮助手册。

其常用参数如下:

参数 含义
--http1.0 使用HTTP/1.0 协议
--http1.1 使用HTTP/1.1 协议
--http2 使用HTTP/2 协议
-I 只显示响应头信息
-i 显示响应头和响应内容
-v 显示请求头,响应头和响应内容
-H <key:val> 添加请求头,可以是多个
--data 添加POST 请求数据,此时的请求为 POST 请求
--connect-timeout <seconds> 设置连接超时时间,单位秒
--compressed 要求服务器返回响应时,对响应进行压缩

例如,我们访问http://www.baidu.com

curl http://www.baidu.com -H "User-Agent: curl" -v --compressed
> GET / HTTP/1.1
> Host: www.baidu.com
> Accept: */*
> Accept-Encoding: deflate, gzip
> User-Agent: curl	`这里是我们自己设置的值`
> 
< HTTP/1.1 200 OK
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: keep-alive
< Content-Encoding: gzip
< Content-Type: text/html
< Date: Fri, 01 May 2020 09:39:03 GMT
< Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
< Transfer-Encoding: chunked
< 
<!DOCTYPE html>
<html>`由于HTML 内容较多,这里省略了HTML 内容` </html>

五,系统管理

20,kill

Linux kill 命令用于向正在运行中的程序发送信号,一般用于强制停止程序。

其语法格式如下:

kill `参数` `程序名称/pid`

kill 命令支持的参数如下:

参数 含义
-s sig_name 使用信号名称向程序发送信号
-n sig_num 使用信号编号向程序发送信号
-l 列出所有的信号标识

使用kill -l 命令列出Linux 系统支持的所有信号,用有64 个信号,如下:

>>> 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
`注:前边是编号,后边是名称
    其中SIGKILL 信号无法捕捉,常用于强制杀死某进程`

21,ps

ps 命令全称为Process Status,用于列出当前系统中的进程状态。

其语法格式如下:

ps `[参数]`

ps 命令有非常多的参数,具体可参见man ps,其中有些参数只有细微差别,一般使用不用过度区分。这里只列出其常用组合方式:

ps aux  `用于列出当前系统所有的进程,及其详细信息`
ps -ef  `用于列出当前系统所有的进程,及其详细信息`
ps -axjf `以类似程序树的形式显示进程信息`
ps -u u_name u `查看u_name 用户的所有进程`

psgrep 配合使用较多,用于筛选自己关注的进程的信息。

22,free

Linux free命令用于显示系统内存使用状况。其常用参数如下:

参数 含义
-k K 为单位输出
-m M 为单位输出
-g G 为单位输出
-h K/M/G 可读形式输出
-s <秒数> 间隔几秒运行一次

六,压缩文件

23,tar

Linux tar 命令用于打包压缩文件/目录,其打包文件的后缀名一般为.tar.gz。其常用参数如下:

参数 含义
-c 生成打包文件
-x 打开打包文件
-z 以gzip 算法压缩
-v 显示命令执行过程
-f <打包文件> 指定打包文件

常用组合方式如下:

tar -czvf `目标文件名.tar.gz` `源文件/目录`
tar -xzvf `要打开的tar 文件` 

(完。)