Linux 常用命令 20 条就够了
Linux 常用命令 20 条就够了
适合刚接触 Linux 的后端 / 运维新人。
不讲复杂参数,每条命令只记最常用的用法,配上日常工作里会遇到的场景。
写在前面
学 Linux 命令最大的误区是:试图记住所有参数。
不用。你只要记住「有这么一个命令可以干这件事」,用到时 --help 或 man 查就行。
这 20 条是我觉得日常用得最多的,按使用频率排。
1. ls — 看看目录里有啥
ls # 列出当前目录
ls -l # 详细信息(权限、大小、修改时间)
ls -la # 包含隐藏文件(以 . 开头的)
ls -lh # 大小以人类可读的方式显示(K、M、G)
ls -lt # 按修改时间排序,最新的在最上面
场景:刚登录服务器,想看看代码目录下有什么,文件多大。
2. cd — 切换目录
cd /var/log # 去 /var/log
cd ~ # 回自己的 home 目录
cd - # 回到刚才的目录(超级常用)
cd .. # 上一级目录
场景:去 /var/log 看日志,看完了 cd - 回到项目目录。
3. pwd — 我在哪
pwd
场景:目录切来切去切迷糊了,看一眼当前完整路径。
4. grep — 文本搜索之王
grep "ERROR" app.log # 在文件里搜 ERROR
grep -i "error" app.log # 忽略大小写
grep -r "timeout" /etc/nginx/ # 递归搜索目录下所有文件
grep -c "ERROR" app.log # 只统计匹配行数,不显示内容
grep -A5 -B5 "ERROR" app.log # 匹配行前后各显示 5 行
场景:日志里有几万行,想看某个错误码出现的位置和上下文。
5. find — 找文件
find . -name "*.log" # 找所有 .log 文件
find /var -type f -size +100M # 找大于 100M 的文件
find /tmp -type d -name "temp*" # 找目录
find . -mtime +7 -delete # 删掉 7 天前的文件(清理旧日志)
场景:磁盘快满了,find / -type f -size +500M 看看哪些大文件能吃。
6. ps — 看进程
ps aux # 所有进程,最常用
ps aux --sort=-%mem | head -10 # 按内存占用排序,看 TOP 10
ps aux | grep java # 只看 java 进程
ps -ef # 另一风格,ppid 列为父进程 ID
场景:服务器卡了,想看哪些进程在跑、吃多少内存和 CPU。
7. top / htop — 实时资源监控
top # 默认的,够用
htop # 更好看,可以鼠标操作,需要额外装
top 打开后常用按键:
1— 展开看每个 CPU 核的使用率P— 按 CPU 从高到低排M— 按内存从高到低排q— 退出
场景:服务变慢了,top 一看 wa 列 60%,知道是磁盘瓶颈,不用猜。
8. df — 磁盘空间
df -h # 人类可读的格式
df -h /data # 只看某个分区
场景:收到磁盘告警,先看看哪个分区满了。
9. du — 看目录占多大
du -sh /var/log # 看 /var/log 总共多大
du -sh * | sort -rh # 当前目录下每个子目录大小排序
du -h --max-depth=1 # 只看一层子目录
场景:df 看到 / 满了,du -sh /* | sort -rh 找哪个目录最大。
10. tail — 看文件末尾(主要看日志)
tail -100 app.log # 看最后 100 行
tail -f app.log # 实时跟踪,日志一行行出来
tail -f app.log | grep ERROR # 只跟踪错误日志
场景:上线后一边刷新页面一边 tail -f 看日志输出。
11. head — 看文件开头
head -20 app.log # 看前 20 行
场景:确认日志文件格式对不对,看看开头几行的列名。
12. less — 翻页看大文件
less app.log
打开后的操作:
- 空格 / f — 下翻一页
- b — 上翻一页
/ERROR— 搜索 ERROR,按 n 跳到下一个- q — 退出
好处:大文件也不会卡,因为它只加载当前屏幕的内容。
场景:用 grep "ERROR" app.log 找到了在一个 500M 的文件里,用 less 打开慢慢翻。
13. tar — 压缩和解压
tar -czvf archive.tar.gz /path/to/dir # 打包并压缩
tar -xzvf archive.tar.gz # 解压到当前目录
tar -xzvf archive.tar.gz -C /target # 解压到指定目录
参数口诀:c 创建,x 解压,z gzip,v 显示过程,f 指定文件名。
场景:把部署包 tar -czvf release.tar.gz . 发给同事,对方 tar -xzvf release.tar.gz 解开。
14. scp — 传文件到远程
scp file.txt user@192.168.1.100:/home/user/ # 本地→远程
scp user@192.168.1.100:/home/user/file.txt . # 远程→本地
scp -r dir/ user@192.168.1.100:/home/user/ # 传整个目录
场景:把编译好的 jar 包传到测试服务器上。
15. chmod — 改权限
chmod +x script.sh # 加执行权限
chmod 644 file.txt # 所有者读写,其他人只读
chmod -R 755 /path/to/dir # 递归改目录下所有文件
常用数字:
755— 目录标准权限(rwxr-xr-x)644— 文件标准权限(rw-r–r–)600— 私钥等敏感文件(rw-------)
场景:从 Windows 传上去的脚本不能跑,chmod +x deploy.sh 搞定。
16. chown — 改所有者
chown user:group file.txt # 改所有者和组
chown -R user:group /data # 递归改目录
场景:Nginx 403 了,一看日志文件是 root 的,nginx 用户读不了。
17. curl — 发 HTTP 请求
curl http://localhost:8080 # GET 请求
curl -I http://localhost:8080 # 只看响应头
curl -X POST -d '{"key":"value"}' -H "Content-Type: application/json" http://localhost:8080/api # POST JSON
curl -v http://localhost:8080 # 显示完整请求和响应过程
场景:后端说服务跑起来了,curl -I http://localhost:8080 看一眼返回 200 没有。
18. ping / telnet — 网络通不通
ping -c 4 192.168.1.1 # ping 4 次
telnet 192.168.1.100 3306 # 测试端口是否可达
场景:连不上 MySQL,telnet 一下 3306 端口通不通。
19. netstat / ss — 看端口和连接
ss -tlnp # 看所有 TCP 监听端口和对应进程
ss -tlnp | grep 8080 # 看 8080 端口谁在监听
ss -s # 连接统计
老的 netstat 在有些机器上没装,ss 是它的替代品,用法差不多。
场景:8080 端口起不来,ss -tlnp | grep 8080 看是不是端口被占了。
20. history — 找刚才敲过的命令
history # 列出历史命令
history | grep docker # 搜 docker 相关命令
!1234 # 重新执行编号 1234 的命令
!! # 重新执行上一条命令
场景:刚才跑了一个 docker 命令没截图,history | grep docker 找回来。
组合使用:管道 | 是关键
上面很多命令单独用就够了,更强的用法是把它们串起来:
# 找最大的 5 个文件
find . -type f -size +10M | xargs ls -lhS | head -5
# 看 Nginx 访问量最大的 10 个 IP
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10
# 杀掉所有 python 进程
ps aux | grep python | grep -v grep | awk '{print $2}' | xargs kill -9
等这些单条命令熟练了,管道组合就是你的下一步。
总结
不用一次记住所有命令。遇到问题先想「有没有一条 Linux 命令能帮我查」,然后回来翻一下。敲过两三次就记得了。
最常用的 5 条:ls → cd → grep → ps → tail,这几条每天都会用到。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)