help、info 和 man 命令之間的區別
我知道這些命令將有助於獲取命令的語法和選項,但我的問題是它們之間有何不同?
help
是bash
shell(並且僅限該 shell)中的一個內置命令,它記錄了該 shell 的一些內置命令和關鍵字。那是該外殼的內部文件系統。其他 shell 有自己的文件系統(內置的ksh93
has--help
和--man
options,zsh
有一個 run-help 幫助程序,可以從其他格式的手冊中提取資訊)。其他命令,如vim
擁有自己的嵌入式文件系統。
man
是一個系統範圍的文件系統,為各個命令、API 函式、概念、配置文件語法、按部分組織的文件格式(1 用於使用者命令,2 用於系統呼叫……)提供簡短的參考手冊(頁面)。那是傳統的 Unix 文件系統。
info
是另一個源自 GNU 項目的文件系統。它是帶有連結的超文本(早於網路)。資訊手冊就像一本數字書籍,具有目錄和(可搜尋)索引的概念,有助於查找資訊。這三者之間有重疊。例如,
bash
作為 GNU 項目的一部分,既有手冊頁又有資訊手冊。手冊的大小使得 man 系統不太適合bash
。但是,info 手冊和索引的結構不是很好,bash
這使得查找資訊不像其他info
手冊那樣容易zsh
。zsh
更大的手冊被分成幾個手冊頁,並且還有一個很好的info
手冊和一個很好的索引。應該注意的是,該
info
手冊是從一種texinfo
格式生成的,該格式也用於生成 HTML 和可列印 (PDF/PS) 版本。在這種情況下zsh
,texinfo 是從另一種格式 (yodl
) 生成的。
help
是bash
內置的,bash
只為命令提供幫助
man
是系統上幾乎所有命令的傳統幫助形式,不僅如此,有時配置文件也有自己的手冊頁。在以包組織的 Linux 發行版中,相關文本通常由提供命令的同一包提供。如果你有bash-completion
,你可以利用TAB
查看哪些手冊頁可用。
info
是提供命令手冊頁的替代系統,基於GNU emacs
. 它主要用於GNU
命令和實用程序。它似乎沒有被其他人廣泛採用。