学习linux命令,看这篇2w多字的linux命令详解

-H或--speed-large-files 比较大文件时,可加快速度。

-l或--ignore-matching-lines 若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。

-i或--ignore-case 不检查大小写的不同。

-l或--paginate 将结果交由pr程序来分页。

-n或--rcs 将比较结果以RCS的格式来显示。

-N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

-p 若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。

-P或--unidirectional-new-file 与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。

-q或--brief 仅显示有无差异,不显示详细的信息。

-r或--recursive 比较子目录中的文件。

-s或--report-identical-files 若没有发现任何差异,仍然显示信息。

-S或--starting-file 在比较目录时,从指定的文件开始比较。

-t或--expand-tabs 在输出时,将tab字符展开。

-T或--initial-tab 在每行前面加上tab字符以便对齐。

-u,-U或--unified= 以合并的方式来显示文件内容的不同。

-v或--version 显示版本信息。

-w或--ignore-all-space 忽略全部的空格字符。

-W或--width 在使用-y参数时,指定栏宽。

-x或--exclude 不比较选项中所指定的文件或目录。

-X或--exclude-from 您可以将文件或目录类型存成文本文件,然后在=中指定此文本文件。

-y或--side-by-side 以并列的方式显示文件的异同之处。

tar&gzip

tar介绍

用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

tar命令参数

-A 新增压缩文件到已存在的压缩

-B 设置区块大小

-c 建立新的压缩文件

-d 记录文件的差别

-r 添加文件到已经压缩的文件

-u 添加改变了和现有的文件到已经存在的压缩文件

-x 从压缩的文件中提取文件

-t 显示压缩文件的内容

-z 支持gzip解压文件

-j 支持bzip2解压文件

-Z 支持compress解压文件

-v 显示操作过程

-l 文件系统边界设置

-k 保留原有文件不覆盖

-m 保留文件不被覆盖

-W 确认压缩文件的正确性

-b 设置区块数目

-C 切换到指定目录

-f 指定压缩文件

du

du介绍

du实用程序显示每个文件自变量以及以每个目录自变量为根的文件层次结构中每个目录的文件系统块使用情况。如果未指定文件,则显示以当前目录为根的层次结构的块使用情况。

du命令参数

-a或-all 显示目录中个别文件的大小。

-b或-bytes 显示目录或文件大小时,以byte为单位。

-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

-k或--kilobytes 以KB(1024bytes)为单位输出。

-m或--megabytes 以MB为单位输出。

-s或--summarize 仅显示总计,只列出最后加总的值。

-h或--human-readable 以K,M,G为单位,提高信息的可读性。

-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-L或--dereference 显示选项中所指定符号链接的源文件大小。

-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。

-X或--exclude-from= 在指定目录或文件。

--exclude= 略过指定的目录或文件。

-D或--dereference-args 显示指定符号链接的源文件大小。

-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。

-l或--count-links 重复计算硬件链接的文件。

df

df介绍

df实用程序显示有关指定文件系统或其中一部分文件的文件系统上的可用磁盘空间量的统计信息。 值以每块计数512字节的形式显示。 如果未指定文件或文件系统操作数,则将显示所有已挂载文件系统的统计信息(受下面的-t选项约束)。

df命令参数

-a 全部文件系统列表

-h 方便阅读方式显示

-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024

-i 显示inode信息

-k 区块为1024字节

-l 只显示本地文件系统

-m 区块为1048576字节

--no-sync 忽略 sync 命令

-P 输出格式为POSIX

--sync 在取得磁盘信息前,先执行sync命令

-T 文件系统类型

--block-size= 指定区块大小

-t 只显示选定文件系统的磁盘信息

-x 不显示选定文件系统的磁盘信息

lsof

lsof介绍

lsof(list open files)是一个列出当前系统打开文件的工具。(在linux环境下,任何事物都以文件的形式存在)

lsof可以打开的文件包括:

1.普通文件

2.目录

3.网络文件系统的文件

4.字符或设备文件

5.(函数)共享库

6.管道,命名管道

7.符号链接

8.网络文件(例如:NFS file、网络socket,unix域名socket)

9.还有其它类型的文件,等等

这个命令在我日常工作中使用场景很多,使用范围很广。

lsof命令参数

-a 列出打开文件存在的进程

