想要在linux下獨擋一面的編程,有一技能必須掌握,那就是查看協助。
可能你習慣用google,百度來找協助,但是使用下面的方法,擷取資訊更快,學習起來也更系統些。
要查看一個命令的協助有兩個方法:
這兩種方式一般命令都會有其中一種形式,有些兩種形式都有,而它們的輸出也很類似,都會告訴你命令的用法和命令支援的選項,比如:
g++ --helpman g++
命令g++ --help輸出中第一句就是:Usage: g++ [options] file... 這就是這個命令的用法,g++ 接選項(options)然後接檔案,那個中括弧的意思就是選項是可選的,你可以不給選項,也可以給任意多的選項。具體g++有哪些選項,前面一篇部落格介紹了幾個,剩下的自己開啟黑洞洞的視窗輸入命令看吧,貼出來的話太多了。
man g++的輸出有自己的格式,但也大同小異,也是自己試試吧。下面說下兩個命令的區別。
命令 + --help
這個協助是命令提供的,是作者寫命令時候寫在代碼裡面的,--help算是調用命令的選項。如果實現命令的作者沒有提供這個選項,那就沒辦法通過這種方式查看協助了。不過大多數命令支援,算是一種慣例吧。
man + 命令
這個man是manual(手冊)的縮寫,本身就是個命令,你也可以把它當成男人,有什麼命令不明白就問問這個好基友。關於這個基友,你可以也使用man --help或者man man查看關於他的協助。
man對自己的說明是:an interface to the on-line reference manuals,就是用來查看線上手冊的一個介面,說是線上手冊,其實很多命令的協助檔案都儲存在本地。不過無所謂了,重要的是瞭解這個協助檔案和命令是分開的,協助檔案和命令的作者可以不是一個人,所以理論上說的話你可以寫個ls的協助檔案,但是內容確是g++的協助。。。
還有既然man是個介面,意思就是這個協助檔案的格式是有要求的,所以所有man顯示出來的協助,都會有NAME,SYNOPSIS,DESCRIPTION,等等描述。你如果要寫man page,也需要遵守它的要求。
一般命令這兩種協助都有,選擇哪個就看個人愛好了,能看懂一種,另一種肯定也能看懂。遇到有些命令只有一種協助,也能閱讀的遊刃有餘。
最後大家試試查看之前講的幾個命令或者自己知道的命令的協助吧,熟能生巧:)