在平时工作中会遇到各种各样的系统问题,作为一个合格的开发或运维人员,需要具备一定的快速查看系统运行状态的能力。
本文分享一下常见且超实用的查看系统状态的检测命令。
ifconfig
ifconfig 命令用于获取网卡配置信息和查看网络状态等信息的命令。
命令格式为 ifconfig [网络设备][参数]
一般使用该命令用于的就是网卡名称、ip配置是否正确、网卡物理地址以及RX、TX的接收数据包与发送数据包的个数及累计流量等信息。
# ifconfig
eth0 Link encap:Ethe.NET HWaddr 00:50:56:0A:0B:0C
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
Interrupt:185 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)
uname
uname (英文全称unix name)命令用于查看系统内核与系统版本等信息。
格式为 uname [-amnrsv][--help][--version]
使用该命令常用命令为 uname -a 来查看当前系统的内核名称、主机名、内核发行版本、节点名、处理器、硬件平台以及操作系统等信息。
# uname -a
linux localhost.localdomAIn 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
另外若想查看当前系统版本的详细信息,可以通过查看 redhat-release 文件获取。
# cat /etc/redhat-release
centos Linux release 7.3.1611 (Core)
uptime
uptime 用于查看系统的负载信息。它显示了当前系统时间、系统已经运行的时间、启用终端数量以及平均负载情况。
# uptime
10:10:42 up 5 days, 19:23, 2 users, load average: 2.16, 2.45, 3.15
free
free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
格式为 free [-bkmotV][-s <间隔秒数>]
有时候系统会因为资源耗尽导致宕机,因此系统管理员要时刻关注系统内存的使用量。
# free
total used free shared buff/cached available
Mem: 254772 184568 70204 9244 5692 25045
Swap: 4063228 0 4063228
history
history 命令用于显示历史记录和执行过的命令。
格式为 history [参数]
该命令很常用,比如当系统出现了问题,想要查看该系统没出现问题之前用户都做了哪些操作,这个时候就可以通过该命令查看记录信息。
# history
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
...
who
who 命令用于查看当前登入主机的用户终端信息,显示的资料包含了使用者 ID、使用的终端机、用户ip、上线时间等等。
命令格式为 who - [husfV] [user]
# who
root pts/1 2021-10-14 18:51 (192.168.1.157)
root pts/2 2021-10-14 19:48 (192.168.1.23)
last
last 命令用于显示用户最近登录信息 。
格式为 last [参数]
# last
root pts/1 192.168.1.23 Mon Oct 25 18:51 still logged in
root pts/0 192.168.1.23 Mon Oct 25 07:23 still logged in
sosreport
在 linux 中,我们可以使用 sosreport 命令来收集系统配置及架构信息并输出到诊断文档,这样当Linux系统出现故障需要联系技术支持人员时,我们可以使用这个命令来简单收集系统的运行状态和服务配置信息,以便后续技术人员方便定位。
# sosreport
sosreport (version 3.0)
This command will collect diagnostic and configuration information from
this Red Hat Enterprise Linux system and installed Applications.
An archive containing the collected information will be generated in
/var/tmp and may be provided to a Red Hat support representative.
Any information provided to Red Hat will be treated in accordance with
the published support policies at:
https://access.redhat.com/support/
The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.
No changes will be made to system configuration.
Press ENTER to continue, or CTRL-C to quit. 此处敲击回车来确认收集信息
Please enter your first initial and last name [ywnz.com]:此处敲击回车,来确认主机名称
Please enter the case number that you are generating this report for:此处敲击回车来确认主机编号
Running plugins. Please wait ...
...