插件窝 干货文章 Linux中 的cat more less xxd 区别

Linux中 的cat more less xxd 区别

文件 十六进制 显示 行号 697    来源:    2025-05-22

在Linux中,catmorelessxxd都是用于查看文件内容的命令,但它们在功能和使用场景上有显著区别。以下是它们的详细对比:


1. cat(concatenate)

  • 用途:快速查看小文件内容,或合并/重定向文件。
  • 特点
    • 一次性显示全部内容,适合小文件。
    • 支持多文件合并(如 cat file1 file2)。
    • 常与重定向配合使用(如 cat file > newfile)。
  • 缺点
    • 大文件会瞬间刷屏,无法交互式浏览。
  • 常用选项bash cat -n file # 显示行号 cat -A file # 显示特殊字符(如换行符、制表符)

2. more

  • 用途:分页查看文件内容(早期工具)。
  • 特点
    • 按页显示文件,支持向下翻页(空格键)。
    • 显示当前阅读进度(百分比)。
  • 缺点
    • 不能向上滚动(仅支持单向浏览)。
    • 功能比less简单,现代系统较少使用。
  • 常用操作bash more +10 file # 从第10行开始显示 more -20 file # 每页显示20行
    • 交互命令:空格(下一页)、Enter(下一行)、q(退出)。

3. less(推荐替代more

  • 用途:交互式分页查看文件,支持高级浏览。
  • 特点
    • 支持双向滚动(上下键、PageUp/PageDown)。
    • 支持搜索(/keyword)、跳转(:50跳转到第50行)。
    • 不会立即加载整个文件,适合大文件。
    • 退出后不保留屏幕内容(与more相同)。
  • 常用操作bash less -N file # 显示行号 less -i file # 忽略搜索大小写
    • 交互命令:q(退出)、G(跳转文件末尾)、?keyword(反向搜索)。

4. xxd

  • 用途:以十六进制/二进制格式查看文件(常用于二进制文件分析)。
  • 特点
    • 显示文件的十六进制和ASCII表示(类似HEX编辑器)。
    • 支持将十六进制转储转换回二进制。
  • 常用选项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 或专业工具(如 hexdumpod)。
  • more 仅在老旧系统中作为备用。