有問題找男人幫忙- Man命令
本文轉載自微信公眾號「Linux開發那些事兒」,作者LinuxThings 。轉載本文請聯系Linux開發那些事兒公眾號。
Linux上命令非常多,不同的命令選項實現不同的功能,在日常的使用的過程中,不可能記住所有的命令選項,經常使用的命令,過段時間不用也會遺忘,又或遇到了一個陌生的命令,怎樣才能知道它有哪些常用參數以及各個參數的說明呢?
Linux中萬能幫助命令 man 可以完美解決以上的問題,man 可以實時的查詢命令的幫助文檔,從中你可以了解有關命令的所有參數以及用法說明。有了它,再也不用擔心記不住命令的各種選項了以及用法了。
man幫助手冊的安裝
man 是 manual 的縮寫,Linux 中默認已經安裝,但是有時會出現 No manual entry for xxx in section xx的錯誤,這是由于手冊不完整,可以通過以下命令重新安裝即可解決。
- yum install man-pages
獲得幫助的方法
使用 man 命令名 命令就可以獲得指定命令的幫助, 下面是獲得命令 pwd 幫助的例子
上圖中執行 man pwd 命令之后,輸出了 pwd 命令的語法以及各個選項的用法說明, 按 q 鍵可退出幫助
下面是 man幫助頁內常用快捷鍵及介紹,查看幫助的時候經常會用到
- ↑:向上移動一行
- ↓:向下移動一行
- 空格或f:向下翻一頁
- b: 向上翻一頁
- /: 從上往下查找, n 下一個匹配位置,N 上一個匹配位置,用法:/ 查找的內容 回車
- &/: 從下往上查找,n 下一個匹配位置,N 上一個匹配位置,用法:&/ 查找的內容 回車
幫助頁常用的部分
每一個 man 幫助頁都包含 NAME、SYNOPSIS、DESCRIPTION、OPTIONS 這幾個部分,下面列出了每個部分表示的意義
- NAME: 命令名字以及簡要的介紹
- SYNOPSIS:命令的語法格式
- DESCRIPTION:命令的詳細說明
- OPTIONS:命令各個選項及其說明
幫助的章節說明
man 命令本身也是一條命令,可以通過 man man 獲得 man 的幫助
上圖中,紅色框部分的 MAN(1) 字符串中的數字表示第幾章節,這里圖中表示第一章節
圖中綠色框部分是man幫助的各章節說明,可以看出總共有九章
這九章是什么意思呢,在獲取Linux幫助的時候,涉及到的命令非常的多,所以就對這些命令做了分類,總共分為九章,具體的章節信息如下:
- 1: 終端shell命令,就是普通命令
- 2: 系統調用,比如 open, write 函數,通過這個可以很方便的查到函數的信息,比如:所在頭文件、函數功能描述、函數參數、函數返回值以及返回值的意義
- 3:庫調用,比如 fread、fwrite函數
- 4:/dev目錄中的設備文件
- 5:配置文件格式及說明,比如:/etc/passwd 文件的格式說明
- 6:游戲
- 7:宏約定
- 8:系統管理命令,一般只允許root使用,比如: ifconfig命令
- 9:內核例程,目前沒用到
通過 man 章節編號 命令名 可以獲取命令指定章節的幫助,例如:第一章節的分類是終端shell命令, 假如我們想獲取 ls 命令第一章節的幫助,可以執行 man 1 ls命令,當我們使用第一章節的時候,可以省略 man 1 ls中的數字 1,最后命令就變成了 man ls。
你可能有個疑問,man為什么要分成九個章節的幫助呢?
是因為命令、系統調用、文件等在不同的章節的幫助中可能出現重名的情況,如果出現重名,只使用 man 命令名 是無法區分具體是哪個章節的幫助。
例如:passwd 是設置用戶密碼的命令,/etc/passwd 是密碼配置文件,二者名字都是passwd,當使用 man passwd 獲取幫助時就很難區分是 passwd命令的幫助還是 /etc/passwd配置文件的幫助。
從上面的例子中可以看出,通過 man 1 passwd 獲取的是passwd命令的幫助,通過 man 5 passwd獲取的是/etc/passwd配置文件的幫助
逐個查看與命令匹配的幫助頁
有時候對于一個命令的名字,我們不知道它是終端命令、系統調用、還是配置文件,這時可以用 man -a 命令名 從與命令名字匹配的章節列表中逐個的查看幫助信息
上面的例子中, man -a passwd 命令是從與命令名字匹配的章節列表中逐個章節的查看 passwd 的幫助信息
首先查看的是第一章節的幫助,此時 passwd 表示修改用戶密碼的shell命令
緊接著查看的還是第一章節的幫助,此時 passwd 表示 OpenSSL 模塊中計算密碼哈希值的命令
最后查看的是第五章節的幫助,此時 passwd 表示 /etc/passwd 配置文件
在查看的過程中,如果不想要查看此幫助時,可以按 Ctrl + D 跳過當前的幫助,進入下一個幫助的位置,按````q退出當前查看,然后再按回車鍵可進入下一個幫助的位置,按Ctrl + C ```直接退出幫助。
其他幫助命令
Linux中幫助命令除了 man 之外,還有 help 和 info , help 只是簡單的羅列命令的各個選項及其簡要介紹,比 man 更簡潔,info 對命令有非常詳盡的說明,比 man 更詳細,可以作為 man 的補充。
小結
本章介紹了 man 幫助命令常見用法,更多的功能請參考Linux幫助手冊。