人人都会AI编程

9.3 状态与配置查询命令

更新时间:2026-06-28

本节列出日常运维中最常用的状态查看和配置确认命令,无需修改系统,仅用于信息收集和故障排查。


9.3.1 系统资源状态

查看实时进程与负载

top                    # 交互式进程查看,按P按CPU排序,按M按内存排序
htop                   # 增强版top(需安装),支持鼠标操作和颜色区分
uptime                 # 查看平均负载:1分钟、5分钟、15分钟

查看内存使用

free -h                # -h参数显示人类可读格式(GB/MB)
vmstat 1 5             # 每秒采样1次,共5次,查看内存、IO、CPU综合状态

查看磁盘使用与IO

df -h                  # 查看各分区挂载点及使用率,重点关注Use%超过80%的项
lsblk                  # 查看块设备树状结构,确认磁盘分区关系
iostat -x 1            # 查看磁盘IO详情,%util接近100%说明磁盘饱和

9.3.2 网络状态查询

查看接口配置

ip addr show           # 查看所有网卡IP地址(现代替代ifconfig)
ip link show           # 查看网卡物理状态(UP/DOWN)
ethtool eth0           # 查看网卡速率、双工模式、链路状态(需root)

查看连接与监听端口

ss -tuln               # 查看TCP/UDP监听端口,-n显示数字端口不解析服务名
ss -s                  # 统计连接状态总数(ESTAB、TIME-WAIT等)
netstat -tulnp | grep :80   # 查看占用80端口的进程(需root看PID)

查看路由与连通性

ip route show          # 查看路由表,default via后为主网关
traceroute 8.8.8.8     # 追踪路由路径,排查网络中断点
ping -c 4 <IP>         # 测试连通性,-c指定次数避免无限ping

9.3.3 系统配置信息

查看操作系统与内核

cat /etc/os-release    # 查看系统发行版及版本号(通用)
uname -r               # 查看内核版本
hostnamectl            # 查看主机名、 chassis类型、操作系统信息

查看服务状态

systemctl status sshd  # 查看特定服务状态(running/failed)、最近日志
systemctl list-units --state=failed    # 查看所有启动失败的服务
crontab -l             # 查看当前用户的定时任务
cat /etc/crontab       # 查看系统级定时任务

查看环境变量与限制

env | grep PATH        # 查看PATH环境变量
ulimit -a              # 查看当前用户的资源限制(打开文件数、栈大小等)
cat /proc/sys/fs/file-max   # 查看系统全局文件句柄限制

9.3.4 硬件信息查询

lscpu                  # 查看CPU型号、核心数、架构
cat /proc/meminfo      # 查看详细内存信息(MemTotal、SwapTotal等)
dmidecode -t memory    # 查看物理内存条插槽及容量(需root)
lspci | grep -i vga    # 查看显卡信息
lsusb                  # 查看USB设备列表
smartctl -a /dev/sda   # 查看硬盘SMART健康状态(需smartmontools)

9.3.5 实用组合技巧

快速定位问题

# 查看当前占用CPU最高的5个进程
ps aux --sort=-%cpu | head -6

# 查看指定目录下哪个子目录占用空间最大
du -sh /var/log/* 2>/dev/null | sort -rh | head -5

# 实时查看某日志文件的最后10行并追踪更新
tail -f /var/log/messages | grep "error"

配置变更检查

# 查看最近修改的配置文件(24小时内)
find /etc -type f -mtime -1 -ls

# 对比当前配置与备份差异
diff /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

提示:大部分查询命令普通用户即可执行,但查看所有进程、硬件底层信息或某些网络统计时可能需要sudo权限。生产环境排查建议先执行这些查询命令收集信息,再决定是否需要进一步操作。