基础查看命令
-
cat
一次性输出)cat filename.txt
- 特点:直接显示整个文件内容(适合小文件)
- 致命缺陷:大文件会导致终端刷屏(可用
Ctrl+C
中断) - 高级技巧:
cat -n filename.txt # 显示行号 cat file1 file2 > combined.txt # 合并多个文件
-
less
(交互式分页查看) ★ 推荐首选less filename.log
- 核心优势:
- 支持超大文件(仅加载当前显示部分)
- 上下翻页(
空格
/PageDown
)、搜索()、跳转(G
到末尾)
- 退出:按
q
键 - 效率提示:
less +N filename.log # 从第N行开始查看 less +/error filename.log # 搜索首个"error"位置
- 核心优势:
-
more
(基础分页工具)more /var/log/syslog
- 与
less
区别:仅支持向下翻页(回车逐行,空格翻页) - 适用场景:快速浏览无需回溯的文本
- 与
针对性查看方案
-
tail
(查看文件尾部)tail -n 100 access.log # 显示最后100行
- 实时监控日志:
tail -f /var/log/nginx/access.log # 动态追踪新增内容(调试神器)
- 实时监控日志:
-
head
(查看文件头部)head -n 20 config.cfg # 显示前20行
-
nl
(带行号输出)nl -ba script.sh # 显示所有行号(包括空行)
特殊场景解决方案
- 大文件高效处理
- 组合命令:
head -n 1000 bigdata.csv | tail -n 100 # 提取第901-1000行
- 二进制文件:
hexdump -C binaryfile.bin # 十六进制查看
搜索过滤**
grep "ERROR" system.log | less # 过滤错误日志并分页
- 组合命令:
▶ 终极选择指南
场景 | 推荐命令 | 原因 |
---|---|---|
快速查看小文件 | cat -n |
简单直接+显示行号 |
浏览大文件/日志 | less |
高效分页+搜索+回溯 |
实时监控日志更新 | tail -f |
动态追踪新内容 |
精确提取片段 | head +tail |
定位特定行范围 |
⚠️ 关键注意事项
- 权限问题:无读取权限时使用
sudo
(如sudo less /root/.bashrc
) - 二进制文件:避免直接用
cat
查看(可能终端乱码),改用xxd
或hexdump
- 超长行处理:
less -S logfile.log # 禁用自动换行(左右滚动查看)
- 编码问题:非UTF-8文件用
iconv
转换(如iconv -f GBK -t UTF-8 file.txt | less
)
最佳实践:
- 生产环境优先用
less
避免终端卡死- 关键操作前备份文件(
cp file.txt{,.bak}
)- 结合
grep/sed/awk
实现高级文本处理
权威参考
- GNU Coreutils 官方文档:https://www.gnu.org/software/coreutils/
- Linux Man 手册(终端输入
man less
/man tail
查看详细参数) - IBM Developer 最佳实践指南:Linux 文本处理技巧
基于 Linux 5.15+ 内核及 GNU coreutils 9.1+ 测试验证,适用于 Ubuntu/CentOS 等主流发行版,技术细节遵循 POSIX 标准,确保跨平台兼容性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8017.html