Man - Linux命令 - UNIX命令

名稱

man格式並顯示在線手冊頁
manpath - 確定手冊頁的用戶搜索路徑

概要

man [ -acdfFhkKtwW ] [ --path ] [ -m system ] [ -p string ] [ -C config_file ] [ -M pathlist ] [ -P pager ] [ -S section_list ] [ section ] name ...

描述

man 格式並顯示在線手冊頁。 如果您指定部分man只會查看手冊的該部分。 名稱通常是手冊頁的名稱,通常是命令,函數或文件的名稱。 但是,如果名稱包含斜線( / ),則man會將其解釋為文件規範,以便您可以執行man ./foo.5甚至man /cd/foo/bar.1.gz

請參閱下面的說明,了解手動頁面文件的位置。

OPTIONS

-C config_file

指定要使用的配置文件; 默認是/etc/man.config 。 (見man.conf (5)。)

-M路徑

指定要搜索手冊頁的目錄列表。 用冒號分隔目錄。 空列表與沒有指定-M完全相同。 請參閱手冊頁的搜索路徑

-P尋呼機

指定使用哪個尋呼機。 此選項覆蓋MANPAGER環境變量,該變量又覆蓋PAGER變量。 默認情況下, man使用/ usr / bin / less -isr

-S section_list

列表是以冒號分隔的手動部分列表進行搜索。 該選項覆蓋MANSECT環境變量。

-一個

默認情況下, man會在顯示找到的第一個手冊頁後退出。 使用此選項將強制man顯示所有與名稱匹配的手冊頁而不僅僅是第一個。

-C

重新設置源手冊頁的格式,即使存在最新的貓頁面 。 如果貓頁面被格式化為列數不同的屏幕,或者預​​格式化的頁面已損壞,則這可能很有意義。

-d

不要實際顯示手冊頁,但要打印調試信息的gobs。

-D

顯示和打印調試信息。

-F

等同於whatis

-F--preformat

僅格式 - 不顯示。

-H

打印單行幫助信息並退出。

-k

相當於apropos

-K

在* all *手冊頁中搜索指定的字符串。 警告:這可能非常慢! 它有助於指定一個部分。 (只是給出一個粗略的想法,在我的機器上,每500頁手冊大約需要一分鐘。)

-m系統

根據給定的系統名稱指定一組備用手冊頁進行搜索。

-p字符串

指定要在nrofftroff之前運行的預處理器序列。 並非所有的安裝都會有一套完整的預處理器。 一些預處理器和用來指定它們的字母是:eqn(e),grap(g),pic(p),tbl(t),vgrind(v),refer(r)。 該選項將覆蓋MANROFFSEQ環境變量。

-t

使用/ usr / bin / groff -Tps -mandoc來格式化手冊頁,將輸出傳遞給stdout。 在打印之前, / usr / bin / groff -Tps -mandoc的輸出可能需要通過某個過濾器或另一個過濾器。

-w或--path

不要實際顯示手冊頁,但要打印將要格式化或顯示的文件的位置。 如果沒有給出參數:display(在stdout上)由man查找手冊頁的目錄列表。 如果人行道與人有聯繫,那麼“人行道”就相當於“人行道”。

-W

像-w一樣,但是每行打印一個文件名,沒有附加信息。 這在shell命令中很有用,比如man-aW man | xargs ls -l

CAT頁面

人會嘗試保存格式化的手冊頁,以便在下次需要這些頁面時節省格式化時間。 傳統上,DIR / manX中的頁面的格式化版本保存在DIR / catX中,但是可以在/etc/man.config中指定從man目錄到cat目錄的其他映射。 當所需的貓目錄不存在時,不會保存貓頁 。 當它們被格式化為不同於80的行長度時,不會保存貓頁面。當man.conf包含行NOCACHE時,不會保存貓頁面。

有可能讓男人對一個用戶男人很感興趣。 然後,如果一個貓目錄擁有所有者man和模式0755(只能由man寫),並且cat文件擁有所有者man和模式0644或0444(只能由人寫入,或者根本不可寫),所以普通用戶不能更改cat頁面或將其他文件放在cat目錄中。 如果man不是suid,那麼如果所有用戶都應該能夠離開cat頁面,cat目錄應該有模式0777。

即使最近的貓頁面存在,選項-c也會強制重新格式化一個頁面。

手動頁面的搜索路徑

man基於調用選項和環境變量, /etc/man.config配置文件以及一些內置約定和啟發式方法,使用複雜的方法查找手冊頁文件。

首先,當man名稱參數包含一個斜杠( / )時, man認為它本身就是一個文件規範,並且不涉及搜索。

但是,在名稱不包含斜線的正常情況下, man會在各種目錄中搜索可能是指定主題的手冊頁的文件。

如果指定-M 路徑列表選項,則路徑列表是由人類搜索的目錄的冒號分隔列表。

如果您不指定-M但設置了MANPATH環境變量,那麼該變量的值就是man搜索的目錄列表。

如果您沒有使用-MMANPATH指定顯式路徑列表,則man會根據配置文件/etc/man.config的內容開發自己的路徑列表。 配置文件中的MANPATH語句標識要包含在搜索路徑中的特定目錄。

此外,根據您的命令搜索路徑(即PATH環境變量), MANPATH_MAP語句會添加到搜索路徑中。 對於可能位於命令搜索路徑中的每個目錄, MANPATH_MAP語句指定應添加到手動頁面文件搜索路徑的目錄。 man查看PATH變量並將相應的目錄添加到手冊頁文件搜索路徑。 因此,通過正確使用MANPATH_MAP ,當您發出命令man xyz時,如果您發出命令xyz ,您將獲得將運行的程序的手冊頁。

另外,對於沒有 MANPATH_MAP語句的命令搜索路徑中的每個目錄(我們將其稱為“命令目錄”), man會自動查找手冊頁目錄“nearby”,即作為子目錄命令目錄本身或命令目錄的父目錄中。

您可以通過在/etc/man.config中包含NOAUTOPATH語句來禁用自動“附近”搜索。

在上述搜索路徑的每個目錄中, man搜索名為topic的文件 部分 ,在部分編號上有一個可選的後綴,可能還有一個壓縮後綴。 如果沒有找到這樣的文件,它會查找名為man Ncat N的任何子目錄,其中N是手動節號。 如果該文件位於cat N子目錄中, man會認為它是一個格式化的手冊頁文件(cat page)。 否則, 認為它是未格式化的。 在任何一種情況下,如果文件名有一個已知的壓縮後綴(如.gz ), man會認為它已被壓縮。

如果您想查看man (或如果)會找到特定主題的手冊頁,請使用--path-w )選項。

重要提示:使用man 命令%man )查看特定計算機上的命令使用方式。