info 命令
基本介绍
info 用于查看 GNU Info 文档系统中的超文本文档。与 man 的扁平文本格式不同,info 以节点(node)为单位组织文档,支持超链接导航,适合阅读结构化、篇幅较长的文档,尤其是 GNU 项目的官方文档。
资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a
语法
bash
info [选项] [菜单项 ...]
- 不指定参数时,显示 Info 系统的顶层目录(Top 目录)。
- 指定菜单项时,直接定位到对应文档的节点。
常用选项
-f 文件:直接读取指定的 Info 文件,而非从目录中查找。-k 节点:在所有手册的索引中搜索指定关键词。-d 目录:添加 Info 文件的搜索路径。--apropos=关键词:等价于-k,按关键词搜索索引。--output=文件:将选中的节点内容输出到指定文件。--subnodes:递归输出所有子节点的内容。-O、--show-options:直接跳转到命令行选项说明节点。--vi-keys:使用类似vi的按键绑定。--help:显示帮助信息。--version:显示版本信息。
Info 文档结构
Info 文档以树状结构组织:
| 概念 | 说明 |
|---|---|
| Top 节点 | 文档的入口点,包含目录和概述 |
| 节点(Node) | 文档的基本单元,类似网页中的一个页面 |
| 菜单(Menu) | 节点中的链接列表,指向其他节点 |
| 交叉引用(Cross Reference) | 指向其他节点的外部链接 |
| Next / Prev / Up | 同级下一个 / 上一个 / 上级节点 |
每个节点底部通常标注:
Next: 节点名, Prev: 节点名, Up: 节点名
使用示例
1. 打开 Info 顶层目录
bash
info
显示所有已安装 Info 文档的列表,可通过菜单导航到具体文档。
2. 查看特定文档
bash
info coreutils
直接打开 GNU Coreutils 的 Info 文档。
3. 查看特定节点
bash
info coreutils ls invocation
通过菜单路径定位到 coreutils 文档中 ls 命令的说明节点。
4. 直接读取 Info 文件
bash
info -f /usr/share/info/coreutils.info.gz
绕过目录搜索,直接打开指定文件。
5. 搜索索引
bash
info --apropos="copy file"
在所有已安装手册的索引中搜索包含 "copy file" 的条目。
6. 输出节点内容到文件
bash
info --output=coreutils.txt coreutils
将 coreutils 的当前节点内容保存到 coreutils.txt。
7. 递归输出所有子节点
bash
info --output=bash-full.txt --subnodes bash
将 bash 文档及其所有子节点的完整内容输出到文件。
8. 跳转到选项说明
bash
info -O gcc
直接跳转到 gcc 文档的命令行选项部分。
阅读器中的常用操作
在 info 阅读器界面中,使用以下按键导航:
基本导航
| 按键 | 功能 |
|---|---|
n |
跳到下一个同级节点 |
p |
跳到上一个同级节点 |
u |
跳到上级节点 |
t |
跳到文档的 Top 节点 |
d |
跳到 Info 目录(所有文档列表) |
Enter |
进入光标所在菜单项或交叉引用 |
l |
返回上一个访问的节点(类似浏览器的后退) |
r |
前进到下一个访问的节点(类似浏览器的前进) |
滚动
| 按键 | 功能 |
|---|---|
空格 |
向下翻页;当前节点末尾时跳到下一个节点 |
Backspace / Del |
向上翻页 |
b |
跳到当前节点开头 |
e |
跳到当前节点末尾 |
搜索
| 按键 | 功能 |
|---|---|
s 关键词 |
向前搜索关键词 |
S 关键词 |
向后搜索 |
{ |
重复上次搜索(向前) |
} |
重复上次搜索(向后) |
其他
| 按键 | 功能 |
|---|---|
i 关键词 |
在索引中查找关键词 |
m 菜单项 |
按名称跳转到菜单项 |
g 节点名 |
直接跳转到指定节点 |
h |
显示 Info 教程 |
? |
显示帮助摘要 |
q |
退出 Info |
info 与 man 的区别
| 特性 | man |
info |
|---|---|---|
| 文档格式 | 平面文本,用 less 分页阅读 |
超文本,以节点为单位导航 |
| 文档来源 | 各软件包提供的手册页 | 主要是 GNU 项目的 Texinfo 文档 |
| 内容详细度 | 通常为快速参考,较简洁 | 通常更详尽,包含教程和完整说明 |
| 超链接 | 不支持 | 支持菜单和交叉引用 |
| 导航方式 | 上下翻页 | 节点间跳转 |
| 适用场景 | 快速查阅命令选项和语法 | 深入学习 GNU 工具的完整用法 |
许多 GNU 命令的 man 页底部会提示:
For complete documentation, run: info coreutils 'ls invocation'
这表示 info 中有更完整的文档。
注意事项
info依赖于系统安装的 Info 文档文件(通常位于/usr/share/info/)。若未安装texinfo包,info命令可能不存在或文档列表为空。- 某些精简系统或容器中可能未安装 Info 文档,可通过包管理器安装,如
apt install texinfo或dnf install texinfo。 info的按键操作与emacs类似,初学者可按h进入内置教程快速上手。- 对于非 GNU 软件(如 BSD 工具),通常只有
man手册而无 Info 文档。 info也可用于阅读man手册页:info man ls会将 man 页转换为 Info 格式显示(但体验不如直接man ls)。- 可通过
info info查看info自身的完整文档和教程。
相关命令
man:查看传统手册页,适合快速查阅。pinfo:基于ncurses的 Info 阅读器,提供类似lynx的彩色界面和更直观的导航。help:查看 Shell 内建命令的帮助。whatis/apropos:搜索man手册的简短描述。texi2html/makeinfo --html:将 Texinfo 源文件转换为 HTML 格式。
总结
info 是阅读 GNU 项目完整文档的工具,以节点和超链接的方式组织内容,比 man 提供更详尽、更结构化的说明。对于 GNU 核心工具(如 coreutils、bash、gcc、make),info 通常是获取最完整文档的途径。初次使用时可按 h 查看内置教程,熟悉节点导航后即可高效浏览长篇文档。