歡迎光臨
每天分享高質量文章

學習如何高效地使用 man 頁 | Linux 中國

一個標準的 man 頁分成很多個部分,每部分都有一個獨立的標題。當你想查看特定的標誌/選項時,可能需要向下滾動很長時間才能找到。這是個效率低下而且很耗時間的過程。
— Sk


本文導航
編譯自 | https://www.ostechnix.com/learn-use-man-pages-efficiently/ 
 作者 | Sk
 譯者 | lujun9972

不久前,我們發佈了一篇簡短的指引描述瞭如何輕易地回憶起忘記的 Linux 命令 [1]。那篇指引對於無法記住命令的人來說真的非常有用。今天,我們就來學習一下如何高效而又迅速地從 man 頁中獲取你所需要的信息。如你所知,一個標準的 man 頁分成很多個部分,每部分都有一個獨立的標題。當你想查看特定的標誌/選項時,可能需要向下滾動很長時間才能找到。這是個效率低下而且很耗時間的過程。這也是為什麼學會高效使用 man 頁來精確定位你想要的內容。

在本文中,我會分享一些常用的跟 man 頁相關的重要技巧。

學習高效地使用 Man 頁

基礎用法

我們都知道,我們可以使用類似下麵的命令來打開關於某個命令(比如 mkdir)的 man 頁:

  1. man mkdir

可以使用 空格db 以及上下箭頭等來瀏覽 man 頁。要跳轉道 man 頁的末尾,可以按 End 鍵而想跳轉到 man 頁的頭部則可以按 Home 鍵。在當前打開的 man 頁中按下 h 鍵會顯示所有有用的鍵盤快捷鍵和一般用法。(LCTT 譯註:這些快捷鍵其實是 man 所使用的 less 分頁器的快捷鍵)

按 q 可以退出 man 頁。

回憶起忘記的命令

對於那些不知道想要哪個命令的家伙,可以去查看一下我第一段中提到的那個鏈接。使用 man 頁我們也能做到這一點。假設說,你想要創建一個目錄,而你忘記了使用哪個命令來創建目錄。

為了回憶起那個忘記的命令,可以將 man 和 grep 命令聯用:

  1. man -k directory | grep create

輸出結果為:

  1. CURLOPT_NEW_DIRECTORY_PERMS (3) - permissions for remotely created directories

  2. libssh2_sftp_mkdir_ex (3) - create a directory on the remote file system

  3. mkdir (2) - create a directory

  4. mkdirat (2) - create a directory

  5. mkdtemp (3) - create a unique temporary directory

  6. mkdtemp (3p) - create a unique directory or file

  7. mkfontdir (1) - create an index of X font files in a directory

  8. mklost+found (8) - create a lost+found directory on a mounted Linux second extended file。。。

  9. mkstemp (3p) - create a unique directory

  10. mktemp (1) - create a temporary file or directory

  11. pam_mkhomedir (8) - PAM module to create users home directory

你只需要閱讀一下每個命令的描述然後挑選出合適的命令就行了。啊,現在你記起來了。mkdir 正式你想要的,對吧?就是那麼簡單。

在 man 頁中搜索

若你在 man 頁中想要查找特定字串。只需要輸入 / (前斜線)再加上你想要搜索的字串,像這樣:

  1. /<search_string> <pattern>

假設你正在查看 mount 命令的 man 頁,想要尋找關於 -bind 選項的相關信息。可以輸入:

  1. /bind

當前 man 頁中任何匹配搜索字串的內容都會被高亮顯示。

按下 n 和 SHIFT+n 來查看下一個/上一個匹配的地方。

/ 樣式(或者說字串)會向前搜索匹配行。你也可以使用 ? 樣式進行向後搜索。這當你在 man 頁的末尾或中間位置時非常有用。

  1. ?bind

若想只顯示匹配行,輸入:

  1. &bind

使用這種方法,你無需使用 n 和 SHIFT+n 來滾動到下一個/上一個匹配的位置。& 樣式只會顯示那些包含搜索內容的行,其他的內容全都被省略掉。

不打開 man 頁而進行搜索

也可以在不打開 man 頁的前提下搜索指定選項的信息。

比如,你想瞭解 mkdir 命令中的 -m 選項的相關信息。可以運行:

  1. man mkdir | grep -e '-m'

或者,

  1. man mkdir | grep -- '-m'

這個命令會顯示出 mkdir 命令 man 頁中第一次出現 -m 時的內容。從上面命令中我們可以看到 -m 表示的是 “MODE”(chmod)。

如果你想閱讀 mkdir 命令的完整 man 頁,但是要跳過第一次出現 -m 之前的內容,可以使用下麵命令:

  1. man mkdir | less +/-m

這是另一個例子:

  1. man mount | less +/--bind

按下 n 或 SHIFT+n 可以瀏覽下一個/上一個匹配的位置。

參考閱讀:每個 Linux 用戶都應該知道的 3 個 man 頁替代品[2]

將完整的 man 頁匯出到文本檔案中

我們可以將指定命令的完整 man 頁匯出成文本檔案。方法是運行下麵命令:

  1. man mount > mount.txt

該命令會將 mount 命令的 man 頁匯出到當前目錄的 mount.txt 檔案中。

也可以獲取一個簡化版的 man 頁,沒有退格和下劃線,方法是使用下麵命令。

  1. man mount | col -b > mount.txt

要瞭解更多關於 man 頁的詳細信息,運行:

  1. man man

該命令會顯示出關於 man 的 man 頁。這些技巧都很基礎但很實用。它們會節省你很多的時間而且能免去很多的滾動操作。

今天的內容就到這了。希望對你有幫助。更多好文即將到來。準備好哦!

Cheers!

(題圖:Pixabay, CC0)


via: https://www.ostechnix.com/learn-use-man-pages-efficiently/

作者:SK[4] 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

lujun9972 ? ? ?
共計翻譯:29 篇
貢獻時間:25 天


推薦文章

< 左右滑動查看相關文章 >

點擊圖片、輸入文章 ID 或識別二維碼直達

赞(0)

分享創造快樂