1. 介绍
巡检是系统管理中一项重要的任务,通过对系统进行巡检,可以及时发现和解决潜在的问题,保证系统的正常运行。Linux系统提供了一些强大而且精准的巡检命令,可以帮助管理员快速、准确地对系统进行检查。本文将介绍十个常用的Linux巡检命令,帮助读者掌握这些命令,提高系统巡检的效率和准确性。
2. uname -a
这个命令用于显示系统的详细信息,包括Linux内核版本、主机名、操作系统等。它可以帮助管理员了解当前系统的基本情况。
uname -a
示例输出:
Linux example.com 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
在巡检过程中,可以使用此命令来验证系统的基本信息是否与预期相同。
3. df -h
df命令用于显示文件系统的磁盘空间使用情况。使用 -h 参数可以将磁盘空间的大小以人类可读的格式显示。
df -h
示例输出:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 10G 10G 50% /
在巡检中,df命令可以帮助管理员快速了解当前文件系统的磁盘空间使用情况,及时发现空间不足的情况。
4. top
top命令用于实时查看系统的运行情况,包括CPU占用率、内存占用率、进程信息等。通过top命令可以快速了解系统的性能状况。
top
示例输出:
top - 14:00:01 up 1:30, 1 user, load average: 0.05, 0.15, 0.10
Tasks: 191 total, 1 running, 190 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.3 us, 0.3 sy, 0.0 ni, 98.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3867.8 total, 105.4 free, 1739.3 used, 2023.2 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1974.3 avail Mem
top命令在巡检中可以帮助管理员监控系统的负载情况和资源消耗情况,及时发现并解决性能问题。
5. ps -ef
ps命令用于显示当前系统的进程列表,-ef 参数可以显示所有进程的详细信息。
ps -ef
示例输出:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 14:00 ? 00:00:01 /sbin/init
root 2 0 0 14:00 ? 00:00:00 [kthreadd]
root 3 2 0 14:00 ? 00:00:00 [kworker/0:0]
root 4 2 0 14:00 ? 00:00:00 [kworker/0:0H]
通过ps命令可以了解当前系统的进程情况,查找异常进程并进行处理。
6. netstat -tunlp
netstat命令用于显示网络连接和网络统计信息。-tunlp参数可以显示TCP、UDP和Unix域套接字的连接信息,并显示每个连接对应的进程。
netstat -tunlp
示例输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 980/sshd
tcp6 0 0 :::22 :::* LISTEN 980/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 647/dhclient
udp 0 0 0.0.0.0:123 0.0.0.0:* 620/ntpd
udp6 0 0 :::123 :::* 620/ntpd
通过netstat命令可以查看当前系统的网络连接情况和进程对应关系,在巡检时可以帮助管理员发现异常连接。
7. ifconfig
ifconfig命令用于显示和配置网络接口的信息。通过ifconfig命令可以查看当前系统的网络接口情况。
ifconfig
示例输出:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe8a:20e2 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:8a:20:e2 txqueuelen 1000 (Ethernet)
RX packets 14184 bytes 16760353 (16.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16165 bytes 2288983 (2.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在巡检中,ifconfig命令可以帮助管理员了解系统的网络接口配置和状态,查找和解决网络问题。
8. free -h
free命令用于显示系统的内存使用情况。-h参数可以将内存的大小以人类可读的格式显示。
free -h
示例输出:
total used free shared buff/cache available
Mem: 3.8G 1.7G 105M 584M 2.0G 1.8G
Swap: 0B 0B 0B
在巡检中,free命令可以帮助管理员了解当前系统的内存使用情况,及时发现内存不足的情况。
9. dmesg
dmesg命令用于显示系统的启动信息和内核日志。通过dmesg命令可以查看系统的启动过程和运行状况。
dmesg
示例输出:
[ 0.000000] Linux version 4.15.0-45-generic (buildd@lgw01-amd64-027) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 (Ubuntu 4.15.0-45.48-generic 4.15.18)
在巡检中,dmesg命令可以帮助管理员了解系统的启动情况和运行状态,查找和解决启动和运行问题。
10. systemctl status
systemctl命令用于管理系统服务。status参数可以显示指定服务的状态信息。
systemctl status serviceName
示例输出:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Thu 2019-02-14 15:00:00 CST; 1h ago
Main PID: 1234 (apache2)
Tasks: 55 (limit: 1152)
CGroup: /system.slice/apache2.service
├─1234 /usr/sbin/apache2 -k start
├─5678 /usr/sbin/apache2 -k start
└─9012 /usr/sbin/apache2 -k start
Feb 14 15:00:00 example.com systemd[1]: Starting The Apache HTTP Server...
Feb 14 15:00:00 example.com systemd[1]: Started The Apache HTTP Server.
在巡检过程中,systemctl命令可以帮助管理员查看系统服务的状态,以及查找并解决服务相关的问题。
总结
本文介绍了十个常用的Linux巡检命令,包括uname、df、top、ps、netstat、ifconfig、free、dmesg和systemctl。这些命令可以帮助管理员全面了解系统的运行情况,发现和解决潜在的问题。在实际的巡检中,可以根据具体需求和情况灵活运用这些命令,提高系统巡检的效率和准确性。