Linux 常用命令实战:文件、进程与日志,一篇上手
刚接触 Linux 时,很多人会先背一张命令表,背完还是不会用。真正有效的方法是按场景学:先解决“找文件、看日志、查进程”这三件事。
一、文件与目录:先定位,再动手
pwd 显示当前所在目录,ls -lah 列出当前目录下的文件,包括隐藏文件、大小和权限,-h 会把字节换算成 KB、MB。cd 用于切换目录,cd … 回上一级。
新建和移动文件用 mkdir、cp、mv。mkdir -p 可以一次创建多级目录。cp -r 复制目录,mv 既能移动也能改名。删除要格外小心:rm -rf 会直接删掉整个目录且不进回收站,执行前先用 ls 确认路径。
找文件用 find,比肉眼翻目录快得多。比如在当前目录找所有以 .log 结尾的文件:
find . -name "*.log"
二、看文件内容:日志排查的主力
cat 适合看小文件;文件太大就用 less,可以上下翻页,按 q 退出。head -n 20 只看前 20 行,tail -n 50 只看后 50 行,tail -f 可以实时跟随日志输出,服务刚报错时最常用它:
tail -f /var/log/nginx/error.log
grep 是在文件里搜关键词的命令,-r 递归搜目录,-n 显示行号,-i 忽略大小写。查报错先搜关键词,再定位到行:
grep -rn "ERROR" /var/log/myapp/ | head -n 20
三、权限与用户:看懂那串字母
ls -l 输出的第一列就是权限,例如 -rwxr-xr-x,前三位是文件所有者的权限,中间三位是所属组的权限,最后三位是其他人的权限,r 读、w 写、x 执行。改权限用 chmod,例如给脚本加上执行权限;改归属用 chown。
没有权限时别直接 chmod 777,先看清报错,再用 sudo 临时提权,或者请管理员把你加进对应的用户组。
四、进程与资源:机器卡了先看这里
ps aux 列出当前所有进程,配合 grep 可以快速找到某个服务:
ps aux | grep nginx
top 可以实时看 CPU 和内存占用,按 M 按内存排序,按 P 按 CPU 排序。kill 加进程号可以结束进程,kill -9 是强制结束,只在进程卡死时用,生产环境先确认进程号再动手。
磁盘方面,df -h 看各个分区的剩余空间,du -sh /var/log/* 看哪个目录占的空间最大。内存用 free -h。
五、网络与服务:先确认通不通
ping 确认网络是否可达,curl 测接口是否正常返回,curl -I 只看响应头。ss -tlnp 查看本机正在监听的端口和对应的进程,服务起不来时,先看端口到底有没有被监听。
systemd 管理的服务用 systemctl status nginx 查看状态,journalctl -u nginx -n 100 看这个服务的最近 100 行日志,服务启动失败的原因大多写在这里。
六、排查流程与新手避坑
网页突然打不开了,可以按这个顺序排查:先 curl 看接口通不通,再 systemctl status 看服务在不在,再 tail -f 看最新日志,最后 df -h 和 free -h 看是不是磁盘满了或者内存耗尽。
新手还要注意:命令不要靠背,–help 和 man 是最好的说明书,遇到不熟的参数先查再敲;Tab 键可以补全命令和路径;rm、chmod、kill 这类有破坏性的命令,执行前默念一遍目标,确认无误再回车。
命令本身不难,难的是知道出问题时该用哪一个。按“找文件、看日志、查进程、看资源”这条线练几次,日常的 Linux 操作基本就够用了。
- 点赞
- 收藏
- 关注作者
评论(0)