-c 列出指定进程所打开的文件

-g 列出GID号进程详情

-d 列出占用该文件号的进程

+d 列出目录下被打开的文件

+D 递归列出目录下被打开的文件

-n 列出使用NFS的文件

-i 列出符合条件的进程。(4、6、协议、:端口、 @ip )

-p 列出指定进程号所打开的文件

-u 列出UID号进程详情

lsof输出各列信息的意义如下:

COMMAND:进程的名称

PID:进程标识符

PPID:父进程标识符(需要指定-R参数)

USER:进程所有者

PGID:进程所属组

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等

ping

ping介绍

将ICMP ECHO_REQUEST数据包发送到网络主机

ping命令参数

-d 使用Socket的SO_DEBUG功能。

-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。

-n 只输出数值。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R 记录路由过程。

-v 详细显示指令的执行过程。

-c 数目:在发送指定数目的包后停止。

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-I 网络界面:使用指定的网络界面送出数据包。

-l 前置载入:设置在送出要求信息之前,先行发出的数据包。

-p 范本样式:设置填满数据包的范本样式。

-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

-t 存活数值:设置存活数值TTL的大小。

ping,在日常工作中都是简单的用来测试本机与其他机器之间的网络通信,当然如果了解这些参数的话,会有更多的用法。

ping命令参数

<code>#检测网络情况$pinghost#ping网关$ping-bhost#ping指定次数$ping-c10host#ping指定时间间隔和次数限制$ping-c10-i0.5host#通过域名ping公网上的站点/<code>

netstat

netstat介绍

netstat命令以符号形式显示各种与网络相关的数据结构的内容。有多种输出格式,具体取决于显示信息的选项。该命令的第一种形式显示每个协议的活动套接字列表。第二种形式根据选择的选项显示其他网络数据结构之一的内容。使用第三种形式,并指定等待间隔,netstat将在配置的网络接口上连续显示有关数据包流量的信息。第四种形式显示指定协议或地址族的统计信息。如果指定了等待间隔,将显示最近间隔秒的协议信息。第五种形式显示指定协议或地址族的每个接口的统计信息。第六种形式显示mbuf(9)统计信息。第七种形式显示指定地址系列的路由表。第八种形式显示路由统计信息。

netstat命令参数

-a或–all 显示所有连线中的Socket。

-A或– 列出该网络类型连线中的相关地址。

-c或–continuous 持续列出网络状态。

-C或–cache 显示路由器配置的快取信息。

-e或–extend 显示网络其他相关信息。

-F或–fib 显示FIB。

-g或–groups 显示多重广播功能群组组员名单。

-h或–help 在线帮助。

-i或–interfaces 显示网络界面信息表单。

-l或–listening 显示监控中的服务器的Socket。

-M或–masquerade 显示伪装的网络连线。

-n或–numeric 直接使用IP地址,而不通过域名服务器。

-N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。

-o或–timers 显示计时器。

-p或–programs 显示正在使用Socket的程序识别码和程序名称。

-r或–route 显示Routing Table。

-s或–statistice 显示网络工作信息统计表。

-t或–tcp 显示TCP传输协议的连线状况。

-u或–udp 显示UDP传输协议的连线状况。

-v或–verbose 显示指令执行过程。

-V或–version 显示版本信息。

-w或–raw 显示RAW传输协议的连线状况。

-x或–unix 此参数的效果和指定”-A unix”参数相同。

–ip或–inet 此参数的效果和指定”-A inet”参数相同。

ifconfig

ifconfig介绍

Ifconfig用于配置内核驻留的网络接口。 它在引导时用于根据需要设置接口。 之后,通常仅在调试或需要系统调整时才需要它。

ifconfig命令参数

up 启动指定网络设备/网卡。

down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。

arp 设置指定网卡是否支持ARP协议。

-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包

-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包

-a 显示全部接口信息

-s 显示摘要信息(类似于 netstat -i)

add 给指定网卡配置IPv6地址

del 删除指定网卡的IPv6地址

配置网卡最大的传输单元

mtu 设置网卡的最大传输单元 (bytes)

netmask 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。

tunel 建立隧道

dstaddr 设定一个远端地址,建立点对点通信

-broadcast 为指定网卡设置广播协议

-pointtopoint 为网卡设置点对点通讯协议

