作者 | Sk
譯者 | lujun9972
不久前,我們釋出了一篇簡短的指引描述瞭如何輕易地回憶起忘記的 Linux 命令 [1]。那篇指引對於無法記住命令的人來說真的非常有用。今天,我們就來學習一下如何高效而又迅速地從 man 頁中獲取你所需要的資訊。如你所知,一個標準的 man 頁分成很多個部分,每部分都有一個獨立的標題。當你想檢視特定的標誌/選項時,可能需要向下滾動很長時間才能找到。這是個效率低下而且很耗時間的過程。這也是為什麼學會高效使用 man 頁來精確定位你想要的內容。
在本文中,我會分享一些常用的跟 man 頁相關的重要技巧。
學習高效地使用 Man 頁
基礎用法
我們都知道,我們可以使用類似下麵的命令來開啟關於某個命令(比如 mkdir
)的 man 頁:
man mkdir
可以使用 空格
,d
,b
以及上下箭頭等來瀏覽 man 頁。要跳轉道 man 頁的末尾,可以按 End
鍵而想跳轉到 man 頁的頭部則可以按 Home
鍵。在當前開啟的 man 頁中按下 h
鍵會顯示所有有用的鍵盤快捷鍵和一般用法。(LCTT 譯註:這些快捷鍵其實是 man 所使用的 less 分頁器的快捷鍵)
按 q
可以退出 man 頁。
回憶起忘記的命令
對於那些不知道想要哪個命令的傢伙,可以去檢視一下我第一段中提到的那個連結。使用 man 頁我們也能做到這一點。假設說,你想要建立一個目錄,而你忘記了使用哪個命令來建立目錄。
為了回憶起那個忘記的命令,可以將 man 和 grep
命令聯用:
man -k directory | grep create
輸出結果為:
CURLOPT_NEW_DIRECTORY_PERMS (3) - permissions for remotely created directories
libssh2_sftp_mkdir_ex (3) - create a directory on the remote file system
mkdir (2) - create a directory
mkdirat (2) - create a directory
mkdtemp (3) - create a unique temporary directory
mkdtemp (3p) - create a unique directory or file
mkfontdir (1) - create an index of X font files in a directory
mklost+found (8) - create a lost+found directory on a mounted Linux second extended file。。。
mkstemp (3p) - create a unique directory
mktemp (1) - create a temporary file or directory
pam_mkhomedir (8) - PAM module to create users home directory
你只需要閱讀一下每個命令的描述然後挑選出合適的命令就行了。啊,現在你記起來了。mkdir
正式你想要的,對吧?就是那麼簡單。
在 man 頁中搜索
若你在 man 頁中想要查詢特定字串。只需要輸入 /
(前斜線)再加上你想要搜尋的字串,像這樣:
/<search_string> 或 <pattern>
假設你正在檢視 mount
命令的 man 頁,想要尋找關於 -bind
選項的相關資訊。可以輸入:
/bind
當前 man 頁中任何匹配搜尋字串的內容都會被高亮顯示。
按下 n
和 SHIFT+n
來檢視下一個/上一個匹配的地方。
/
樣式(或者說字串)會向前搜尋匹配行。你也可以使用 ?
樣式進行向後搜尋。這當你在 man 頁的末尾或中間位置時非常有用。
?bind
若想只顯示匹配行,輸入:
&bind
使用這種方法,你無需使用 n
和 SHIFT+n
來滾動到下一個/上一個匹配的位置。&
樣式只會顯示那些包含搜尋內容的行,其他的內容全都被省略掉。
不開啟 man 頁而進行搜尋
也可以在不開啟 man 頁的前提下搜尋指定選項的資訊。
比如,你想瞭解 mkdir
命令中的 -m
選項的相關資訊。可以執行:
man mkdir | grep -e '-m'
或者,
man mkdir | grep -- '-m'
這個命令會顯示出 mkdir
命令 man 頁中第一次出現 -m
時的內容。從上面命令中我們可以看到 -m
表示的是 “MODE”(chmod
)。
如果你想閱讀 mkdir
命令的完整 man 頁,但是要跳過第一次出現 -m
之前的內容,可以使用下麵命令:
man mkdir | less +/-m
這是另一個例子:
man mount | less +/--bind
按下 n
或 SHIFT+n
可以瀏覽下一個/上一個匹配的位置。
參考閱讀:每個 Linux 使用者都應該知道的 3 個 man 頁替代品[2]。
將完整的 man 頁匯出到文字檔案中
我們可以將指定命令的完整 man 頁匯出成文字檔案。方法是執行下麵命令:
man mount > mount.txt
該命令會將 mount
命令的 man 頁匯出到當前目錄的 mount.txt
檔案中。
也可以獲取一個簡化版的 man 頁,沒有退格和下劃線,方法是使用下麵命令。
man mount | col -b > mount.txt
要瞭解更多關於 man 頁的詳細資訊,執行:
man man
該命令會顯示出關於 man 的 man 頁。這些技巧都很基礎但很實用。它們會節省你很多的時間而且能免去很多的滾動操作。
今天的內容就到這了。希望對你有幫助。更多好文即將到來。準備好哦!
Cheers!
(題圖:Pixabay, CC0)
via: https://www.ostechnix.com/learn-use-man-pages-efficiently/
作者:SK[4] 譯者:lujun9972 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出