man-pages
我猜man大概是manual的意思,即它是個(gè)手冊。這個(gè)手冊最常用的的功能是查詢:系統(tǒng)命令的用法、系統(tǒng)調(diào)用的用法和標(biāo)準(zhǔn)C庫函數(shù)的用法。
其實(shí),man相當(dāng)于若干本手冊,從官方網(wǎng)頁上可以看到,每一本的功能如下:
- 1: User commands; man-pages includes a very few Section 1 pages that document programs supplied by the GNU C library.
- 2: System calls documents the system calls provided by the Linux kernel.
- 3: Library functions documents the functions provided by the standard C library.
- 4: Devices documents details of various devices, most of which reside in /dev.
- 5: Files describes various file formats, and includes proc(5), which documents the /proc file system.
- 7: Overviews, conventions, and miscellaneous.
- 8: Superuser and system administration commands; man-pages includes a very few Section 8 pages that document programs supplied by the GNU C library.
我們最常用的就是前三本手冊,分別對應(yīng)了系統(tǒng)命令、系統(tǒng)調(diào)用和標(biāo)準(zhǔn)C庫。
使用方法
一般使用方法是在命令行終端中敲man 數(shù)字 名字,數(shù)字指出第幾本手冊,名字指出要查詢的函數(shù)或命令的名字,數(shù)字也可以省略,但是如果這個(gè)名字在別的手冊里也有,如果沒查到想要的手冊就得寫明數(shù)字來指定手冊。
舉例
系統(tǒng)命令——LS(1)
在終端中敲man ls或man 1 ls,可以看到很長的對ls命令的說明,同時(shí)注意有個(gè)LS(1)的寫法,如果在別的地方看到類似的寫法,就是說,可以在man的第一本手冊里看到ls命令的說明。
系統(tǒng)調(diào)用——OPEN(2)
系統(tǒng)命令也有一個(gè)open,如果不敲數(shù)字,就會查出系統(tǒng)命令open的手冊,所以這里必須加數(shù)字。
man 2 open
在類Unix環(huán)境編程中,這非常有用。除了可以看到系統(tǒng)調(diào)用的用法,更重要的是可以知道該引用哪些頭文件,再有一點(diǎn)是可以找到那些相關(guān)的宏或數(shù)據(jù)結(jié)構(gòu),在沒有自動(dòng)補(bǔ)全或足夠的參考代碼的環(huán)境下編程,這點(diǎn)很重要,因?yàn)榫幾g器可不會告訴你它不認(rèn)識的符號在哪個(gè)頭文件里。
標(biāo)準(zhǔn)C庫函數(shù)——PRINTF(3)
同open,printf也必須加數(shù)字。
man 3 printf
與系統(tǒng)調(diào)用一樣,也是可以找到說明、頭文件、相關(guān)的宏和數(shù)據(jù)結(jié)構(gòu)。
如果你向大牛請教問題,大牛給了你一個(gè)命令或函數(shù)名字,那么在你進(jìn)一步問出疑似伸手黨的小白問題之前,最好先用
man一下。