multicast 为网卡设置组播标志

address 为网卡设置IPv4地址

txqueuelen 为网卡设置传输列队的长度

解释
eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址inet addr 用来表示网卡的IP地址lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息。

hostname

hostname介绍

主机名用于显示系统的DNS名称,并显示或设置其主机名或NIS域名。

hostname命令参数

<code>-v:详细信息模式;-a:显示主机别名;-d:显示DNS域名;-f:显示FQDN名称;-i:显示主机的ip地址;-s:显示短主机名称,在第一个点处截断;-y:显示NIS域名。/<code>

traceroute

traceroute介绍

traceroute跟踪从IP网络获取到给定主机的路由信息包。 它利用IP协议的生存时间(TTL)字段并尝试从每个网关到主机的路径引发ICMP TIME_EXCEEDED响应。

traceroute命令参数

-d 使用Socket层级的排错功能。

-f 设置第一个检测数据包的存活数值TTL的大小。

-F 设置勿离断位。

-g 设置来源路由网关,最多可设置8个。

-i 使用指定的网络界面送出数据包。

-I 使用ICMP回应取代UDP资料信息。

-m 设置检测数据包的最大存活数值TTL的大小。

-n 直接使用IP地址而非主机名称。

-p 设置UDP传输协议的通信端口。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。

-s 设置本地主机送出数据包的IP地址。

-t 设置检测数据包的TOS数值。

-v 详细显示指令的执行过程。

-w 设置等待远端主机回报的时间。

-x 开启或关闭数据包的正确性检验。

解释

记录按序列号从1开始,每行纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 10 www.baidu.com,表示向每个网关发送10个数据包。

有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

route

route介绍

Route操纵内核的IP路由表。 它的主要用途是在使用ifconfig(8)程序对其进行配置后,通过接口设置到特定主机或网络的静态路由。


route命令参数

-c 显示更多信息

-n 不解析名字

-v 显示详细的处理信息

-F 显示发送信息

-C 显示路由缓存

-f 清除所有网关入口的路由表。

-p 与 add 命令一起使用时使路由具有永久性。

add:添加一条新路由。

del:删除一条路由。

-net:目标地址是一个网络。

-host:目标地址是一个主机。

wget

wget介绍

GNU Wget是一个免费实用程序,用于从Web非交互式下载文件。 它支持HTTP,HTTPS和FTP协议,以及通过HTTP代理进行检索。

wget命令参数

