Linux 命令(0)—— man 命令

1.命令簡介

man(manual) 命令用於查看命令幫助、配置文件幫助和編程幫助等信息。

Linux 提供了豐富的命令以及幫助手冊,當需要了解某個命令的作用及用法時,可以使用 man 查看一下其幫助手冊,同時也可以使用 man man 查看 man 命令的使用方法。當需要了解與編程相關的系統調用以及庫函數的用法時,也可以通過 man 查看接口的幫助手冊。此外,系統相關的配置文件的介紹也可以通過 man 來查看。

man 可以查詢不同類型的幫助手冊,當目標存在多個不同類型的幫助手冊時,我們可以指定要查找的手冊類型,也可以不指定,此時 man 會搜索所有類型的幫助手冊,但是隻會按照預定義的順序展示第一個。預定義的順序可以使用環境變量 $MANSECT 或配置文件 /usr/local/etc/man_db.conf 中的 SECTION 指令指定,默認爲:

1 8 3 2 5 4 9 6 7

幫助手冊分爲多種類型,即不同的 section,主要有:

1	可執行程序或 Shell 命令
1p	可執行程序或 Shell 命令(POSIX 版)
2	系統調用(內核提供的函數)
3	庫調用(程序庫中的函數)
4	特殊文件(通常在/dev中找到)
5	文件格式和約定,如 /etc/passwd
6	遊戲
7	雜項(包括宏包和約定),例如 man(7)、groff(7)
8	系統管理命令(通常只針對 root 用戶)
9	內核相關文件[非標準]

幫助手冊約定內容包括:

NAME			名稱
SYNOPSIS		簡介
CONFIGURATION	配置
DESCRIPTION		描述
OPTIONS			選項
EXIT STATUS		退出碼
RETURN VALUE	返回值
ERRORS			錯誤
ENVIRONMENT		環境變量
FILES			相關文件
VERSIONS		版本
CONFORMING TO	遵循的規則
NOTES			注意事項
BUGS			缺陷
EXAMPLE			示例
AUTHORS			作者
COPYRIGHT 		版權
SEE ALSO		拓展閱讀
HISTORY			維護歷史

在表現形式上,手冊遵循如下規則:

粗體內容:重點關鍵詞
斜體內容:待替換內容。因爲終端渲染問題,一般使用下劃線或彩色文本替代斜體
[-abc]:中括號內的選項或內容是可選的
-a|-b:被 | 分隔的選項是多選一,不能一起使用
...:三個點號表示重複

2.命令格式

man [OPTION]... [[SECTION] PAGE]...

man 可以不跟任何選項與參數,會輸出如下提示信息:

What manual page do you want?

3.選項說明

閱讀下面的選項說明,需要注意以下幾點:
(1)沒有參數的選項可以重複出現,有參數的選項如果重複出現,後面選項的參數將會覆蓋前面的參數;
(2)長選項的必填參數對於短選項也是必須的。

一般選項:
-C, --config-file=FILE
	使用指定的用戶配置文件而不是默認的 ~/.manpath
-d, --debug
	打印 debug 信息
-D, --default
	此選項通常作爲第一個選項,將 man 的行爲重置爲默認行爲。它的用途是重置那些可能已經在 $MANOPT 中設置的選項。在 -D 後面的選項會正常生效
--warnings[=WARNINGS]
	啓動來自 groff 的告警。groff 是 GNU 版 troff,是文字排版工具

主要操作模式:
-f, --whatis
	等同於 whatis 命令,顯示手冊頁中的簡短說明(如果可用),詳見 whatis(1)
-k, --apropos
	等同於 apropos 命令,按照關鍵字搜索手冊頁中的簡短描述並顯示任何匹配,詳見 apropos(1)
-K, --global-apropos
	在所有手冊頁中搜索文本。這是蠻力搜索,可能需要一些時間,如果可以,應該指定一個 section 來減少需要搜索的手冊頁數量
-l, --local-file
	激活本地模式。格式化和顯示本地手冊文件,而不是通過搜索系統的手冊集
-w, --where, --path, --location
	不顯示手冊頁內容,輸出手冊的位置
-W, --where-cat, --location-cat
	不顯示手冊頁內容,輸出 cat 文件的位置
-c, --catman
	此選項不用於一般用途,只能由管理員命令 catman 使用
-R encoding, --recode=encoding
	以指定編碼輸出手冊內容

尋找手冊頁:
-L, --locale=LOCALE
	man 通常通過調用 C 函數setlocale(3)來確定當前的語言環境,該函數詢問各種環境變量,可能包括 $LC_MESSAGES 和 $LANG。該選項可以臨時改變 man 的語言環境
-m, --systems=SYSTEM[,...]
	訪問其他系統的手冊頁集,可指定多個不同的系統
-M, --manpath=path
	指定手冊頁的路徑。該選項將會覆蓋環境變量 $MANPATH 且使 man 忽略選項 -m 選項
