Man

為什麼手冊頁沒有範例?

  • June 15, 2020

大多數手冊頁不包含一些常見範例是否有原因?他們通常會解釋所有可能的選項,但這使得初學者更難理解它是如何“通常”使用的。

這取決於手冊頁……傳統上,它們包含一個帶有範例的部分 - 但由於某種原因,Linux 下的手冊頁中通常缺少該部分(我假設其他使用 GNU 命令 - 這些天最多)。另一方面,例如 Solaris,幾乎每個手冊頁都包含範例部分,通常包含幾個範例。

如果我猜的話,FSF/GNU 長期以來一直不鼓勵使用man頁面,而是更喜歡使用者將資訊用於文件。info頁面往往比手冊頁更全面,並且通常包含範例。 info頁面也更具“主題性” - 即相關命令(例如查找文件的命令)通常可以一起找到。

另一個原因可能是 GNU 及其man頁面在許多不同的作業系統上使用,這些作業系統可能彼此不同(畢竟不同的 Linux 發行版之間存在很多差異)。其目的可能是發布者添加了與特定作業系統/發行版相關的範例——這顯然很少這樣做。

我還要補充一點,這些man頁面從未打算“教初學者”。UNIX 是由電腦專家(舊稱“黑客”)開發的,旨在供電腦專家使用。因此,手冊頁不是為了教新手,而是為了快速幫助需要提醒一些晦澀選項或奇怪文件格式的電腦專家 - 這反映在手冊頁的分段方式中。

man-pages 因此旨在作為

  • 快速參考以刷新您的記憶;向您展示如何呼叫該命令,並列出可用選項。
  • 對命令所有方面的深入而徹底的 - 通常是非常技術性的 - 描述。它是由電腦專家為其他電腦專家編寫的。
  • 命令使用的環境變數和文件(即配置文件)列表。
  • 參考其他文件(例如書籍)和其他man頁面 - 例如。用於配置文件和相關/類似命令的格式。

也就是說,我非常同意你的觀點,man頁面應該有範例,因為它們比閱讀手冊頁本身更能解釋用法。太糟糕的例子通常在 Linux 頁面上不可用man……

Solaris 手冊頁範例部分的範例 - zfs(1M):

(...)
例子
範例 1 創建 ZFS 文件系統層次結構

以下命令創建一個名為 pool/home 的文件系統
和一個名為 pool/home/bob 的文件系統。掛載點
/export/home 是為父文件系統設置的,並且是
由子文件系統自動繼承。

# zfs 創建池/首頁
# zfs set mountpoint=/export/home pool/home
# zfs 創建 pool/home/bob

範例 2 創建 ZFS 快照

以下命令創建一個名為昨天的快照。
此快照在 .zfs/snapshot 中按需掛載
pool/home/bob 文件系統的根目錄。

# zfs 快照池/home/bob@yesterday

範例 3 創建和銷毀多個快照

以下命令創建名為昨天的快照
pool/home 及其所有後代文件系統。每個
快照按需掛載在 .zfs/snapshot 目錄中
在其文件系統的根目錄。第二個命令破壞
新創建的快照。

# zfs 快照 -r pool/home@yesterday
# zfs destroy -r pool/home@yesterday

SunOS 5.11 最後更改:2012 年 7 月 23 日 51

系統管理命令 zfs(1M)

範例 4 禁用和啟用文件系統壓縮

以下命令禁用壓縮屬性
(...)

這個特定的手冊頁帶有 16 個(!)這樣的例子……向 Solaris 致敬!

(而且我承認我自己大多遵循這些範例,而不是閱讀該命令的整個手冊頁……)

引用自:https://unix.stackexchange.com/questions/306189