前言
目前正在出一个Linux命令
系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~
作为服务端开发,linux
命令还是要掌握一下的,可以做做基础性的运维。好了, 废话不多说直接开整吧~
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 为网卡设置传输列队的长度
使用示例:
#显示网络设备信息
[root@iZ2ze5vrnucj8nu52fq932Z ~]# ifconfig
br-0c2040b89567: flags=4099 mtu 1500
inet 172.20.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:a2ff:fe65:6d60 prefixlen 64 scopeid 0x20
ether 02:42:a2:65:6d:60 txqueuelen 0 (Ethernet)
RX packets 6236565 bytes 692762731 (660.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12472314 bytes 1027441573 (979.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
br-2deca97b839e: flags=4099 mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:9f:e3:f7:98 txqueuelen 0 (Ethernet)
RX packets 8 bytes 656 (656.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 32 bytes 2576 (2.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
....
.....
hostname
主机名用于显示系统的DNS名称,并显示或设置其主机名或NIS域名。
语法:
hostname [-a|--alias] [-d|--domain] [-f|--fqdn|--long] [-A|--all-fqdns] [-i|--ip-address] [-I|--all-ip-addresses] [-s|--short] [-y|--yp|--nis]
hostname [-b|--boot] [-F|--file filename] [hostname]
hostname [-h|--help] [-V|--version]
命令参数:
-v:详细信息模式;
-a:显示主机别名;
-d:显示DNS域名;
-f:显示FQDN名称;
-i:显示主机的ip地址;
-s:显示短主机名称,在第一个点处截断;
-y:显示NIS域名。
使用示例:
#查看主机ip, 这个比ifconfig要稍微简单一些
[root@iZ2ze5vrnucj8nu52fq932Z ~]# hostname -i
172.19.xx.xx
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
traceroute
跟踪从IP
网络获取到给定主机的路由信息包。它利用IP协议的生存时间(TTL
)字段并尝试从每个网关到主机的路径引发ICMP TIME_EXCEEDED
响应。
语法:
traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,...]
[-i device] [-m max_ttl] [-p port] [-s src_addr]
[-q nqueries] [-N squeries] [-t tos]
[-l flow_label] [-w waittime] [-z sendwait] [-UL] [-D]
[-P proto] [--sport=port] [-M method] [-O mod_options]
[--mtu] [--back]
host [packet_len]
命令参数:
-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 开启或关闭数据包的正确性检验。
如果没有这个命令的话,可以yum install traceroute -y
装一下
使用示例:
[root@iZ2ze5vrnucj8nu52fq932Z ~]# traceroute www.baidu.com
traceroute to www.baidu.com (220.181.38.149), 30 hops max, 60 byte packets
1 26.10.194.102 (26.10.194.102) 1.583 ms 26.10.178.14 (26.10.178.14) 2.163 ms 26.10.167.14 (26.10.167.14) 1.569 ms
2 11.73.57.138 (11.73.57.138) 1.473 ms 11.73.57.62 (11.73.57.62) 1.562 ms 11.73.13.189 (11.73.13.189) 1.582 ms
3 11.73.35.81 (11.73.35.81) 1.396 ms 11.73.38.145 (11.73.38.145) 1.625 ms 11.73.41.49 (11.73.41.49) 2.524 ms
4 11.73.47.81 (11.73.47.81) 2.057 ms 11.73.48.41 (11.73.48.41) 1.938 ms 11.73.44.33 (11.73.44.33) 1.957 ms
5 10.222.215.41 (10.222.215.41) 1.837 ms 10.222.215.9 (10.222.215.9) 1.889 ms 10.222.214.177 (10.222.214.177) 1.743 ms
6 11.94.197.133 (11.94.197.133) 3.546 ms 11.94.197.149 (11.94.197.149) 2.678 ms 11.94.197.121 (11.94.197.121) 3.585 ms
7 10.102.155.110 (10.102.155.110) 3.683 ms 10.102.155.66 (10.102.155.66) 2.936 ms *
8 36.110.217.13 (36.110.217.13) 5.643 ms 106.38.196.233 (106.38.196.233) 4.879 ms 36.110.169.217 (36.110.169.217) 4.020 ms
9 * * *
10 * * *
11 106.38.212.142 (106.38.212.142) 5.743 ms 106.38.212.146 (106.38.212.146) 6.059 ms *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
记录按序列号从1开始,每行纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用 traceroute -q 10 www.baidu.com
,表示向每个网关发送10个数据包。
[root@iZ2ze5vrnucj8nu52fq932Z ~]# traceroute -q 10 www.baidu.com
traceroute to www.baidu.com (220.181.38.150), 30 hops max, 60 byte packets
1 26.10.209.50 (26.10.209.50) 2.037 ms 26.10.167.14 (26.10.167.14) 1.892 ms 26.10.209.50 (26.10.209.50) 2.078 ms 26.10.167.14 (26.10.167.14) 1.879 ms 26.10.178.14 (26.10.178.14) 2.280 ms 2.363 ms 2.391 ms 2.373 ms 26.10.194.102 (26.10.194.102) 1.934 ms 26.10.167.14 (26.10.167.14) 1.796 ms
2 11.73.56.94 (11.73.56.94) 1.514 ms 11.73.57.178 (11.73.57.178) 1.497 ms 11.73.56.190 (11.73.56.190) 1.448 ms 11.73.57.198 (11.73.57.198) 1.480 ms 11.73.56.94 (11.73.56.94) 1.557 ms 11.73.56.190 (11.73.56.190) 1.423 ms 11.73.57.78 (11.73.57.78) 1.528 ms 11.73.57.178 (11.73.57.178) 1.481 ms 1.508 ms 11.73.57.38 (11.73.57.38) 1.542 ms
3 11.73.31.9 (11.73.31.9) 2.524 ms 11.73.36.25 (11.73.36.25) 1.673 ms 11.73.41.201 (11.73.41.201) 1.471 ms 11.73.40.33 (11.73.40.33) 1.565 ms 11.73.31.121 (11.73.31.121) 1.498 ms 11.73.35.49 (11.73.35.49) 1.593 ms 11.73.36.25 (11.73.36.25) 1.603 ms 11.73.39.193 (11.73.39.193) 1.536 ms 11.73.31.121 (11.73.31.121) 1.481 ms 11.73.35.233 (11.73.35.233) 1.457 ms
4 11.73.51.217 (11.73.51.217) 2.116 ms 11.73.43.41 (11.73.43.41) 1.875 ms 11.73.47.9 (11.73.47.9) 1.923 ms 11.73.46.33 (11.73.46.33) 1.927 ms 11.73.47.209 (11.73.47.209) 2.221 ms 11.73.47.185 (11.73.47.185) 2.008 ms 11.73.46.97 (11.73.46.97) 1.889 ms 11.73.51.217 (11.73.51.217) 2.003 ms 11.73.46.33 (11.73.46.33) 1.940 ms 11.73.50.89 (11.73.50.89) 2.038 ms
5 10.222.214.217 (10.222.214.217) 1.630 ms 10.222.214.233 (10.222.214.233) 1.649 ms 10.222.214.193 (10.222.214.193) 1.732 ms 10.222.214.209 (10.222.214.209) 1.700 ms 10.222.214.233 (10.222.214.233) 1.622 ms 10.222.215.105 (10.222.215.105) 1.949 ms 10.222.214.185 (10.222.214.185) 1.691 ms 10.222.214.249 (10.222.214.249) 1.663 ms 10.222.215.17 (10.222.215.17) 1.663 ms 10.222.214.169 (10.222.214.169) 1.962 ms
6 10.54.213.133 (10.54.213.133) 4.935 ms 11.94.197.141 (11.94.197.141) 3.523 ms 11.94.197.109 (11.94.197.109) 2.755 ms 10.54.171.157 (10.54.171.157) 3.691 ms 11.94.197.149 (11.94.197.149) 11.496 ms 10.54.171.157 (10.54.171.157) 3.643 ms 3.315 ms * 11.94.197.113 (11.94.197.113) 3.548 ms 10.54.213.157 (10.54.213.157) 3.039 ms
7 10.102.34.201 (10.102.34.201) 3.522 ms 10.102.154.246 (10.102.154.246) 4.140 ms 45.112.216.162 (45.112.216.162) 3.379 ms 45.112.216.26 (45.112.216.26) 3.356 ms * 10.102.155.78 (10.102.155.78) 3.469 ms 10.102.155.26 (10.102.155.26) 3.935 ms 10.102.34.209 (10.102.34.209) 3.345 ms * 10.102.155.102 (10.102.155.102) 3.348 ms
8 36.110.169.217 (36.110.169.217) 3.917 ms 106.38.196.253 (106.38.196.253) 5.399 ms 106.38.196.217 (106.38.196.217) 4.761 ms 106.38.196.253 (106.38.196.253) 5.187 ms 106.38.196.45 (106.38.196.45) 4.171 ms * * 36.110.169.93 (36.110.169.93) 4.026 ms 36.110.169.221 (36.110.169.221) 4.354 ms 36.110.217.9 (36.110.217.9) 4.002 ms
9 * 36.110.251.74 (36.110.251.74) 4.803 ms * 36.110.246.209 (36.110.246.209) 4.437 ms * 36.110.246.205 (36.110.246.205) 5.469 ms 36.110.251.62 (36.110.251.62) 4.229 ms 36.110.246.197 (36.110.246.197) 4.319 ms * 36.110.251.62 (36.110.251.62) 4.558 ms
10 106.38.212.142 (106.38.212.142) 5.395 ms * * * 106.38.212.146 (106.38.212.146) 6.701 ms 106.38.212.142 (106.38.212.142) 5.386 ms 106.38.212.146 (106.38.212.146) 6.780 ms * * *
11 106.38.212.146 (106.38.212.146) 5.740 ms 6.815 ms 106.38.212.142 (106.38.212.142) 5.414 ms 106.38.212.146 (106.38.212.146) 6.332 ms * 5.726 ms 106.38.212.142 (106.38.212.142) 12.100 ms 106.38.212.146 (106.38.212.146) 5.692 ms 106.38.212.142 (106.38.212.142) 12.156 ms *
12 * * * * * * * * * *
13 * * * * * * * * * *
14 * * * * * * * * * *
15 * * * * * * * * * *
16 * * * * * * * * * *
17 * * * * * * * * * *
18 * * * * * * * * * *
19 * * * * * * * * * *
20 * * * * * * * * * *
21 * * * * * * * * * *
22 * * * * * * * * * *
23 * * * * * * * * * *
24 * * * * * * * * * *
25 * * * * * * * * * *
26 * * * * * * * * * *
27 * * * * * * * * * *
28 * * * * * * * * * *
29 * * * * * * * * * *
30 * * * * * * * * * *
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
route
操纵内核的IP
路由表。它的主要用途是在使用ifconfig(8)
程序对其进行配置后,通过接口设置到特定主机或网络的静态路由
语法:
route [-CFvnNee] [-A family |-4|-6]
route [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
命令参数:
-c 显示更多信息
-n 不解析名字
-v 显示详细的处理信息
-F 显示发送信息
-C 显示路由缓存
-f 清除所有网关入口的路由表。
-p 与 add 命令一起使用时使路由具有永久性。
add:添加一条新路由。
del:删除一条路由。
-net:目标地址是一个网络。
-host:目标地址是一个主机。
使用示例:
# 显示当前路由
[root@iZ2ze5vrnucj8nu52fq932Z ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-2deca97b839e
172.19.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
172.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0c2040b89567
172.21.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-b92e519c7565
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
wget
一个免费实用程序,用于从Web非交互式下载文件。它支持HTTP,HTTPS
和FTP
协议,以及通过HTTP
代理进行检索。
语法:
wget [option]... [URL]...
命令参数:
启动:
-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=FILE Specify config file to use.
下载:
-t, --tries=NUMBER 设置重试次数为 NUMBER (0 代表无限制)。
--retry-connrefused 即使拒绝连接也是重试。
-O, --output-document=FILE 将文档写入 FILE。
-nc, --no-clobber skip downloads that would download to
existing files (overwriting them).
-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=ENC IRI (国际化资源标识符) 使用 ENC 作为本地编码。
--remote-encoding=ENC 使用 ENC 作为默认远程编码。
--unlink remove file before clobber.
目录:
-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 禁用 HTTP keep-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 带有生成 SSL PRNG 的随机数据的文件。
--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 -l inf --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-names use the name specified by the redirection
url last component.
-X, --exclude-directories=LIST 排除目录的列表。
-np, --no-parent 不追溯至父目录。
使用示例:
# 下载某个文件
$wget file_url
vmstat
报告有关进程,内存,页面调度,块IO,陷阱,磁盘和cpu活动的信息。
语法:
vmstat [options] [delay [count]]
命令参数:
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量 。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息
-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
使用示例:
# 显示虚拟内存情况
[root@iZ2ze5vrnucj8nu52fq932Z ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 155472 43428 879460 0 0 7 25 0 1 1 1 98 0 0
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
#表示在3秒时间内进行3次采样。将得到一个数据汇总他能够反映真正的系统情况。
[root@iZ2ze5vrnucj8nu52fq932Z ~]# vmstat 3 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
8 0 0 155224 43536 879680 0 0 7 25 0 1 1 1 98 0 0
0 0 0 155224 43536 879680 0 0 0 0 1786 3820 1 1 98 0 0
0 0 0 155224 43536 879680 0 0 0 1 1828 3886 1 1 98 0 0
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
#查看系统fork多少次
[root@iZ2ze5vrnucj8nu52fq932Z ~]# vmstat -f
11571283 forks
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
#查看内存使用的详细信息
[root@iZ2ze5vrnucj8nu52fq932Z ~]# vmstat -s
1881820 K total memory
806452 K used memory
788052 K active memory
739352 K inactive memory
152076 K free memory
43592 K buffer memory
879700 K swap cache
1049596 K total swap
0 K used swap
1049596 K free swap
52587952 non-nice user cpu ticks
15965 nice user cpu ticks
49502321 system cpu ticks
4902589901 idle cpu ticks
2752333 IO-wait cpu ticks
0 IRQ cpu ticks
173724 softirq cpu ticks
0 stolen cpu ticks
333789070 pages paged in
1276667917 pages paged out
0 pages swapped in
0 pages swapped out
1898552152 interrupts
2446494780 CPU context switches
1642426094 boot time
11571288 forks
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
#查看磁盘的读/写
[root@iZ2ze5vrnucj8nu52fq932Z ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
vda 5139440 188772 667578141 156489893 201803195 81978922 2553336898 664005896 0 53243
[root@iZ2ze5vrnucj8nu52fq932Z ~]#
#查看系统的slab信息
[root@iZ2ze5vrnucj8nu52fq932Z ~]# vmstat -m
Cache Num Total Size Pages
nf_conntrack_149 12 12 320 12
nf_conntrack_148 12 12 320 12
nf_conntrack_147 24 24 320 12
nf_conntrack_146 0 0 320 12
nf_conntrack_1 172 228 320 12
ovl_inode 336 336 680 12
ext4_groupinfo_4k 660 660 136 30
ext4_inode_cache 26225 26832 1024 16
ext4_xattr 92 92 88 46
ext4_free_data 1920 1920 64 64
ext4_allocation_context 32 32 128 32
ext4_io_end 896 952 72 56
ext4_extent_status 6474 13668 40 102
jbd2_journal_handle 85 85 48 85
jbd2_journal_head 1044 1044 112 36
jbd2_revoke_table_s 256 256 16 256
jbd2_revoke_record_s 2816 2816 32 128
ip6_dst_cache 144 144 448 18
RAWv6 78 143 1216 13
UDPLITEv6 0 0 1216 13
UDPv6 13 13 1216 13
tw_sock_TCPv6 112 112 256 16
TCPv6 30 30 2112 15
cfq_queue 0 0 232 17
bsg_cmd 0 0 312 13
mqueue_inode_cache 18 18 896 18
hugetlbfs_inode_cache 13 13 608 13
configfs_dir_cache 46 46 88 46
....
.....
.......
结束语
命令很多,大家不用去背,可以放到便签之类的工具中,用到的时候翻一下就好~
本着把自己知道的都告诉大家,如果本文对您有所帮助,点赞+关注
鼓励一下呗~
Linux相关文章
- 一起来学Linux命令(一)
- 一起来学Linux命令(二)
- 一起来学Linux命令(三)
- 一起来学Linux命令(四)
- 一起来学Linux命令(五)
- 一起来学Linux命令(六)
- 一起来学Linux命令(七)
往期面试题相关文章
- 查漏补缺第一期(Redis相关)
- 查漏补缺第二期(synchronized & 锁升级)
- 查漏补缺第三期(分布式事务相关)
- 查漏补缺第四期(Mysql相关)
- 查漏补缺第五期(HashMap & ConcurrentHashMap)
- 查漏补缺第六期(京东一面)
- 查漏补缺第七期(美团到店一面)
- 查漏补缺第八期(阿里一面)
- 查漏补缺第九期(阿里二面)
- 查漏补缺第十期(网易实习一面)
- 查漏补缺第十一期(网易实习二面)
- 查漏补缺第十二期(网易实习三面)
- 查漏补缺第十三期(滴滴实习一面)
- 查漏补缺第十四期(滴滴实习二面)
- 查漏补缺第十五期(华为一面)
- 查漏补缺第十六期(华为二面)
- 查漏补缺第十七期(华为三面)
- 查漏补缺第十八期(你了解class文件吗)
项目源码(源码已更新 欢迎star⭐️)
- java-interview-all: https://github.com/qiuChengleiy/java-interview-all
往期设计模式相关文章
- 一起来学设计模式之认识设计模式
- 一起来学设计模式之单例模式
- 一起来学设计模式之工厂模式
- 一起来学设计模式之建造者模式
- 一起来学设计模式之原型模式
- 一起来学设计模式之适配器模式
- 一起来学设计模式之桥接模式
- 一起来学设计模式之组合模式
- 一起来学设计模式之装饰器模式
- 一起来学设计模式之外观模式
- 一起来学设计模式之享元模式
- 一起来学设计模式之代理模式
- 一起来学设计模式之责任链模式
- 一起来学设计模式之命令模式
- 一起来学设计模式之解释器模式
- 一起来学设计模式之迭代器模式
- 一起来学设计模式之中介者模式
- 一起来学设计模式之备忘录模式
- 一起来学设计模式之观察者模式
- 一起来学设计模式之状态模式
- 一起来学设计模式之策略模式
- 一起来学设计模式之模板方法模式
- 一起来学设计模式之访问者模式
- 一起来学设计模式之依赖注入模式
设计模式项目源码(源码已更新 欢迎star⭐️)
- java-design-mode-all: https://github.com/qiuChengleiy/java-design-mode-all
Kafka 专题学习
- 一起来学kafka之Kafka集群搭建
- 一起来学kafka之整合SpringBoot基本使用
- 一起来学kafka之整合SpringBoot深入使用(一)
- 一起来学kafka之整合SpringBoot深入使用(二)
- 一起来学kafka之整合SpringBoot深入使用(三)
项目源码(源码已更新 欢迎star⭐️)
- springboot-kafka-all: https://github.com/qiuChengleiy/springboot-kafka-all
ElasticSearch 专题学习
-
利用docker搭建es集群
-
一起来学ElasticSearch(一)
-
一起来学ElasticSearch(二)
-
一起来学ElasticSearch(三)
-
一起来学ElasticSearch(四)
-
一起来学ElasticSearch(五)
-
一起来学ElasticSearch(六)
-
一起来学ElasticSearch(七)
-
一起来学ElasticSearch(八)
-
一起来学ElasticSearch(九)
-
一起来学ElasticSearch(十)
-
一起来学ElasticSearch之整合SpringBoot(一)
-
一起来学ElasticSearch之整合SpringBoot(二)
-
一起来学ElasticSearch之整合SpringBoot(三)
项目源码(源码已更新 欢迎star⭐️)
- springboot-es-all: https://github.com/qiuChengleiy/springboot-es-all
往期并发编程内容推荐
- Java多线程专题之线程与进程概述
- Java多线程专题之线程类和接口入门
- Java多线程专题之进阶学习Thread(含源码分析)
- Java多线程专题之Callable、Future与FutureTask(含源码分析)
- 面试官: 有了解过线程组和线程优先级吗
- 面试官: 说一下线程的生命周期过程
- 面试官: 说一下线程间的通信
- 面试官: 说一下Java的共享内存模型
- 面试官: 有了解过指令重排吗,什么是happens-before
- 面试官: 有了解过volatile关键字吗 说说看
- 面试官: 有了解过Synchronized吗 说说看
- Java多线程专题之Lock锁的使用
- 面试官: 有了解过ReentrantLock的底层实现吗?说说看
- 面试官: 有了解过CAS和原子操作吗?说说看
- Java多线程专题之线程池的基本使用
- 面试官: 有了解过线程池的工作原理吗?说说看
- 面试官: 线程池是如何做到线程复用的?有了解过吗,说说看
- 面试官: 阻塞队列有了解过吗?说说看
- 面试官: 阻塞队列的底层实现有了解过吗? 说说看
- 面试官: 同步容器和并发容器有用过吗? 说说看
- 面试官: CopyOnWrite容器有了解过吗? 说说看
- 面试官: Semaphore在项目中有使用过吗?说说看(源码剖析)
- 面试官: Exchanger在项目中有使用过吗?说说看(源码剖析)
- 面试官: CountDownLatch有了解过吗?说说看(源码剖析)
- 面试官: CyclicBarrier有了解过吗?说说看(源码剖析)
- 面试官: Phaser有了解过吗?说说看
- 面试官: Fork/Join 有了解过吗?说说看(含源码分析)
- 面试官: Stream并行流有了解过吗?说说看
推荐 SpringBoot & SpringCloud (源码已更新 欢迎star⭐️)
-
springboot-all https://github.com/qiuChengleiy/springboot-all.git
-
SpringBoot系列教程合集
-
一起来学SpringCloud合集
-
SpringCloud整合 Oauth2+Gateway+Jwt+Nacos 实现授权码模式的服务认证(一)
-
SpringCloud整合 Oauth2+Gateway+Jwt+Nacos 实现授权码模式的服务认证(二)
博客(阅读体验较佳)
- 我的博客(阅读体验较佳)