<code>启动:-V,--version显示Wget的版本信息并退出。-h,--help打印此帮助。-b,--background启动后转入后台。-e,--execute=COMMAND运行一个“.wgetrc”风格的命令。日志和输入文件:-o,--output-file=FILE将日志信息写入FILE。-a,--append-output=FILE将信息添加至FILE。-d,--debug打印大量调试信息。-q,--quiet安静模式(无信息输出)。-v,--verbose详尽的输出(此为默认值)。-nv,--no-verbose关闭详尽输出,但不进入安静模式。-i,--input-file=FILE下载本地或外部FILE中的URLs。-F,--force-html把输入文件当成HTML文件。-B,--base=URL解析与URL相关的HTML输入文件(由-i-F选项指定)。--config=FILESpecifyconfigfiletouse.下载:-t,--tries=NUMBER设置重试次数为NUMBER(0代表无限制)。--retry-connrefused即使拒绝连接也是重试。-O,--output-document=FILE将文档写入FILE。-nc,--no-clobberskipdownloadsthatwoulddownloadtoexistingfiles(overwritingthem).-c,--continue断点续传下载文件。--progress=TYPE选择进度条类型。-N,--timestamping只获取比本地文件新的文件。--no-use-server-timestamps不用服务器上的时间戳来设置本地文件。-S,--server-response打印服务器响应。--spider不下载任何文件。-T,--timeout=SECONDS将所有超时设为SECONDS秒。--dns-timeout=SECS设置DNS查寻超时为SECS秒。--connect-timeout=SECS设置连接超时为SECS秒。--read-timeout=SECS设置读取超时为SECS秒。-w,--wait=SECONDS等待间隔为SECONDS秒。--waitretry=SECONDS在获取文件的重试期间等待1..SECONDS秒。--random-wait获取多个文件时,每次随机等待间隔0.5*WAIT...1.5*WAIT秒。--no-proxy禁止使用代理。-Q,--quota=NUMBER设置获取配额为NUMBER字节。--bind-address=ADDRESS绑定至本地主机上的ADDRESS(主机名或是IP)。--limit-rate=RATE限制下载速率为RATE。--no-dns-cache关闭DNS查寻缓存。--restrict-file-names=OS限定文件名中的字符为OS允许的字符。--ignore-case匹配文件/目录时忽略大小写。-4,--inet4-only仅连接至IPv4地址。-6,--inet6-only仅连接至IPv6地址。--prefer-family=FAMILY首先连接至指定协议的地址FAMILY为IPv6,IPv4或是none。--user=USER将ftp和http的用户名均设置为USER。--password=PASS将ftp和http的密码均设置为PASS。--ask-password提示输入密码。--no-iri关闭IRI支持。--local-encoding=ENCIRI(国际化资源标识符)使用ENC作为本地编码。--remote-encoding=ENC使用ENC作为默认远程编码。--unlinkremovefilebeforeclobber.目录:-nd,--no-directories不创建目录。-x,--force-directories强制创建目录。-nH,--no-host-directories不要创建主目录。--protocol-directories在目录中使用协议名称。-P,--directory-prefix=PREFIX以PREFIX/...保存文件--cut-dirs=NUMBER忽略远程目录中NUMBER个目录层。HTTP选项:--http-user=USER设置http用户名为USER。--http-password=PASS设置http密码为PASS。--no-cache不在服务器上缓存数据。--default-page=NAME改变默认页(默认页通常是“index.html”)。-E,--adjust-extension以合适的扩展名保存HTML/CSS文档。--ignore-length忽略头部的‘Content-Length’区域。--header=STRING在头部插入STRING。--max-redirect每页所允许的最大重定向。--proxy-user=USER使用USER作为代理用户名。--proxy-password=PASS使用PASS作为代理密码。--referer=URL在HTTP请求头包含‘Referer:URL’。--save-headers将HTTP头保存至文件。-U,--user-agent=AGENT标识为AGENT而不是Wget/VERSION。--no-http-keep-alive禁用HTTPkeep-alive(永久连接)。--no-cookies不使用cookies。--load-cookies=FILE会话开始前从FILE中载入cookies。--save-cookies=FILE会话结束后保存cookies至FILE。--keep-session-cookies载入并保存会话(非永久)cookies。--post-data=STRING使用POST方式;把STRING作为数据发送。--post-file=FILE使用POST方式;发送FILE内容。--content-disposition当选中本地文件名时允许Content-Disposition头部(尚在实验)。--auth-no-challenge发送不含服务器询问的首次等待的基本HTTP验证信息。HTTPS(SSL/TLS)选项:--secure-protocol=PR选择安全协议,可以是auto、SSLv2、SSLv3或是TLSv1中的一个。--no-check-certificate不要验证服务器的证书。--certificate=FILE客户端证书文件。--certificate-type=TYPE客户端证书类型,PEM或DER。--private-key=FILE私钥文件。--private-key-type=TYPE私钥文件类型,PEM或DER。--ca-certificate=FILE带有一组CA认证的文件。--ca-directory=DIR保存CA认证的哈希列表的目录。--random-file=FILE带有生成SSLPRNG的随机数据的文件。--egd-file=FILE用于命名带有随机数据的EGD套接字的文件。FTP选项:--ftp-user=USER设置ftp用户名为USER。--ftp-password=PASS设置ftp密码为PASS。--no-remove-listing不要删除‘.listing’文件。--no-glob不在FTP文件名中使用通配符展开。--no-passive-ftp禁用“passive”传输模式。--retr-symlinks递归目录时,获取链接的文件(而非目录)。递归下载:-r,--recursive指定递归下载。-l,--level=NUMBER最大递归深度(inf或0代表无限制,即全部下载)。--delete-after下载完成后删除本地文件。-k,--convert-links让下载得到的HTML或CSS中的链接指向本地文件。-K,--backup-converted在转换文件X前先将它备份为X.orig。-m,--mirror-N-r-linf--no-remove-listing的缩写形式。-p,--page-requisites下载所有用于显示HTML页面的图片之类的元素。--strict-comments用严格方式(SGML)处理HTML注释。递归接受/拒绝:-A,--accept=LIST逗号分隔的可接受的扩展名列表。-R,--reject=LIST逗号分隔的要拒绝的扩展名列表。-D,--domains=LIST逗号分隔的可接受的域列表。--exclude-domains=LIST逗号分隔的要拒绝的域列表。--follow-ftp跟踪HTML文档中的FTP链接。--follow-tags=LIST逗号分隔的跟踪的HTML标识列表。--ignore-tags=LIST逗号分隔的忽略的HTML标识列表。-H,--span-hosts递归时转向外部主机。-L,--relative只跟踪有关系的链接。-I,--include-directories=LIST允许目录的列表。--trust-server-namesusethenamespecifiedbytheredirectionurllastcomponent.-X,--exclude-directories=LIST排除目录的列表。-np,--no-parent不追溯至父目录。/<code>

