> 文章列表 > ubuntu(20.04)-shell脚本(4)-vmstat-iostat-expr-netstat-arp-Tracert-Route-NBTStat

ubuntu(20.04)-shell脚本(4)-vmstat-iostat-expr-netstat-arp-Tracert-Route-NBTStat

ubuntu(20.04)-shell脚本(4)-vmstat-iostat-expr-netstat-arp-Tracert-Route-NBTStat

               

vmstat 好iostat 两个命令都适用于所有主要的类unix系统、linux的软件包。
都在sysstat软件包中。 

     
1.vmstat  iostat   基本语法

每列的意义:
常用的:

Free – 空闲的内存空间

si – 每秒从磁盘中交换进内存的数据量(以KB为单位)。

so – 每秒从内存中交换出磁盘的数据量(以KB为单位)。

具体的:

建议使用man vmstat 查看具体,vmstat 分模式分字段的,下面是vm模式下的

proc:
​ r:可运行进程的数量(正在运行或等待运行时)。

​ b:不间断睡眠中的进程数。

memory:

​ swpd:使用的虚拟内存量。

​ free:空闲内存量。

​ buff:用作缓冲区的内存量。

​ cache:用作缓存的内存量。

​ inact:非活动内存量。 (-a选项

​ active:活动内存量。 (-a选项)

io:

​ bi:从块设备接收的块(块/ s)。

bo:发送到块设备的块(块/ s)。

system:

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

​ cs:每秒上下文切换次数。

CPU:

​ us:运行非内核代码所花费的时间。 (用户时间,包括美好时光)

​ sy:运行内核代码所花费的时间。 (系统时间)

​ id:空闲时间。 在Linux 2.5.41之前,这包括IO等待时间。

​ wa:等待IO的时间。 在Linux 2.5.41之前,包含在空闲状态。

​ st:从虚拟机中窃取的时间。 在Linux 2.6.11之前,未知。
 

2.vmstat  iostat实例
                                                                       

1. 列出活动和非活动的内存

vmstat -a 

2. 每X秒执行vmstat,共执行N次

vmstat 2 6 每2秒执行一次,执行6次
 

3. 带时间戳的vmstat命令

带-t参数执行vmstat命令,该命令将会在每一行输出后都带一个时间戳

vmstat -t 2 3

4. 统计各种计数器

vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。

vmstat -s

5. 磁盘统计信息

vmstat的-d参数将会输出所有磁盘的统计信息。

#1.运算
[c.biancheng.net]$ expr \\( 2 + 3 \\) \\* 4  #使用 \\ 转义后才是正确的
20[c.biancheng.net]$ m=5
[c.biancheng.net]$ n=`expr $m + 10`
[c.biancheng.net]$ echo $n
15#2.字符串
#2.1、返回字符串长度:expr length  字串
[root@zq-crmtest-20423tmp]# expr length "hello world"
11
#2.2、返回 String1 中包含 String2 中任意字符的第一个位置: expr indexString1 String2
[root@zq-crmtest-20423tmp]# expr index "abc" "b"#2.3、提取字符串的子串:expr substr 内容 起始位置 终点位置,
[root@zq-crmtest-20423tmp]# expr substr "this is a test" 3 5
is is
#2.4、测试两个字符串是否相等$value=hello$expr $value = "hello"1$echo $?0expr返回1

6. 以MB为单位输出统计信息

vmstat的-S和-M参数(大写和MB)将会以MB为单位输出。vmstat默认以KB为单位输出统计信息。

vmstat	-S M 2 3

3.expr

expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具有几个特殊功能,判断变量或参数是否为整数、是否为空、是否为0等。

4.Netstat

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用
于检验本机各端口的网络连接情况。
1.netstat 的一些常用选项
  netstat -s
本选项能够按照各个协议分别显示其统计数据。
  netstat -e
本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数
据报的总字节数、错误数、删除数、数据报的数量和广播的数量。
 netstat -r
本选项可以显示关于路由表的信息,route print
netstat -a
本选项显示一个所有的有效连接信息 列表,包括已建立的连接
(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。
netstat -n
显示所有已建立的有效连接。
下面是 netstat 的输出示例:
C:\\>netstat -e
Interface Statistics
Received Sent
Bytes 3995837940 47224622
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211
C:\\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
C:\\>netstat -s
IP Statistics
Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Mask Replies 0 0
TCP Statistics
Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461
UDP Statistics
Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809

5.ARP

ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地
址。
ARP常用命令选项:
arp -a  -g
用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年
来 -g一直是 UNIX平台上用来显示 ARP高速缓存中所有项目的选项,而
Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接
受比较传统的-g选项。
z arp -a IP
如果我们有多个网卡,那么使用arp -a加上接口的IP地址,就可以只
显示与该接口相关的ARP缓存项目。
z arp -s IP 物理地址
我们可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引
导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自
动更新该项目。
z arp -d IP
使用本命令能够人工删除一个静态项目。

6.Tracert
 

如果有网络连通性问题,可以使用 tracert 命令来检查到达的目
标 IP 地址的路径并记录结果。
tracert 最常见的用法:
tracert IP address [-d]

7.Route
 

当网络上拥有两个或多个路由器时,我们就不一定想只依赖缺
省网关了。
一般使用选项:
route print
route add
 

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 met
ric 5

route change

route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 m
etric 3

8.NBTStat

使用 nbtstat 命令释放和刷新 NetBIOS 名称。
nbtstat -n
显示寄存在本地的名字和服务程序。
nbtstat -c
本命令用于显示NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存
用于寸放与本计算机最近进行通信的其他计算机的NetBIOS名字和IP地址
对。
nbtstat -r
本命令用于清除和重新加载NetBIOS名字高速缓存。
nbtstat -a IP
通过IP显示另一台计算机的物理地址和名字列表,我们所显示的内容
就像对方计算机自己运行nbtstat -n一样。
nbtstat -s IP
显示实用其IP地址的另一台计算机的NetBIOS连接表。

女性知识