[RHEL]-7-常用系统状态检测命令

引言

这篇文章介绍RHEL中最常用的几个系统状态检测命令,包括:网络状态、内存、主机名及其架构、系统负载及其用户登录状态等。

文章目录

0×1.查看网络状态

RHEL6以前系统中最常用的查看网络状态的命令就是ifconfig,下面是这个命令的一些基本用法举例:

					[root@qingsword.com ~]# ifconfig
					#eno16777736为网卡的标识名称,inet后是这块网卡的IP地址,子网掩码,广播地址
					eno16777736:  ..省略部分输出
					  inet 192.168.1.106  netmask 255.255.255.0  broadcast 192.168.1.255
					  ..省略部分输出
					  #ether后是这块网卡的MAC地址
					  ether 00:0c:29:78:31:59  txqueuelen 1000  (Ethernet)
					  #RX packets为这块网卡接收到的数据量
					  RX packets 13099  bytes 14064504 (13.4 MiB)
					  RX errors 0  dropped 0  overruns 0  frame 0
					  #TX packets为这块网卡发送的数据量
					  TX packets 1646  bytes 168262 (164.3 KiB)
					  TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
					
					#系统默认的环回接口
					lo: flags=73 ..省略部分输出
					

在RHEL6之前的版本中,有线网卡的网卡号一般为"eth"开头,无线网卡号一般为"wlan"开头,而RHEL7之后的版本中,"en" 前缀代表以太网,"wl"前缀代表无线网卡,"vir" 前缀代表虚拟接口。

ifconfig不仅能用来查看网卡信息,还能用来停用或启用网卡,给网卡配置临时的IP地址(重启失效);
请参考[[Linux实用命令]-12-网络配置浅析]

在RHEL7以上版本中,官方推荐使用ip命令查看和配置网络接口信息,下面是一些常用的ip命令举例;

● 查看IP地址及网卡信息(同ifconfig):

					#可以简写成ip a
					[root@qingsword.com ~]# ip addr
					1: lo: <LOOPBACK,UP,LOWER_UP>
					    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
					    inet 127.0.0.1/8 scope host lo
					       valid_lft forever preferred_lft forever
					    inet6 ::1/128 scope host 
					       valid_lft forever preferred_lft forever
					2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP>
					   #MAC地址
					    link/ether 00:0c:29:78:31:59 brd ff:ff:ff:ff:ff:ff
					   #inet IP/子网掩码 brd 广播地址
					    inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic eno16777736
					       valid_lft 4333sec preferred_lft 4333sec
					    inet6 fe80::20c:29ff:fe78:3159/64 scope

					#单独查看一块网卡
					[root@qingsword.com ~]# ip addr show eno16777736
					2: eno16777736: 
					 ink/ether 00:0c:29:78:31:59 brd ff:ff:ff:ff:ff:ff
					 inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic eno16777736
					 valid_lft 6655sec preferred_lft 6655sec
					 inet6 fe80::20c:29ff:fe78:3159/64 scope link 
					  valid_lft forever preferred_lft forever
					

● 查看网卡的接口数据收发统计信息(比ifconfig更详细)

					[root@qingsword.com ~]# ip -s link
					1: lo: 
					 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
					 RX: bytes  packets  errors  dropped overrun mcast   
					 980        10       0       0       0       0      
					 X: bytes  packets  errors  dropped carrier collsns 
					 980        10       0       0       0       0      
					2: eno16777736: 
					 link/ether 00:0c:29:78:31:59 brd ff:ff:ff:ff:ff:ff
					 #接收到的数据包统计
					 RX: bytes  packets  errors  dropped overrun mcast   
					 9393834    6644     0       0       0       0    
					 #发送出的数据包统计  
					 TX: bytes  packets  errors  dropped carrier collsns 
					 87120      1123     0       0       0       0 

					#单独查看一块网卡的数据统计信息
					[root@qingsword.com ~]# ip -s link show eno16777736
					

● 显示系统路由表,添加删除路由条目:

					#显示当前路由表,第一条为默认路由,第二条为局域网路由
					[root@qingsword.com ~]# ip route show
					default via 192.168.1.1 dev eno16777736  proto static  metric 1024 
					192.168.1.0/24 dev eno16777736  proto kernel  scope link  src 192.168.1.106
					
					##删除路由条目
					#删除默认路由
					[root@qingsword.com ~]# ip route del default via 192.168.1.1

					#删除普通路由
					[root@qingsword.com ~]# ip route del 192.168.1.0/24

					##添加路由条目
					#添加一条默认路由(未知网段的数据发往192.168.1.1,设备号为eno16777736)
					[root@qingsword.com ~]# ip route add default via 192.168.1.1 dev eno16777736

					#添加一条普通路由(发往192.168.2.0/24网段的数据发往192.168.1.1,设备号为eno16777736)
					[root@qingsword.com ~]# ip route add 192.168.2.0/24 via 192.168.1.1 dev eno16777736
					

