基础查看命令
-
cat命令 (Concatenate – 连接并显示)- 功能: 最常用的快速查看整个文件内容的命令,它直接将文件的所有内容一次性输出到终端。
- 适用场景: 查看短小的文本文件(如配置文件、日志片段、脚本代码),对于大文件,内容会快速滚屏,难以阅读。
- 基本语法:
cat [选项] 文件名
- 常用选项:
-n或--number: 显示行号。-b或--number-nonblank: 只对非空行显示行号。-s或--squeeze-blank: 将连续的空行压缩成一行显示。
- 示例:
cat myfile.txt # 显示 myfile.txt 的全部内容 cat -n config.conf # 带行号显示 config.conf cat file1.txt file2.txt # 连续显示 file1.txt 和 file2.txt 的内容
-
more命令- 功能: 分页显示文件内容,一次显示一屏,按空格键向下翻一页,按回车键向下翻一行。只能向下翻页,不能回看,浏览到文件末尾会自动退出。
- 适用场景: 查看中等长度的文本文件,需要逐屏阅读。
- 基本语法:
more [选项] 文件名
- 操作键 (在
more浏览界面中):空格键/f: 前进一屏。回车键/j: 前进一行。q: 退出more。/字符串: 向下搜索指定字符串。
- 示例:
more long_log.log
-
less命令 (推荐)- 功能:
more的增强版,功能更强大,支持上下翻页、搜索、跳转等,不会一次性加载整个文件,适合查看超大文件,浏览后需按q退出。 - 适用场景: 查看任何大小的文本文件,尤其是需要反复查看、搜索或跳转的大文件(如日志文件)。
- 基本语法:
less [选项] 文件名
- 常用操作键 (在
less浏览界面中):空格键/f/Page Down: 前进一屏。b/Page Up: 后退一屏。回车键/j/ : 前进一行。k/ : 后退一行。g: 跳到文件开头。G: 跳到文件末尾。/字符串: 向下搜索指定字符串,按n查找下一个,N查找上一个。?字符串: 向上搜索指定字符串,按n查找上一个,N查找下一个。q: 退出less。
- 示例:
less huge_data.log
- 功能:
查看文件部分内容
-
head命令- 功能: 显示文件开头的若干行(默认显示 10 行)。
- 适用场景: 快速查看文件的开头部分(如检查文件格式、开头结构)。
- 基本语法:
head [选项] 文件名
- 常用选项:
-n或--lines=: 指定要显示的行数。-n 5或-5都表示显示前 5 行。
- 示例:
head myfile.txt # 显示 myfile.txt 前 10 行 head -n 20 data.csv # 显示 data.csv 前 20 行 head -5 script.sh # 显示 script.sh 前 5 行
-
tail命令- 功能: 显示文件末尾的若干行(默认显示 10 行),特别适合实时监控日志文件的新增内容。
- 适用场景: 查看文件的结尾部分(如最新的日志条目),或实时跟踪日志更新。
- 基本语法:
tail [选项] 文件名
- 常用选项:
-n或--lines=: 指定要显示的行数。-n 5或-5都表示显示末尾 5 行。-f或--follow: 实时跟踪并显示文件新增的内容,这是监控日志的利器!按Ctrl+C停止跟踪。-F: 类似于-f,但在文件被轮转(rotate)或删除重建后,能继续跟踪新文件(更健壮)。
- 示例:
tail error.log # 显示 error.log 10 行 tail -n 50 access.log # 显示 access.log 50 行 tail -f /var/log/syslog # 实时监控系统日志的新增内容 (按 Ctrl+C 停止)
结合使用与高级技巧
- 管道 () 与命令组合: 命令行强大的地方在于可以将命令组合使用。
- 示例 1: 使用
grep过滤cat的输出,只显示包含 “error” 的行:cat system.log | grep -i "error"
- 示例 2: 使用
less查看grep的搜索结果,方便翻页:grep "warning" app.log | less
- 示例 3: 查看文件第 100 到 110 行:
cat -n bigfile.txt | head -n 110 | tail -n 11 # 解释: # 1. cat -n bigfile.txt: 给所有行加上行号 # 2. head -n 110: 取前 110 行 (包含第100-110行及之前的行) # 3. tail -n 11: 取最后 11 行 (即第100行到第110行)
更高效的方式 (如果系统支持):
sed -n '100,110p' bigfile.txt
- 示例 1: 使用
Windows 命令提示符 (CMD) 和 PowerShell
type命令 (类似cat):type filename.txt
more命令 (功能类似 Linuxmore):more filename.txt
- PowerShell 中的
Get-Content(别名cat,gc):- 功能强大,类似
cat,但支持更多参数。Get-Content filename.log # 显示整个文件 Get-Content filename.log -Tail 10 # 显示最后 10 行 (类似 `tail`) Get-Content filename.log -Wait # 实时监控文件新增 (类似 `tail -f`)
- 功能强大,类似
重要注意事项与温馨提示
- 文件路径: 如果文件不在当前工作目录下,需要提供相对路径 (如
../logs/app.log) 或绝对路径 (如/var/log/apache2/access.log或C:\Users\Name\Documents\file.txt)。 - 文件类型: 上述命令 (
cat,more,less,head,tail,type,Get-Content) 主要用于查看纯文本文件 (如.txt,.log,.conf,.sh,.py,.csv,.html等源代码或配置文件),尝试用它们查看二进制文件 (如图片.jpg, 可执行程序.exe, 压缩包.zip) 会产生乱码或无意义输出,可能还会导致终端显示异常,查看二进制文件需要专门的工具 (如hexdump,xxd或图形化编辑器)。 - 文件权限: 你需要拥有对目标文件的读取权限才能查看其内容,如果遇到 “Permission denied” 错误,可能需要使用
sudo(Linux/macOS) 或以管理员身份运行终端 (Windows)。 - 大文件处理: 对于非常大的文件,优先使用
less或tail,避免直接用cat查看超大文件,以免终端卡顿或刷屏。 - 实时日志监控 (
tail -f/-F): 这是系统管理员和开发人员排查问题的常用手段,务必掌握。 - 安全提示: 在查看不熟悉的文件(尤其是从网络下载的)时需谨慎,恶意文件可能包含特殊控制字符,影响终端显示或执行意外操作,建议在安全环境中操作。
选择哪种方法取决于你的具体需求:
- 快速看小文件:
cat - 分页查看(仅向下):
more - 分页查看(可上下翻页、搜索、推荐):
less - 看文件开头:
head - 看文件结尾或实时监控日志:
tail(尤其tail -f)
熟练掌握这些命令及其组合,将使你在命令行环境下高效地查看和分析文件内容。
引用说明: 本文介绍的命令功能及选项描述基于 GNU Core Utilities (
cat,head,tail,less,more)、Linux man-pages 项目、Windows CMD 及 PowerShell 官方文档的核心功能,具体实现细节和额外选项可能因操作系统版本和发行版略有差异,建议查阅相关系统的官方手册 (man cat,man less,help type,Get-Help Get-Content) 获取最准确的信息。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4488.html