Linux 常用系统信息命令速查

Linux 常用系统信息命令速查

整理了Linux 系统信息相关命令。它们不负责改系统,主要负责帮你快速看清服务器当前状态:版本、负载、内存、磁盘、CPU、时间和历史操作。

本文目录

  1. 系统版本与内核信息
  2. 主机名与 IP 地址
  3. 运行时间与系统负载
  4. 内存使用情况
  5. 磁盘空间与目录体积
  6. 实时监控与进程概览
  7. CPU 硬件与核心信息
  8. 块设备与挂载信息
  9. 日期、时间与时区
  10. 历史命令快速复用

1. 系统版本与内核信息

先确认机器跑的是什么系统、什么内核、什么架构。排查兼容性、安装软件包、定位驱动问题时,这是第一步。

1
2
3
4
uname -a # 显示所有系统信息
uname -r # 查看内核版本
uname -m # 查看系统架构
uname -s # 查看内核名称

记住 uname -a 是全量体检,-r 看内核版本;装驱动或排查容器兼容问题时,别只看发行版名称。

2. 主机名与 IP 地址

主机名像服务器的工牌,IP 地址像工位号。多台机器排障时,先确认自己到底登录到了哪一台。

1
2
3
4
hostname
hostname -I # 显示本机 IP 地址
hostnamectl set-hostname new-name # 设置主机名
hostnamectl status # 查看主机名详细状态

hostname -I 常用于快速拿 IP;改主机名建议用 hostnamectl,临时改名和持久改名不要混着用。

3. 运行时间与系统负载

负载均值可以理解为系统门口排队的人数。队伍长期超过 CPU 核心数,就要开始看进程、IO 或内存压力。

1
2
3
4
uptime # 当前时间、运行时间、用户数、负载均值
uptime -p # 人性化显示运行时间
cat /proc/loadavg # 查看 1/5/15 分钟负载
who # 查看当前登录用户

uptime 的 1、5、15 分钟负载要连起来看;只看某一瞬间,很容易把短暂峰值误判成故障。

4. 内存使用情况

内存不是只看 free 那一列,Linux 会把空闲内存拿去做缓存。真正要关注的是 available 是否持续偏低。

1
2
3
4
free -h # 人类可读格式
free -m # 以 MB 为单位
free -g # 以 GB 为单位
free -s 2 # 每 2 秒刷新一次

free -h 最适合人工查看;写脚本时用 -m-g 更稳定,别把 buff/cache 当成完全不可用内存。

5. 磁盘空间与目录体积

df 看分区还剩多少,du 看目录是谁占了空间。一个看大盘,一个查具体嫌疑目录。

1
2
3
4
5
6
df -h # 查看磁盘使用情况
df -T # 显示文件系统类型
df -i # 查看 inode 使用情况
df -h /home # 查看目录所在分区
du -sh * # 查看当前目录下各项大小
du -ah /var/log | sort -rh | head -20 # 找出大文件或目录

磁盘明明没满却写不进去,优先看 df -i;小文件太多会把 inode 用光,这是日志目录常见坑。

6. 实时监控与进程概览

top 像服务器仪表盘,能马上看到 CPU、内存和高消耗进程。htop 更友好,但通常需要额外安装。

1
2
3
4
5
6
top # 实时显示进程
htop # 增强版 top,需要安装
top -o %CPU # 按 CPU 使用率排序
top -o %MEM # 按内存使用率排序
watch -n 2 free -h # 每 2 秒刷新内存信息
watch -d 'ps aux | grep nginx' # 高亮显示变化

top 里按 P 看 CPU、按 M 看内存、按 q 退出;线上别一上来就 kill,先确认进程角色。

7. CPU 硬件与核心信息

看 CPU 信息主要是确认核心数、架构和型号。性能压测、部署线程池、排查架构兼容时都用得上。

1
2
3
4
lscpu # 查看 CPU 汇总信息
cat /proc/cpuinfo # 查看每个核心详细信息
nproc # 输出可用 CPU 核心数
grep 'model name' /proc/cpuinfo | head -1 # 查看 CPU 型号

lscpu 适合快速判断机器规格;容器里看到的核心数可能被限制,压测前要确认运行环境。

8. 块设备与挂载信息

块设备可以理解为系统能看到的硬盘和分区。扩容、挂盘、排查挂载问题时,先从这里看全局。

1
2
3
4
lsblk # 查看块设备树
lsblk -f # 显示文件系统和挂载点
mount | grep '/data' # 查看指定挂载信息
findmnt # 树形查看挂载关系

lsblk -f 能同时看到文件系统和挂载点;新盘格式化、挂载前一定确认设备名,别把系统盘当数据盘。

9. 日期、时间与时区

时间不准会让日志、定时任务、证书校验都变得难排查。服务器时间问题,优先看时区和同步状态。

1
2
3
4
5
6
7
8
date # 当前日期时间
date +"%Y-%m-%d %H:%M:%S" # 自定义格式输出
date -d "+7 days" # 计算 7 天后
date -d "-1 month" # 计算 1 个月前
date +%s # 输出 Unix 时间戳
date -d @1700000000 # 时间戳转日期
timedatectl # 查看时间和时区详情
cal -3 # 显示上月、当月、下月

日志排查时先确认 timedatectl;多机部署如果时间不同步,链路追踪和定时任务都会变得很难读。

10. 历史命令快速复用

历史命令像终端里的回放记录。找旧命令、复用长命令、追踪误操作时都很实用。

1
2
3
4
5
6
history # 显示所有历史命令
history 20 # 查看最近 20 条
!123 # 执行第 123 条历史命令
!! # 执行上一条命令
!sudo # 执行最近以 sudo 开头的命令
Ctrl+R # 反向搜索历史命令

Ctrl+R 是高频神器;但 !123!! 会直接执行命令,线上操作前一定先确认历史内容。