linux运维应掌握高频实用命令:查系统状态用top、free-h、df-ht、uptime;查日志用journalctl、tail-grep、grep-r、dmesg-t;文件权限用ls-l、chown-r、find-delete、stat;网络诊断用ping、telnet/nc、ss-tuln、systemctl-status。

Linux 运维命令不是背出来的,是用出来的。 掌握一批高频、稳定、组合性强的命令,比记一百个冷门参数更实用。下面按实际工作场景分类整理,每条都附真实可用的示例,不堆砌参数,只讲关键用法。
查系统状态:快速定位资源瓶颈
运维第一反应不是重启,而是看「现在到底怎么了」:
- top — 实时看 CPU、内存、负载、进程排序(按 P 降序 CPU,M 降序内存,1 显示所有 CPU 核心)
- free -h — 看内存使用,重点关注 available 列(真正可用内存),不是 free
- df -hT — 查磁盘空间和文件系统类型,-T 能帮你发现是不是误挂了 ext4 的盘到 xfs 目录下
- uptime — 一眼看出系统运行时长和平均负载(如 load average: 0.45, 0.62, 0.78,数值 > CPU 核数需警惕)
查日志与排错:精准缩小问题范围
别用 cat 从头翻日志,效率低还容易漏重点:
- journalctl -u nginx.service -n 50 -f — 查 nginx 最近 50 行日志并实时跟踪(-f = follow)
- tail -n 100 /var/log/syslog | grep "Failed" — 快速筛选失败记录
- grep -r "Connection refused" /var/log/nginx/ --include="*.log" — 在整个 nginx 日志目录递归搜索错误关键词
- dmesg -T | tail -30 — 查最近内核级报错(如硬盘掉线、OOM killer 杀进程),-T 加上时间戳更易读
文件与权限管理:安全又省事的操作习惯
运维常在「改配置 → 重启服务 → 不生效」循环中浪费时间,多数因权限或路径出错:
- ls -l /etc/nginx/nginx.conf — 先确认属主是 root:root,权限是 644;若被改成 777,nginx 启动会直接拒绝
- chown -R www-data:www-data /var/www/html/ — 网站目录批量改属主(注意 -R 递归,别漏掉)
- find /tmp -type f -name "*.log" -mtime +7 -delete — 清理 7 天前的临时日志,加 -delete 前建议先用 -print 测试匹配结果
- stat /etc/passwd — 查文件详细属性(修改时间、inode、SELinux 上下文等),比 ls 更全面
网络与服务诊断:从连不通到服务稳
用户说“网站打不开”,先分层验证:
- ping -c 3 8.8.8.8 — 看服务器能否出网(排除本地网络故障)
- telnet example.com 443 或 nc -zv example.com 443 — 测试目标端口是否可达(比 ping 更准,绕过 ICMP 屏蔽)
- ss -tuln | grep :80 — 确认 nginx/apache 是否真在监听 80 端口(比 netstat 更快,-t TCP, -u UDP, -l listening, -n 不解析域名)
- systemctl status sshd — 查服务状态、启动失败原因(看 Active: active (running) 还是 failed,下方有报错摘要)










