如何在不使用Emacs(或Info)的情况下从命令行读取GNU信息文档

2021年11月10日15:04:07 发表评论 668 次浏览

为什么要查看 GNU 信息文档?

如何不使用Emacs读取GNU信息文档?手册页很棒,但是 GNU 项目的一些命令的手册页基本上说这个手册页没有更新并且不全面,所以请参阅信息页,本文介绍从命令行GNU信息文档的方式。换句话说,手册页被忽略,有利于信息文档。考虑 chmod 命令的手册页(GNU coreutils 8.30)。例如,手册页没有解释 setgid 权限位的含义。但是,如果你查看 GNU coreutils 的信息文档,“第 27 节文件权限”详细解释了所有有关权限的信息:

Full documentation at: <https://www.gnu.org/software/coreutils/chmod>

or available locally via: info '(coreutils) chmod invocation'

此处未深入介绍的其他方法:Emacs、Info、Pinfo 和 HTML

命令行如何读取GNU信息文档?如果你已经是 Emacs 的用户并且熟悉 Emacs,那么你可以方便地使用 Emacs 的信息模式或独立程序信息,它使用类似(古怪的 Emacs)键盘快捷键。但是这篇文章不是关于那个——它是为那些不想用 Emacs 方式做的用户准备的。要么是因为你对 Emacs 不够了解,它可能没有安装在你正在使用的特定计算机上,要么就像我作为 Emacs 的长期用户一样,你只是想要一种不同的方式。

另一个名为 pinfo 的独立信息程序声称比 info 拥有更多用户友好的键盘快捷键(又名键绑定),但我不会在本文中介绍。

GNU 信息文档通常以 HTML 格式提供,有时在本地,取决于安装的软件包,有时在 WWW 上,假设你有 Internet 连接。不过,我发现这种方式有几个缺点:

  • 有时电脑不在线
  • 有时 HTML 文档会被拆分成单独的文件,这会妨碍进行简单的全局搜索
  • 有时我不想打开网络浏览器——我只想使用命令行

将 Info 命令的输出发送到类似 Less 的寻呼机

命令行如何读取GNU信息文档?这是 Unix 工具箱原理的一个很好的例子。你无需学习任何新程序、编辑器模式或键盘快捷键。你可能已经知道寻呼机,例如 less、more 或 most:

info -o- chmod | less

不使用Emacs读取GNU信息文档 - 现在,你可以使用你已经知道的按键来使用 less 的所有强大功能(例如搜索和行编号)!如果你想了解 Unix 文件权限怎么办?你可以一口气查看整个 coreutils 手册:

info --subnodes -o- coreutils | less

然后你可以搜索“粘性”位并找出使用less的含义。

将信息命令的输出发送到文本编辑器

也许,你使用了你非常喜欢的文本编辑器。也许你喜欢它的导航和搜索功能。你已经知道如何使用它,所以请使用它!Unix 工具箱可以切换不同的工具。这里有些例子:

info -o- chmod | nano -

info -o- chmod | vi -

info --subnodes -o- coreutils | nano -

搜索所有信息文档

命令行如何读取GNU信息文档?info 命令有一个非常有用的搜索选项 -k,它可以在所有手册的所有索引中查找字符串。那是一种严肃的搜索能力。如果你想了解 setgid 权限的含义,请运行:

info -k setgid

which prints:

"(coreutils)Mode Structure" -- setgid

"(kpathsea)Security" -- setgid scripts

Use the output in double quotes as your argument to info, e.g.

info "(kpathsea)Security" | less

请注意, man 有一个类似的功能, man -K ,可以搜索所有手册页的全文。

不使用Emacs读取GNU信息文档总结

要从命令行GNU信息文档中存储的全面和最新信息,你可以使用任何寻呼机、编辑器或文本处理工具,例如 grep。由于 Unix 工具箱原理,你不必记住 Emacs/info 的新键盘快捷键。我们希望你发现这篇文章有用,如果你需要更多提示,请查看我们的其他文章。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: