在Linux中,cat
、more
、less
和xxd
都是用于查看文件内容的命令,但它们在功能和使用场景上有显著区别。以下是它们的详细对比:
cat
(concatenate)cat file1 file2
)。cat file > newfile
)。bash
cat -n file # 显示行号
cat -A file # 显示特殊字符(如换行符、制表符)
more
less
简单,现代系统较少使用。bash
more +10 file # 从第10行开始显示
more -20 file # 每页显示20行
空格
(下一页)、Enter
(下一行)、q
(退出)。less
(推荐替代more
)/keyword
)、跳转(:50
跳转到第50行)。more
相同)。bash
less -N file # 显示行号
less -i file # 忽略搜索大小写
q
(退出)、G
(跳转文件末尾)、?keyword
(反向搜索)。xxd
bash
xxd file # 默认十六进制输出
xxd -b file # 显示二进制格式
xxd -r file.hex # 将十六进制转储还原为二进制
xxd -g 1 file # 每字节一组显示(-g指定字节数)
00000000: 4865 6c6c 6f20 576f 726c 640a Hello World.
命令 | 最佳场景 | 交互性 | 大文件友好 | 特殊功能 |
---|---|---|---|---|
cat |
快速查看/合并小文件 | 无 | ❌ | 显示行号、合并文件 |
more |
基础分页(仅向下) | 有限 | ⚠️ | 显示进度百分比 |
less |
交互式浏览(推荐) | 强(双向) | ✅ | 搜索、跳转、行号等 |
xxd |
二进制/十六进制分析 | 无 | ✅ | 十六进制编辑、转换 |
less
(功能最全)。cat
。xxd
或专业工具(如 hexdump
、od
)。more
仅在老旧系统中作为备用。