参数有点多,没关系,常用的掌握,其他的用的时候再查

vmstat

vmstat介绍

vmstat报告有关进程,内存,页面调度,块IO,陷阱,磁盘和cpu活动的信息。

vmstat命令参数

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

解释

Procs(进程):

r: 运行队列中进程数量

b: 等待IO的进程数量

Memory(内存):

swpd: 使用虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

Swap:

si: 每秒从交换区写到内存的大小

so: 每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

bi: 每秒读取的块数

bo: 每秒写入的块数

系统:

in: 每秒中断数,包括时钟中断。

cs: 每秒上下文切换数。

CPU(以百分比表示):

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

wa: 等待IO时间

free

free介绍

free显示系统中可用和可用的物理内存和交换内存的总量,以及内核使用的缓冲区和高速缓存。

free命令参数

-b 以Byte为单位显示内存使用情况。

-k 以KB为单位显示内存使用情况。

-m 以MB为单位显示内存使用情况。

-g 以GB为单位显示内存使用情况。

-o 不显示缓冲区调节列。

-s 持续观察内存使用状况。

-t 显示内存总和列。

解释

total:总计物理内存的大小。

used:已使用多大。

free:可用有多少。

Shared:多个进程共享的内存总额。

Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

top

top介绍

​ top程序提供正在运行的系统的动态实时视图。 它可以显示系统摘要信息以及Linux内核当前正在管理的进程或线程的列表。 所显示的系统摘要信息的类型以及为进程显示的信息的类型,顺序和大小都是用户可配置的,并且可以使配置在重新启动后保持不变。
​ 该程序为流程操作提供了一个有限的交互式界面,并为个人配置提供了更为广泛的界面-涵盖了其操作的各个方面。 尽管在本文档中始终引用top,但是您可以随意为程序命名。 然后,该新名称(可能是别名)将反映在顶部的显示屏上,并在读写配置文件时使用。

top命令参数

-b 批处理

-c 显示完整的治命令

-I 忽略失效过程

-s 保密模式

-S 累积模式

-i 设置间隔时间

-u 指定用户名

-p 指定进程

-n 循环显示的次数

解释

第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

00:56:07 — 当前系统时间

up 149 days, 14:40 — 系统已经运行了149天14小时40分钟(在这期间系统没有重启过的)

1users — 当前有1个用户登录系统

load average: 0.00, 0.02, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行,Tasks — 任务(进程)

系统现在共有254个进程,其中处于运行中的有1个,253个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行,cpu状态信息

%Cpu(s): 1.4 us, 0.3 sy, 0.0 ni, 98.3 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st

1.4 us — 用户空间占用CPU的百分比。

0.3 sy — 内核空间占用CPU的百分比。

0.0 ni — 改变过优先级的进程占用CPU的百分比

98.3 id — 空闲CPU百分比

0.1 wa — IO等待占用CPU的百分比

0.0 hi — 硬中断(Hardware IRQ)占用CPU的百分比

0.0 si — 软中断(Software Interrupts)占用CPU的百分比

第四行,内存状态

65808884 total 物理内存总量

23749772 free 使用中的内存总量

4586160 used 空闲内存总量

37472952 buff/cache 缓存的内存量

第五行,swap交换分区信息

0 total 交换区总量

0 use 使用的交换区总量

0 free 空闲交换区总量

60909608 avail Mem 可用交换区总量

第七行以下:各进程(任务)的状态监控

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

sar

sar介绍

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

sar命令参数

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可,希望能对你有所帮助。