在 Linux 和类 Unix 系统中,有许多命令可以用来查看和监控操作系统的基本信息、硬件配置和运行状态。这些命令通常用于系统管理、故障排查和性能优化。
系统信息相关命令分类
操作系统和内核信息
这些命令用于查看操作系统的版本、内核版本和主机名等信息。
命令 | 功能 |
---|---|
uname |
显示系统名称和内核信息。 |
hostname |
显示或设置主机名。 |
cat /etc/os-release |
查看操作系统名称和版本(适用于大多数现代 Linux 发行版)。 |
lsb_release |
显示发行版信息(需要安装 lsb-core )。 |
uptime |
查看系统连续运行时间、当前用户数、平均负载。 |
dmesg |
查看系统启动日志(内核环缓冲区日志)。 |
示例用法
-
查看内核版本:
1
uname -r
-
查看操作系统名称和版本:
1
cat /etc/os-release
示例输出:
1
2
3NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu -
查看主机名:
1
hostname
CPU 信息
命令 | 功能 |
---|---|
lscpu |
显示 CPU 体系结构信息(内核数、线程数、频率等)。 |
cat /proc/cpuinfo |
查看详细的 CPU 信息。 |
nproc |
显示当前系统的可用 CPU 核心数量。 |
mpstat |
显示 CPU 使用情况(需要安装 sysstat )。 |
示例用法
-
查看 CPU 的详细信息:
1
cat /proc/cpuinfo
-
查看 CPU 核心数量:
1
lscpu
示例输出:
1
2
3Architecture: x86_64
CPU(s): 8
Model name: Intel(R) Core(TM) i7-9750H
内存信息
命令 | 功能 |
---|---|
free |
查看系统内存和交换分区的使用情况。 |
vmstat |
显示虚拟内存统计信息(需要安装 procps )。 |
cat /proc/meminfo |
查看详细的内存信息。 |
示例用法
-
查看内存使用情况:
1
free -h
示例输出:
1
2
3total used free shared buff/cache available
Mem: 16G 8G 4G 512M 4G 7G
Swap: 2G 1G 1G -
查看详细内存信息:
1
cat /proc/meminfo
磁盘和文件系统信息
命令 | 功能 |
---|---|
df |
查看文件系统的磁盘使用情况。 |
du |
查看指定目录或文件占用的磁盘空间。 |
lsblk |
查看磁盘分区和挂载点信息。 |
blkid |
查看分区的 UUID 和文件系统类型。 |
mount |
查看当前挂载的文件系统。 |
cat /proc/partitions |
查看所有磁盘分区信息。 |
iostat |
显示磁盘 I/O 使用情况(需要安装 sysstat )。 |
示例用法
-
查看磁盘使用情况:
1
df -h
示例输出:
1
2
3Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /
/dev/sdb1 500G 300G 200G 60% /mnt/data -
查看分区信息:
1
lsblk
示例输出:
1
2
3
4
5NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
└─sda1 8:1 0 50G 0 part /
sdb 8:16 0 500G 0 disk
└─sdb1 8:17 0 500G 0 part /mnt/data
网络信息
命令 | 功能 |
---|---|
ip |
查看和配置网络接口信息(推荐替代 ifconfig )。 |
ifconfig |
查看网络接口信息(较旧的工具,现已被 ip 替代)。 |
ping |
测试与目标主机的网络连通性。 |
netstat |
显示网络连接、路由表和端口信息(较旧,推荐替代为 ss )。 |
ss |
显示网络连接状态(推荐替代 netstat )。 |
traceroute |
跟踪数据包到目标主机的路径。 |
nslookup 或 dig |
查询域名的 DNS 信息。 |
示例用法
-
查看网络接口信息:
1
ip addr
-
测试与目标主机的连通性:
1
ping 8.8.8.8
-
查看网络连接状态:
1
ss -tuln
示例输出:
1
2
3State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:3306 *:*
LISTEN 0 128 *:22 *:*
运行时统计信息
命令 | 功能 |
---|---|
top |
实时显示系统当前的运行状态(包括 CPU、内存、任务)。 |
htop |
类似于 top ,但提供更友好的界面(需要安装)。 |
vmstat |
显示系统性能(CPU、内存、IO 等)的统计信息。 |
iostat |
显示 CPU 和磁盘 I/O 使用情况(需要安装 sysstat )。 |
sar |
系统性能监控工具(需要安装 sysstat )。 |
示例用法
-
实时查看系统状态:
1
top
-
详细分析系统性能:
1
vmstat 2 5
示例输出:
1
2
3procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 80000 40000 200000 0 0 1 2 50 200 1 0 98 1
硬件信息
命令 | 功能 |
---|---|
lspci |
列出所有 PCI 设备信息(如显卡、网卡)。 |
lsusb |
列出所有 USB 设备信息。 |
dmidecode |
查看硬件的详细信息(如 BIOS、内存、CPU 等)。 |
hwinfo |
显示硬件信息(可能需要安装)。 |
inxi |
简单易读的硬件信息工具(需要安装)。 |
示例用法
-
列出 PCI 设备:
1
lspci
示例输出:
1
200:00.0 Host bridge: Intel Corporation Device 3e10 (rev 07)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (rev 02) -
列出 USB 设备:
1
lsusb
-
查看 CPU、内存、BIOS 信息:
1
sudo dmidecode
日志信息
命令 | 功能 |
---|---|
journalctl |
查看系统日志(适用于 systemd)。 |
dmesg |
查看内核日志,用于诊断硬件问题。 |
cat /var/log/syslog |
查看系统日志(传统日志文件)。 |
cat /var/log/messages |
查看系统消息日志(某些发行版使用)。 |
示例用法
-
查看最新的系统日志:
1
journalctl -xe
-
查看特定服务的日志:
1
journalctl -u sshd
总结
功能分类 | 常用命令 |
---|---|
操作系统信息 | uname , hostname , cat /etc/os-release , lsb_release |
CPU 信息 | lscpu , cat /proc/cpuinfo , nproc |
内存信息 | free , cat /proc/meminfo , vmstat |
磁盘信息 | df , du , lsblk , blkid |
网络信息 | ip , ifconfig , ss , ping , traceroute |
运行时统计 | top , htop , vmstat , iostat |
硬件信息 | lspci , lsusb , dmidecode , hwinfo |
日志信息 | journalctl , dmesg , /var/log/syslog |
熟练使用这些命令可以帮助有效地管理和监控 Linux 系统的运行状态。