前言
很多人学 Linux,是从背命令开始的。但真正到了服务器上,你会发现:不是你会不会命令,而是你在对的时间能不能敲出对的那一个。
线上环境里没有“慢慢试”的机会——服务起不来、端口连不上、CPU 飙高、磁盘被打满,每一次排障都在和时间赛跑。这时候,真正有用的从来不是命令大全,而是一套已经被验证过的排查顺序和使用习惯。
这篇内容不是教程,也不是照着 man 手册罗列指令。 它来自真实服务器运维与后端日常工作流,把 最常用、最容易出问题、最值得形成肌肉记忆的 Linux 命令,按“上线 → 运行 → 排障”的顺序整理成一套指令体系。
一、系统与资源监控(第一时间看这些)
1️⃣ CPU / 内存 / 负载
top # 实时进程(首选)htop # 更友好(需安装)uptime # 系统负载free -h # 内存使用vmstat 1 # 资源变化
看点(架构级):
- load average > CPU 核数 → 压力开始不正常
- 内存没满但 swap 飙升 → JVM / 内存泄漏风险
2️⃣ 磁盘
df -h # 磁盘使用率du -sh * # 当前目录占用lsblk # 磁盘结构
📌线上事故高发点:日志打满磁盘
du -sh /logs/*
3️⃣ 网络
ip a # 网卡信息ss -lntp # 端口监听(替代 netstat)ping # 网络连通性
二、文件与目录(运维 + 开发必用)
4️⃣ 文件操作
ls -lhcd /pathcp -r a bmv a brm -rf dir
⚠️ 生产环境:
rm -rf /* # 永远别敲
5️⃣ 查找 / 搜索(排错神器)
find / -name "*.log"grep "ERROR" app.loggrep -rn "Exception" .
组合用法:
ps -ef | grep java
三、进程与服务(Java / 中间件重点)
6️⃣ 进程管理
ps -ef | grep javakill -9 PIDpkill java
📌建议:
7️⃣ systemd 服务
systemctl status nginxsystemctl start nginxsystemctl stop nginxsystemctl restart nginxsystemctl enable nginx
一句话总结(端口+ 进程 )
端口 → 用 ss / lsof进程 → 用 ps
那 ps -ef | grep 什么时候才“正确”?
它只适合做这些事:
ps -ef | grep javaps -ef | grep nginxps -ef | grep app.jar
给你一个运维级标准排查顺序
「服务起不来 / 端口连不上」
Step 1:端口是否被占用
ss -lntp | grep 8282
Step 2:谁占的
→ 直接得到 PID
Step 3:是不是你自己的服务
ps -fp PID
Step 4:是否需要优雅关闭
kill -15 PID
四、日志排查(线上最常用)
8️⃣ 实时看日志
tail -f app.logtail -n 200 app.log
9️⃣ 按条件分析
grep ERROR app.loggrep -C 5 ERROR app.log
定位异常时间段:
grep "2026-01-18" app.log
五、网络 / 端口 / 防火墙
🔟 端口是否被占用
ss -lntp | grep 8080lsof -i:8080
1️⃣1️⃣ 防火墙
firewall-cmd --list-portsfirewall-cmd --add-port=8080/tcp --permanentfirewall-cmd --reload
六、压缩 / 传输(部署必用)
1️⃣2️⃣ 压缩解压
tar -zcvf app.tar.gz app/tar -zxvf app.tar.gz
1️⃣3️⃣ 上传 / 下载
scp app.jar root@ip:/opt/app/rsync -av src/ dest/
七、权限与用户(安全相关)
1️⃣4️⃣ 权限
chmod 755 app.shchown root:root app.sh
1️⃣5️⃣ 用户
whoamiid usersu - user
八、Java 后端专项(你一定会用到)
1️⃣6️⃣ Java 进程
jps -ljstack PIDjmap -heap PID
📌 排查:
1️⃣7️⃣ 启动 Jar(推荐方式)
nohup java -jar app.jar > app.log 2>&1 &
九、运维常用组合命令(高手习惯)
df -h | grep /devps -ef | grep java | grep -v greptail -f app.log | grep ERROR
十、上线 / 排障标准流程(建议你记住)
1️⃣top → 看负载2️⃣free -h → 看内存3️⃣df -h → 看磁盘4️⃣ss -lntp → 看端口5️⃣tail -f → 看日志
这是真实生产排障顺序。
进阶建议(非常重要)
如果你长期跑服务,我建议你下一步一定掌握:
awk / sedcrontabulimitjournalctltcpdump