Linux 服务器常用运维命令整理

Linux 服务器运维工作中,命令行是我们最亲密的伙伴。无论排查故障、性能监控、日志分析、批量操作还是日常维护,熟练掌握一套核心命令能让工作效率提升数倍。本文整理了2025-2026年生产环境中真正高频使用的运维命令,按实际使用场景分类,侧重实用性而非罗列全部参数。适合中高级运维、SRE、DevOps工程师阅读参考。建议做成个人备忘录或Notion页面,遇到问题时快速翻阅。

一、系统状态与快速概览(每天必看)

这些命令用于“一键”了解服务器当前健康状况。

  • uptime / w / who 最快查看负载、登录用户、系统运行时间。负载平均值 / 核心数 > 1.5 时需警惕。
  • top / htop / glances 实时监控神器。htop 比 top 更友好(F2 设置、F6 排序、F9 kill),glances 一屏看 CPU/内存/IO/网络/进程/磁盘全貌。
  • vmstat 1 5 / sar -u 1 5 vmstat 看 CPU(us/sy/id/wa)、内存换页(si/so)、上下文切换(cs)。sar 需 sysstat 包,提供历史数据。
  • free -h / cat /proc/meminfo 关注 available 而非 free(缓存可回收)。当 available < 10% 物理内存时,内存压力已很大。

二、进程与服务管理(排查卡顿/高负载必备)

  • ps aux / ps -ef 基础查看所有进程。结合 grep 快速定位:ps aux | grep java
  • systemctl status/start/stop/restart/enable/disable 服务名 systemd 时代管理服务的标准方式。systemctl --failed 查看启动失败的服务。
  • journalctl -u 服务名 -xe / journalctl -f 查看服务实时日志。-xe 显示最近错误,-f 尾随跟踪。
  • pstree -p / pgrep / pkill pstree 显示进程树,pgrep 按名字找 PID,pkill 按名字杀进程。
  • kill -9 PID vs kill -15 PID -15(TERM)优雅退出,-9(KILL)强制杀死。优先用 -15。

三、磁盘与文件系统(磁盘满告警第一响应)

  • df -h / df -i 查看磁盘使用率和 inode 使用率。inode 满会导致“磁盘没满却无法创建文件”。
  • du -sh /* / du -sh /var/ 快速定位哪个目录吃空间。常用组合:du -sh /var/* | sort -hr
  • find / -type f -size +100M 找出大于 100MB 的文件。
  • ncdu(需安装) 交互式磁盘占用分析神器,像文件管理器一样浏览删除。
  • lsof +L1 / lsof -i :端口 查看被删除但仍占用空间的文件(+L1 表示链接数为 0)。lsof 还能看端口占用进程。

四、网络排查(连不上/慢/丢包必备)

  • ip a / ip route / ss -tuln 现代替代 ifconfig/netstat。ss 查看监听端口和服务。
  • ping / mtr / traceroute mtr 结合 ping + traceroute,实时显示每跳丢包和延迟。
  • tcpdump -i eth0 port 80 -nn 抓包神器。常用:tcpdump -i any host 1.2.3.4 看特定 IP 流量。
  • netstat -s / sar -n DEV 1 5 查看网络错误统计、吞吐量。
  • curl -v / wget 测试 HTTP/HTTPS 连通性、响应头、证书问题。

五、日志分析(故障定位第一步)

  • tail -f /var/log/messages / tail -n 100 app.log 实时跟踪日志。
  • grep -i error /var/log/ -R* / zgrep 搜索日志。zgrep 用于 .gz 压缩日志。
  • journalctl -u nginx --since "1 hour ago" -p err systemd 日志按服务、时间、级别过滤。
  • less +F 文件 像 tail -f 一样实时查看,按 Ctrl+C 暂停,Shift+F 继续。

六、性能与资源监控(高级排查)

  • iostat -x 1 5 磁盘 IO 神器。%util > 80%、await > 10ms(SSD)表示 IO 瓶颈。
  • iotop -o 实时看哪个进程在狂读写磁盘。
  • mpstat -P ALL 1 5 每核 CPU 使用率,判断是否单核跑满。
  • pidstat -u 1 / pidstat -d 1 进程级 CPU / IO 统计。
  • perf top / strace -p PID perf 看热点函数,strace 看进程卡在哪个系统调用。

七、批量操作与安全相关

  • rsync -avz --delete src/ dst/ 同步文件神器,支持增量、删除、压缩。
  • ssh-keygen + ssh-copy-id 配置免密登录。
  • chmod +x script.sh / chown -R user:group dir 权限修改最常用。
  • crontab -e / systemctl list-timers 查看定时任务。
  • fail2ban-client status sshd 检查暴力破解防护状态。

八、包管理与系统更新

  • dnf / apt / yum 不同发行版不同,但核心操作一致:update、install、remove、search。
  • unattended-upgrades(Ubuntu) / dnf-automatic(RHEL系) 开启自动安全更新。

九、快速诊断组合拳(推荐做成 alias)

Bash
# 一键概览
alias syscheck='uptime; free -h; df -h; iostat -x 1 3 | tail -n +3'

# 找大文件
alias bigfile='find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -hr'

# 实时日志
alias logtail='tail -f /var/log/{messages,secure,nginx/error.log,app.log}'

结语

真正优秀的运维工程师,不是记住所有命令参数,而是:

  1. 遇到问题时知道“先看什么指标”
  2. 知道用哪几个命令快速定位方向
  3. 熟练组合使用,形成自己的诊断流程

推荐日常养成习惯:

  • 每天登录先跑 uptime; free -h; df -h
  • 告警时先看 top/htop、iostat、journalctl
  • 空间问题先 du -sh /* + ncdu
  • 网络问题先 mtr + ss -tuln + tcpdump

把这些命令内化成肌肉记忆,你的故障定位速度会比别人快 2-3 倍。

欢迎在评论区补充你日常最离不开的“冷门但好用”命令,或者分享你的“一键诊断脚本”,我们一起完善这份运维武器库。

THE END