文章列表
1 分钟阅读

Linux 文本处理命令教程:cat、less、head、tail、wc、sort、uniq


系列:Linux 命令基础

第 5 / 16 篇

  1. Tmux 入门教程:让 SSH 断线和多任务终端不再中断
  2. Tree 命令教程:快速查看和导出目录结构
  3. Linux 搜索命令教程:find、grep、locate、rg 应该怎么选
  4. Linux 压缩与解压命令教程:tar、zip、gzip、xz、zstd 一次讲清
  5. Linux 文本处理命令教程:cat、less、head、tail、wc、sort、uniq
  6. Linux 权限命令教程:chmod、chown、umask
  7. Linux 进程查看与管理:ps、top、htop、kill、jobs
  8. Linux 网络排查命令:ss、curl、dig、ping、traceroute
  9. systemctl 与 journalctl 入门:管理服务和查看日志
  10. rsync 使用指南:服务器文件同步与备份
  11. Linux 服务器安全基础:SSH、用户权限、防火墙和 fail2ban
  12. 线上问题排查流程:日志、端口、进程、磁盘、网络怎么一步步看
  13. 深入浅出:Linux 树状目录神器 tree 命令的安装与使用指南
  14. Linux 系统 Vim 编辑器终极指南:从入门到精通
  15. SSH 隧道实战:本地转发、远程转发和动态转发
  16. SSH Config 使用指南:别名、跳板机与多服务器管理

很多 Linux 排障不是一上来就写脚本,而是先看文件、截几行、数数量、排序去重。catlessheadtailwcsortuniq 就是这些小动作。

查看文件

Terminal window
cat app.log
less app.log
head -n 20 app.log
tail -n 50 app.log
tail -f app.log

大文件不要直接 cat,用 lesstail。看实时日志时用 tail -f

统计数量

Terminal window
wc -l app.log
wc -c app.log
find . -name '*.py' | wc -l

wc -l 很适合配合管道,快速知道结果规模。

排序和去重

Terminal window
sort access.log
sort access.log | uniq
sort access.log | uniq -c | sort -nr

uniq 只处理相邻重复行,所以通常先 sort

和搜索命令配合

先用 Linux 搜索命令教程:find、grep、locate、rg 应该怎么选 找出目标,再用文本命令收口:

Terminal window
rg "ERROR" logs/ | wc -l
rg "timeout" logs/ | sort | uniq -c

常见问题

日志行太长时,less -S 可以关闭自动换行:

Terminal window
less -S app.log

乱码时先看编码和 locale,不要急着改文件。

总结

这些命令单独看都很小,但组合起来很强。排查问题时先记住:less 看大文件,tail -f 跟日志,wc -l 数数量,sort | uniq -c 做简单统计。更多细节可以看 GNU Coreutils 文档