很多新手刚接触 Linux 时,面对黑框命令行总会望而生畏,觉得命令又多又杂记不住。其实日常工作中 80% 的场景,只需要 20%
的核心命令就能搞定。

这是专栏的第一篇,我们不讲复杂原理,只讲拿来即用、工作高频的基础命令。只要你能不翻资料独立敲出下面所有命令,就算 Linux
入门合格了。


一、目录与文件基础操作

1. 查看当前所在目录的绝对路径

pwd

pwd 是 Print Working Directory 的缩写,执行后会直接输出你当前所在位置的完整路径,比如 /root/home/user。刚登录服务器或切换目录后不确定自己在哪,敲一下 pwd 最稳妥。

2. 进入指定目录并查看文件详情

进入 /data/logs 目录:

cd /data/logs

cd 是 Change Directory 的缩写,后面跟目标路径即可切换目录。

查看目录下所有文件的详细信息,按修改时间倒序排列:

ls -lrt

参数拆解:

  • -l:以长格式显示,包含权限、所有者、大小、修改时间等详细信息
  • -r:反向排序(reverse)
  • -t:按修改时间排序(time)

组合起来 ls -lrt 就是最新修改的文件排在最下面,翻日志找最新文件时非常好用。


二、日志查看与内容检索

3. 实时跟踪日志文件

tail -f app.log

tail 本意是显示文件尾部,加上 -f 参数(follow)后会持续跟踪文件新增内容。程序正在运行时,用它可以实时看到日志滚动输出,排查问题必备。按 Ctrl + C 退出。

4. 查看文件最后 50 行

tail -n 50 app.log

-n 50 指定显示最后 50 行,也可以简写为 tail -50 app.log。想快速看日志末尾的报错信息,用这条比打开整个文件高效得多。

5. 搜索包含关键词的行并显示行号

grep -n "error" app.log

grep 是 Linux 最常用的文本搜索命令:

  • -n:显示匹配行的行号(number)
  • 后面跟要搜索的关键词,再跟文件名

执行后会把所有包含 error 的行连同行号一起打印出来,定位报错非常方便。

6. 统计关键词出现的行数

grep -c "timeout" app.log

-c 参数(count)不会输出具体内容,只返回匹配到的总行数。想统计日志里有多少条超时、多少条报错,直接用它一步到位。

7. 按条件查找文件

find /data -type f -name "*.log" -mtime +7

find 是功能强大的文件查找命令,这条命令的含义是:在 /data 目录下,查找7 天前修改过的、后缀为 .log普通文件

参数拆解:

  • /data:搜索的起始目录
  • -type f:只找普通文件(排除目录)
  • -name "*.log":文件名匹配 .log 后缀
  • -mtime +7:修改时间在 7 天以前

三、文件删除操作

8. 强制删除目录下所有临时文件