-S, -s, --sections=LIST
	指定 man 搜索的手冊頁類型列表,使用冒號或逗號分隔,man 將按照給定的順序進行搜索。該選項將覆蓋環境變量 $MANSECT
-e , --extension=SUB-EXTENSION
	將搜索限制在擴展類型爲 SUB-EXTENSION 的手冊頁之內
-i, --ignore-case
	搜索手冊頁時忽略大小寫(默認)
-I, --match-case
	搜索手冊頁時大小寫敏感
--regex
	以正則表達式搜索手冊頁並顯示所有匹配的手冊頁
--wildcard
	以通配符搜索手冊頁並顯示所有匹配的手冊頁
--names-only
	當使用選項 --regex 或 --wildcard 時,只搜索手冊頁的 NAME 部分,不搜索 DESCRIPTION 部分
-a, --all
	顯示所有匹配的手冊頁而不是僅顯示第一個匹配的手冊頁
-u, --update
	該選項導致 man 對其數據庫緩存執行 inode 級別的一致性檢查,以確保它們是文件系統的準確表示。只有安裝了設置了 setuid 位的 man 纔會產生有用的效果
--no-subpages
	出線成對的手冊頁名時,第二個手冊頁名作爲單獨的手冊頁名,而是不第一個手冊頁的子手冊頁。比如有些命令存在子命令,例如 git

控制格式化輸出:
-P, --pager=PAGER
	指定瀏覽手冊頁的工具,man 默認使用 less -s。該選項覆蓋 $MANPAGER 環境變量,後者又覆蓋 $PAGER 環境變量。它不與 -f 或 -k 連用
-r, --prompt=PROMPT
	如果使用 less 作爲手冊頁的瀏覽工具,man 將嘗試設置其提示和一些合理的選項。默認提示爲 Manual page name(sec) line x
-7, --ascii
	使用 ASCII 字符瀏覽手冊頁
-E, --encoding=ENCODING
	使用指定編碼輸出手冊也內容
--no-hyphenation, --nh
	換行處不使用連字符
--no-justification, --nj
	不調整字距離以鋪滿整行
-p, --preprocessor=STRING
	指定在 nroff 或 troff/groff 之前運行的預處理程序的順序
-t, --troff
	使用 groff -mandoc 將手冊頁格式化爲標準輸出。給定 -H、-T 或 -Z 不需要此選項
-T, --troff-device[=DEVICE]
	此選項用於更改 groff(或 troff)的輸出設備,使其適合於默認設備之外的設備
-H, --html[=BROWSER]
	此選項將導致 groff 生成 HTML 輸出,並將在 web 瀏覽器中顯示該輸出
-X, --gxditview[=DPI]
	使用 gxditview 程序在圖形窗口中顯示 groff 的輸出。DPI(點/英寸)可能是 75、75-12、100 或 100-12,默認爲 75
-Z, --ditroff
	groff 將運行 troff,然後使用適當的後處理器生成適合所選設備的輸出。如果 groff 表示 groff -mandoc,那麼 該選項將抑制 groff 使用後處理器

獲取幫助:
-?, --help
	輸出幫助並推出
--usage
	打印一個簡短的用法並退出
-V, --version
	輸出版本並退出

實際上,日常使用 man 時很少會用到 man 的選項,最常用的是指定手冊類型和手冊名:

man SECTION PAGE

4.交互式命令

由於 man 默認使用 less 作爲手冊的瀏覽工具,這裏給出 less 常用的瀏覽導航交互式命令。如果忘記命令,可以鍵入 h 或 H 查看命令的幫助信息。

ENTER 向前滾動一行
y 向後滾動一行

d 向前滾動半屏
u 向後滾動半屏

f 向前滾動一屏
b 向後滾動一屏

g 跳轉到文件首行
G 跳轉到文件末行

/PATTERN 向前搜索指定內容
n 跳轉到下一個匹配項
N 跳轉到前一個匹配項

h 顯示幫助信息
q 退出

5.常用示例

(1)查看用戶命令 man 的幫助手冊。

man man

# 或
man 1 man

如果想查看 POSIX 版本的命令幫助手冊,指定 SECTION 爲 1p 即可。

man 1p man

(2)查看系統調用 read 的幫助手冊。

man 2 read

(3)查看庫函數 printf 的幫助手冊。

man 3 printf

(4)查看特殊的設備文件 tty 的幫助手冊。

man 4 tty

(5)查看用戶信息文件 /etc/passwd 格式說明。

man 5 passwd

(6)查看用於格式化手冊的宏。

man 7 man

(7)查看系統管理命令 mount。

man 8 mount

(8)查看手冊的地址而不是手冊內容,以 man 命令爲例。

man -w man
/usr/share/man/man1/man.1.gz

參考文獻

[1] man(1) manual
[2] GNU troff (Groff) — a GNU project
[3] Linux 命令(89)—— less 命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章