1. 命令简介
bzless 是一个用于查看 .bz2 格式压缩文件内容的增强型分页查看器。它结合了 bzcat(解压并输出内容)和 less(分页浏览)的功能,允许用户在不完全解压文件的情况下,直接以分页方式浏览压缩文本文件的内容。
相比功能类似的 bzmore 命令,bzless 提供了更丰富的交互功能,例如向前 / 向后滚动、搜索、跳转等,用户体验更佳。
2. 语法格式
bash
运行
bzless [选项] [文件...]参数说明:
- [选项]:可选,用于控制内部 less 查看器的行为。
- [文件...]:可选,指定一个或多个 .bz2 压缩文件。如果未指定文件,bzless 将从标准输入(stdin)读取数据。
3. 常用选项及说明
bzless 本身没有独立的选项,所有传递给它的选项都会被其内部的 less 查看器接收和处理。因此,其选项与 less 命令的选项完全兼容。
常用 less 选项
表格
| 选项 | 说明 |
|---|---|
| -N 或 --LINE-NUMBERS | 显示行号。 |
| -i 或 --ignore-case | 搜索时忽略大小写(除非搜索模式包含大写字母)。 |
| -I 或 --IGNORE-CASE | 搜索时始终忽略大小写。 |
| -S 或 --chop-long-lines | 截断过长的行,而不是自动换行显示。 |
| -F 或 --quit-if-one-screen | 如果内容少于一屏,则自动退出,不进入交互模式。 |
| -X 或 --no-init | 禁止清除屏幕(退出 less 后,内容仍保留在终端)。 |
| -E 或 --QUIT-AT-EOF | 首次到达文件末尾后自动退出。 |
| +F | 类似 tail -f 模式,实时跟踪文件末尾的新增内容(对静态压缩文件通常无效,主要用于管道输入)。 |
| + 行号 或 +G 行号 | 启动后直接跳转到指定行号。例如 +50 跳转到第 50 行。 |
| +/ 模式 | 启动后直接搜索并定位到第一个匹配 “模式” 的字符串处。 |
交互式命令(在浏览界面中使用)
进入 bzless 后,可以使用以下常用键进行导航(与 less 相同):
- 空格键 或 f:向下翻一页。
- b:向上翻一页。
- 回车键 或 j:向下移动一行。
- k:向上移动一行。
- / 字符串:向前搜索指定字符串。
- ? 字符串:向后搜索指定字符串。
- n:重复上一次搜索。
- N:反向重复上一次搜索。
- g 或 <:跳到文件开头。
- G 或 >:跳到文件末尾。
- :n:在查看多个文件时,跳转到下一个文件。
- :p:跳转到上一个文件。
- h:显示帮助信息。
- q:退出 bzless。
4. 示例用法
基本查看
查看一个 .bz2 压缩的日志文件。
bash
运行
bzless access.log.bz2带行号查看
查看压缩文件并显示行号。
bash
运行
bzless -N error.log.bz2搜索并定位
打开文件后直接查找包含 “ERROR” 的行。
bash
运行
bzless +/ERROR application.log.bz2跳转到指定行
打开后直接显示第 100 行附近的内容。
bash
运行
bzless +100 config.txt.bz2查看多个压缩文件
依次查看多个归档日志。
bash
运行
bzless log1.bz2 log2.bz2 log3.bz2在浏览界面中使用 :n 和 :p 在文件间切换。
结合管道使用
将其他命令的输出压缩后直接查看。
bash
运行
tar -cjf - /some/directory | bzless(此示例中查看的是 tar 流的二进制数据,主要为演示管道用法)
从标准输入读取
当没有指定文件名时。
bash
运行
bzcat file.bz2 | bzless这等价于 bzless file.bz2,展示了其可以从标准输入接收数据。
5. 注意事项
- 二进制文件:bzless 主要用于查看文本文件。如果压缩包内是二进制文件(如图片、可执行程序),显示的内容将是乱码。
- 性能:对于非常大的压缩文件,首次打开或执行跳转、搜索操作时,可能需要一些解压和缓冲时间。
- 与 bzmore 的区别:bzless 是 bzmore 的增强版,功能更接近 less,支持双向浏览。在大多数现代系统上,bzless 是首选工具。
- 依赖关系:bzless 的正常工作需要系统中已安装 bzip2 压缩工具套件和 less 分页器。通常这些在标准 Linux 发行版中都已预装。
- 选项传递:所有选项都直接传递给内部的 less 程序。如需了解 less 的全部功能,请查阅 man less 或 less --help。