概念拼圖︰Linux 手冊!

The Linux Document Project 這個文件計畫始於 1992 年,二十二年過去了,到了今天也有了 WiKi ,雖然已經有了相當多的文件和資料,但是對大多數人來說,想要用的資料卻總是『找不到』。也許對許多軟體工程師來講,寫『使用手冊』是非常令人討厭的事,尤其針對快速發展,經常改版的軟體;當然也有很多開源軟體文件寫得很好,例如說功能強大的自由辦公室套件 Libre Office,它的文件就像真的書本一樣。那麼對一些已有『手冊』manual 的命令呢?很多使用過 man 來讀命令手冊的人 ── 比如打 man dmesg ︰dmesg 的 命令手冊 ──,都覺得十分難讀為什麼呢?試著再打一下『 man man 』,你就了解了。然而,為什麼不是呢?最早的『程式設計師』手冊,寫於 1971 年,已經四十多年前了,主撰者包括 了Dennis Ritchie 先生,今天知名的『 C 語言』的創始者。只是那個時代最好的的電腦,功能都比不上今天的一個小微處裡器, 更不會用『叫什麼 troff  』的文書處理程式下指令來寫文件??世界上,或許不只空間會有距離時間也會產生隔閡;也許今天更需要『閱讀過去的辦法了!以前愛因斯坦特別推重『想像力』,他說他想著『騎在光上』而發現了相對論。那麼如果能想像的『設身處地』,是否能了解不同的『時代』── 無論是『過去』或『未來』──打開時空之門

就讓我們試著解構一下 wiki 上說的『命令手冊』的主要結構,稍稍替換一下也可以用於『函數』function︰

名稱』NAME 第一個段落︰以命令名稱起頭,用一句話說明它做什麼

摘要』SYNOPSIS 第二個段落︰如何執行它,它接受哪些命令列的『選項』options。

說明』DESCRIPTION 第三個段落︰它的功能描述文本。

範例』EXAMPLES 第四個段落︰它的通常用法

另見』SEE ALSO 第五個段落︰與它相關的命令。

其他可以放進段落裡的有『選項 OPTIONS 』、『跳出狀態 EXIT STATUS 』、『環境  ENVIRONMENT』、『臭蟲  BUGS』、『檔案  FILES 』、『作者  AUTHOR 』、『報告臭蟲  REPORTING BUGS 』、『歷史 HISTORY』和『著作權  COPYRIGHT 』。真是洋洋灑灑蔚為大觀,怪哉!man dmesg 竟然沒有範例,也許你會發現許多這樣的範例。現在讓我們解讀一下『 cat 手冊』︰起頭的“CAT(1) ”的 1 表示『一般命令』 ,斜黑體字表示關注點

CAT(1) User Commands CAT(1)
NAME cat – concatenate files and print on the standard output
SYNOPSIS cat [OPTION]… [FILE]…
DESCRIPTION Concatenate FILE(s), or standard input, to standard output.
-A, –show-all equivalent to -vET
-b, –number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, –show-ends display $ at end of each line
-n, –number number all output lines
-s, –squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, –show-tabs display TAB characters as ^I
-u (ignored)
-v, –show-nonprinting use ^ and M- notation, except for LFD and TAB
–help display this help and exit
–version output version information and exit
With no FILE, or when FILE is , read standard input.
EXAMPLES
cat f – g
Output f’s contents, then standard input, then g’s contents.
cat Copy standard input to standard output.
AUTHOR
Written by Torbjorn Granlund and Richard M. Stallman.
REPORTING BUGS
Report cat bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report cat translation bugs to <http://translationproject.org/team/>拼圖
COPYRIGHT
Copyright © 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
tac(1)
The full documentation for cat is maintained as a Texinfo manual. If
the info and cat programs are properly installed at your site, the com‐
mand info coreutils ‘cat invocation’
should give you access to the complete manual.
GNU coreutils 8.12.197-032bb September 2011 CAT(1)

首先『通篇』瀏覽,注意著關注點,你會發現許多『術語』和『縮寫』。Linux 手冊之所以難讀,就在於它是用術語以及縮寫以邏輯脈絡編串起來的語詞網路。一旦不了解某個術語,或不知道那個縮寫代表什麼,『望文生義』大概是不管用的。其次,它是以『命令為中心』── 做什麼如何做?如果打開什麼選項,那它能做什麼?──,用『命令動詞』作用於『資料名詞』。也就是 IPO 模型中以『處理』為的操作觀點。『方便性』一詞通常需要放到『時代』的眽絡裡來理解── 那時,只有字元顯示器,卻是多人多工使用的小 CPU ,以及一個普通的字元鍵盤 ──『簡短化』命名的命令、把常用共時的多個選項給它『縮寫化』以及長的術語多用『縮首字』,正是為著方便使用者。再者『一碼歸一碼』── Case By Case ──,這個『情況』是這樣,那個『狀態』要那樣,要這樣『顯示』,必須這個『選項』,…什麼『選項』都沒有,代表『預設』的是什麼……等等使用上的邏輯脈絡,大概必須

』讀︰
files 加 「s 」,多個檔案『連接』concatenate,所以得到名號,也可用於 「一個」檔案,如果只打cat 代表「從鍵盤拷貝到顯示器」;

』讀︰
」在命令列代表讀取 stdin,也就是鍵盤。而縮首字 GNU GPL 是說的自由軟體大眾授權之事;

,否則容易一頭霧水難以掌握。而這個『難處』正是需要以

整理』、『作圖』、『畫表』…的功夫,來

克服它,然後你會發現

閱讀樂趣』──

原來那張『概念拼圖』就是 Linux ㄚ !!