在日常运维、排障、性能优化或系统审计中,我们常常需要了解 Linux 系统的详细信息,包括内核版本、硬件配置、内存、磁盘、网络状态、进程负载等。掌握这些信息命令,不仅能让你看清系统运行的“全貌”,更是成为 Linux 高手的必备技能。
一、查看基本系统信息
1. uname:显示内核信息
uname -a
- -a:显示所有信息,包括内核名称、主机名、内核版本、系统架构等。
适用场景:快速了解当前系统内核和架构,常用于排查内核相关兼容性问题。
2. hostname:查看或设置主机名
hostname
hostnamectl
- hostnamectl 提供了更丰富的信息,包括操作系统、内核、架构。
适用场景:查看系统标识、自动化脚本中识别主机身份等。
3. uptime:查看系统运行时间与负载
uptime
含义说明:
- 系统运行时间
- 登录用户数量
- 最近 1、5、15 分钟的负载平均值
适用场景:评估系统稳定性、判断是否长期运行、负载监控。
4. who / w / users:查看当前登录用户
who
w
users
- w 显示更详细信息,包括用户启动的进程、运行时间、CPU 使用情况。
二、硬件信息查看
1. lscpu:查看 CPU 信息
lscpu
- 显示架构、核心数、线程数、虚拟化支持等。
- 适用于系统容量评估、CPU 异常排查。
2. lsblk:查看磁盘分区和挂载情况
lsblk
- 图形树状结构显示磁盘和分区状态。
- 加上 -f 显示文件系统类型。
3. lshw:查看详细硬件信息(需 root)
sudo lshw -short
- 可查看内存、CPU、主板、网络、存储等信息。
- 强大但输出繁多,推荐定向使用,如查看内存:
sudo lshw -class memory
4. dmidecode:获取 BIOS 和硬件固件信息 sudo dmidecode
- 用于查看制造商、固件版本、序列号等,常用于服务器资产管理。
5. free:查看内存使用情况
free -h
- -h:以人类可读格式显示(如 MB、GB)
6. top / htop:查看实时系统负载 top
htop
- htop 更直观,但需安装(sudo apt install htop)
- 包括 CPU、内存占用、进程状态、负载趋势等。
三、磁盘与文件系统信息
1. df:查看磁盘空间使用情况
df -h
- 显示每个挂载点的空间使用量及剩余空间。
- -h:以 GB、MB 格式显示
2. du:查看目录或文件的大小
du -sh /var/log
- 常用于定位占用空间较大的目录。
- -s 仅显示总和,-h 为人类可读。
3. mount / findmnt:查看挂载点信息
mount | column -t
findmnt
- findmnt 支持 JSON 输出、过滤等高级用法。
4. blkid:查看磁盘 UUID 和文件系统类型
sudo blkid
- 常用于编辑 /etc/fstab 文件进行开机自动挂载。
四、内核和模块信息
1. dmesg:查看内核启动和驱动信息
dmesg | less
- 支持 grep 过滤,如查看网络驱动加载情况:
dmesg | grep eth
2. lsmod / modinfo:查看内核模块 lsmod
modinfo e1000e
- lsmod 列出当前已加载模块;
- modinfo 查看某模块详细信息。
五、网络信息查看
1. ip a / ifconfig:查看网络接口和 IP 地址
ip a
- ifconfig 为旧命令,推荐用 ip 命令集。
2. ip r / route:查看路由信息
ip route
- 输出网关、默认路由、接口信息。
3. ss / netstat:查看网络连接和监听端口
ss -tuln
- -tuln:显示 TCP/UDP、监听端口、不解析主机名
- ss 是 netstat 的替代品,性能更好。
4. ethtool / mii-tool:查看网卡硬件状态
sudo ethtool eth0
- 查看速率、全双工、链路状态等。
六、进程与资源管理
1. ps:查看进程列表
ps aux | grep nginx
- a 所有用户,u 显示用户,x 显示后台任务
2. pidstat / mpstat(sysstat 套件)
pidstat -u 1
mpstat 1
- 实时 CPU 使用分析,按 PID 和核查看
3. vmstat:内存/IO/进程统计
vmstat 1 5
- 综合分析系统瓶颈常用工具
4. iostat:查看磁盘 I/O 性能
iostat -dx 1
- -d 显示设备,-x 扩展统计,1 秒刷新
七、系统信息一站式查看工具
1. neofetch:终端美化系统信息
neofetch
- 极具视觉冲击力,可展示系统、主题、桌面环境等。
2. inxi:全方位系统信息查询(需安装)
inxi -Fxz
- 非常适合提供系统硬件环境支持信息
八、系统信息汇总脚本(实战)
你可以将以下命令组合成一个 Shell 脚本,一次性查看关键系统信息:
#!/bin/bash
echo "== 系统信息 =="
uname -a
hostnamectl
echo "== CPU 信息 =="
lscpu
echo "== 内存信息 =="
free -h
echo "== 磁盘信息 =="
lsblk
df -h
echo "== 网络信息 =="
ip a
ip route
echo "== 当前用户 =="
w
echo "== 系统负载 =="
uptime
top -b -n 1 | head -n 10
命令速查表
功能类别 | 命令集 |
基本信息 | uname、hostname、uptime |
用户登录 | who、w、users |
CPU/内存 | lscpu、free、top |
磁盘信息 | lsblk、df、du、mount |
硬件设备 | lshw、dmidecode |
网络状态 | ip、ss、ethtool |
内核模块 | dmesg、lsmod |
美观展示 | neofetch、inxi |
掌握这些命令并不是终点,而是通往深入理解 Linux 系统的起点。无论是自动化脚本、性能调优、故障排查,还是架构设计,对系统信息的全面了解永远是基础。建议你将本文加入收藏,结合实践操作,慢慢形成自己的系统信息获取方法论。