rm -rf /data/tmp/*

rm 是 remove 删除命令,风险较高,使用务必谨慎:

  • -r:递归删除(recursive),删除目录及目录下所有内容
  • -f:强制删除(force),不弹出任何确认提示

⚠️ 注意:rm -rf 删除后无法恢复,执行前一定要确认路径正确,严禁手滑写成 rm -rf /


四、进程管理

9. 查看运行中的 Java 进程并过滤

ps -ef | grep java | grep "music"

这是一条组合命令,用管道符 | 把多个命令串联起来:

  • ps -ef:查看系统所有进程的完整信息
  • | grep java:筛选出包含 java 的进程
  • | grep "music":在结果中再筛选出包含 music 的进程

执行后可以看到进程的 PID(进程号)、启动用户、启动命令等信息。

10. 强制杀掉指定进程

kill -9 12345

kill 用于向进程发送信号,-9 代表强制终止信号(SIGKILL),后面跟进程 PID。普通 kill 可能因为进程阻塞而杀不掉,加上 -9 可以强制结束,是终极手段。


五、系统资源监控

11. 实时查看 CPU 和内存使用情况

top

top 相当于 Linux 的任务管理器,进入后会实时刷新系统整体负载、进程 CPU 和内存占用等信息。

进入界面后按大写的 P,进程就会按 CPU 使用率从高到低排序;按 M 则按内存使用率排序。按 q 退出。

12. 查看内存使用详情

free -h

free 查看系统内存使用情况,-h 参数(human-readable)会自动把字节换算成 KB、MB、GB 等人类易读的单位。输出包含总内存、已用、空闲、缓存、交换分区等核心指标。

13. 查看所有磁盘分区使用率

df -h

df 是 disk free 的缩写,用来查看各个磁盘分区的总容量、已用容量、剩余容量和挂载点。同样加 -h 以可读单位显示,排查磁盘满了的问题必用。

14. 查看目录总大小

du -sh /data/logs

du 是 disk usage 的缩写,用于统计目录或文件占用的磁盘空间:

  • -s:只显示总计(summary),不列每个文件
  • -h:人类可读单位

想知道某个日志目录占了多大空间,直接用这条即可。


六、网络与端口排查

15. 查看所有正在监听的 TCP 端口

netstat -tlnp

参数拆解:

  • -t:只看 TCP 协议(tcp)
  • -l:只看处于监听状态的端口(listen)
  • -n:以数字形式显示 IP 和端口,不解析域名(numeric)
  • -p:显示占用端口的进程名和 PID

补充:很多新系统推荐用 ss -tlnp,功能和输出基本一致,执行速度更快。

16. 测试服务器端口是否连通

telnet 192.168.1.100 8080

telnet 是最常用的端口连通性测试工具。如果端口通,会进入黑屏;如果不通,会提示连接失败。按 Ctrl + ] 再输入 quit 退出。

没有 telnet 也可以用 nc -zv 192.168.1.100 8080 替代。

17. 调用 HTTP 接口查看完整响应

curl -v http://localhost:8080/api/user

curl 是命令行下的 HTTP 请求工具,调试接口非常方便:

  • 不加参数直接请求,返回响应体
  • -v(verbose)会显示完整的请求头、响应头和响应体,排查接口问题一目了然

七、后台运行脚本

18. 后台运行脚本,关闭终端也不停止

nohup bash test.sh > run.log 2>&1 &

这是后台常驻运行脚本的标准写法,拆解一下:

  • nohup:no hang up,让程序忽略挂断信号,关闭终端也不会停止
  • bash test.sh:要执行的脚本
  • > run.log:把标准输出重定向到 run.log 文件
  • 2>&1:把错误输出也重定向到标准输出(也就是一起写入 run.log)
  • 末尾的 &:让程序在后台运行

执行后会返回一个进程 PID,可以用 ps 命令查看运行状态。


入门自测清单

现在合上资料,看看你能不能独立写出下面操作对应的命令:

  1. 查看当前路径
  2. 进入 /data/logs 并按时间倒序看文件详情
  3. 实时跟踪 app.log
  4. 看 app.log 最后 50 行
  5. 搜索 app.log 中含 error 的行并显示行号
  6. 统计 app.log 中 timeout 的行数
  7. 在 /data 下找 7 天前的 .log 文件
  8. 强制删除 /data/tmp 下所有文件
  9. 找出带 music 的 Java 进程
  10. 实时看 CPU 内存并按 CPU 排序
  11. 以可读单位看内存详情
  12. 看所有磁盘分区使用率
  13. 看 /data/logs 目录总大小
  14. 看所有监听的 TCP 端口
  15. 测试 192.168.1.100 的 8080 端口
  16. curl 调用接口看完整响应
  17. 后台运行脚本并输出日志
  18. 强制杀掉 PID 12345

全部写对,恭喜你,Linux 命令行基础已经过关了。后续专栏会继续深入每个命令的进阶用法,以及更多实战场景技巧。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