● 查看ARP列表,绑定与删除ARP

					#查看本地ARP缓存,命令可简写成ip nei
					[root@qingsword.com ~]# ip neighbor
					192.168.1.1 dev eno16777736 lladdr ec:26:ca:01:e3:c2 DELAY
					
					#添加静态ARP绑定
					[root@qingsword.com ~]# ip nei add 192.168.1.23 lladdr 11:11:11:11:11:11 dev eno16777736 nud perm

					[root@qingsword.com ~]# ip nei
					192.168.1.23 dev eno16777736 lladdr 11:11:11:11:11:11 PERMANENT
					192.168.1.1 dev eno16777736 lladdr ec:26:ca:01:e3:c2 REACHABLE

					#删除ARP条目(必须指定IP与对应的网卡地址)
					[root@qingsword.com ~]# ip nei del 192.168.1.23 dev eno16777736
					

0×2.使用uname查看系统版本

当我们需要下载安装一些软件的时候,可能需要先了解自己系统的构架以及内核信息等,这个时候就可以用到uname命令,例如:

					#这条命令只需要看下面注释的三个部分即可
					[root@qingsword.com ~]# uname -a
					Linux qingsword.com(机器名称) 3.10.0-123.el7(内核版本) .x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64(64位系统) GNU/Linux

					#除此之外,如果想查看RHEL的版本信息,可以查看下面这个文件中的内容
					[root@qingsword.com ~]# more /etc/redhat-release 
					Red Hat Enterprise Linux Server release 7.0 (Maipo)
					

0×3.使用uptime命令查看系统负载

系统负载除了可以使用top命令查看外,uptime命令能够将top命令输出中的第一行单独打印出来:

					[root@qingsword.com ~]# uptime
 					00:51:25 up 9 min,  2 users,  load average: 0.02, 0.52, 0.49
					

0×4.使用free命令查看内存

free命令能够将top命令输出中的4,5行单独的显示出来:

					#默认以K为单位
					[root@qingsword.com ~]# free 
					             total       used       free     shared    buffers     cached
					Mem:       1870784    1069868     800916       9836        924     279848
					-/+ buffers/cache:     789096    1081688
					Swap:            0          0          0

					#以M为单位
					[root@qingsword.com ~]# free -m
					             total       used       free     shared    buffers     cached
					Mem:          1826       1044        782          9          0        273
					-/+ buffers/cache:        770       1056
					Swap:            0          0          0

					#人性化输出
					[root@qingsword.com ~]# free -h
					             total       used       free     shared    buffers     cached
					Mem:          1.8G       1.0G       781M       9.6M       924K       273M
					-/+ buffers/cache:       771M       1.0G
					Swap:           0B         0B         0B
					

0×5.查看登录终端记录

who命令可以查看当前登录的用户,last可以查看登录的历史记录:

					#本例中:0为root登录的图形界面,pts/0为图形界面中打开的一个shell窗口
					[root@qingsword.com ~]# who
					root  :0  2016-11-14 00:43 (:0)
					root  pts/0  2016-11-14 00:45 (:0)

					#使用last命令可以查看所有系统的登入记录,这些记录是保存在文件中的,命令只是查看了文件中的内容,文件内容是可以被篡改的,所以用这条命令来判断系统有没有被非法登录过并不可取
					[root@qingsword.com ~]# last
					root  pts/0 :0  Mon Nov 14 00:45 still logged in
					

0×6.查看当前用户历史命令

history命令可以用于查看当前用户输入过的历史命令列表,并可以直接从历史列表中取出某条命令执行:

					#查看历史命令列表中的最后三条记录
					[root@qingsword.com ~]# history | tail -n 3
					  154  history
					  155  who
					  156  history | tail -n 3

					#重新执行第155条命令
					[root@qingsword.com ~]# !155
					who
					root     :0       2016-11-14 00:43 (:0)
					root     pts/0    2016-11-14 00:45 (:0)

					#历史命令记录最多可以保存的条目数量是/etc/profile文件中的HISTSIZE变量决定的,我的系统中最多为1000条
					[root@qingsword.com ~]# more /etc/profile | grep HISTSIZE=
					HISTSIZE=1000

					#暂时清空历史命令记录(重启后失效)
					[root@qingsword.com ~]# history -c

					#要想真正清空当前用户的命令历史记录,需要清空当前用户家目录中的.bash_history文件中的所有数据
					[root@qingsword.com ~]# vim ~/.bash_history
					1000dd
					:wq
					

0×7.使用sosreport命令生成诊断包

当我们遇到解决不了的问题时,红帽提供了一个sosreport命令用于收集并生成诊断消息,将收集到的诊断信息(一个压缩包)发送给红帽公司,他们会根据这个压缩包中提供的内容来判断问题的根源,将解决方案发送给你(收费服务):

					#直接在终端中输入命令,默认三个回车后,开始收集系统信息
					[root@qingsword.com ~]# sosreport
					Your sosreport has been generated and saved in:
					#最后会生成一个tar归档,将这个压缩包发送给红帽技术支持即可
 					 /var/tmp/sosreport-qingsword.com-20161114012652.tar.xz