Linux 常用命令入门:文件、进程与网络排查
刚接触 Linux 服务器时,面对黑底白字的终端,很多人不知道第一条命令该敲什么。其实日常开发和运维排查,九成工作只靠三类命令:看文件、看进程、看网络。先建立一个排查思路:先定位,再缩小范围,最后动手改。这样既不容易误操作,也更容易找到根因。下面按这三类分别介绍最常用的命令和用法。
一、文件操作:先找到东西在哪
pwd 显示当前目录,ls -lh 按大小和时间列出文件,cd 切换目录,这三个命令每天都会用到。查看文件内容时,小文件用 cat,大文件用 less 翻页查看,按 q 退出;只看开头或结尾用 head -n 20 和 tail -n 50,tail -f 还能实时跟踪日志输出,这是排查服务报错时最常用的组合。
find /var/log -name "*.log" -mtime -1
grep -rn "error" /var/log/app/
上面第一条找出最近一天修改过的日志,第二条在目录里递归查找包含 error 的行,-r 表示递归目录,-n 显示行号。复制、移动和删除分别是 cp、mv、rm,删除务必先确认路径,rm -rf 一定不要对根目录或不确定的通配符使用。
二、进程管理:谁在占用资源
ps aux 列出所有进程,配合管道和 grep 过滤,例如:
ps aux | grep nginx
top
kill 1234
kill -9 1234
ps aux | grep nginx 可以快速确认服务是否在运行;top 能实时看到 CPU 和内存占用最高的进程,按 q 退出,在 top 里按 M 可以按内存排序。找到异常进程后,先用 kill PID 温和终止,等几秒无效再用 kill -9 PID 强制结束。需要让命令在后台持续运行,可以用 nohup 命令 &,输出重定向到日志文件;jobs 和 fg 则用来管理当前会话的后台任务。
三、网络排查:先分清是本机还是远端问题
服务起不来或连不上时,先看端口是否在监听:
ss -tlnp
curl -I https://example.com
ping example.com
traceroute example.com
ss -tlnp 能列出所有监听的 TCP 端口和对应的进程,比旧的 netstat 更直观。确认本机端口正常后,用 curl -I 检查远端服务是否可达,-I 只取响应头,速度快;ping 检查网络连通性,traceroute 追踪数据包经过的每一跳,定位卡在哪一段。域名解析异常时,用 nslookup 或 dig 查看域名解析结果,确认是不是 DNS 的问题。
四、一个完整的排查例子
假设一个 Web 服务突然无法访问,可以按这个顺序走:先用 systemctl status nginx 看服务状态,再用 ss -tlnp | grep 80 确认 80 端口是否在监听;如果端口不在,查看日志 tail -n 100 /var/log/nginx/error.log;如果端口正常但外网不通,再用 curl -I 检查本机访问是否正常,逐步把范围缩小到服务本身、防火墙或网络。排查时每做一步都记录现象,不要同时改多个配置,否则很难判断哪一步起了作用。
结语
把 pwd、ls、cat、tail、grep、ps、top、kill、ss、curl、ping 这十几个命令练熟,再配合管道符 | 和重定向 > 把命令组合起来,就能覆盖日常大部分排查场景。建议在自己的虚拟机或云服务器上边学边练,遇到报错先读报错信息,再查日志,最后再搜索——这个习惯比记住多少命令更重要。
- 点赞
- 收藏
- 关注作者
评论(0)