學習如何高效地使用 man 頁
不久前,我們發布了一篇簡短的指引描述了如何輕易地回憶起忘記的 Linux 命令 。那篇指引對於無法記住命令的人來說真的非常有用。今天,我們就來學習一下如何高效而又迅速地從 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 頁替代品。
將完整的 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/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive