本节列出日常运维中最常用的状态查看和配置确认命令,无需修改系统,仅用于信息收集和故障排查。
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权限。生产环境排查建议先执行这些查询命令收集信息,再决定是否需要进一步操作。