man手冊的閱讀障礙一般是:
1.英語不好,讀不懂各個參數(shù)的作用;
2.不明白命令參數(shù)該如何組合
3. ......害怕
這篇文章不直接說明某個命令的用法,只是告訴一些需要的人怎么讀懂man手冊中提供的命令格式,如果你想知道某個命令的作用和使用實例,請Ctrl+w。
一.man手冊的內(nèi)容結(jié)構(gòu)(說明書頁的格式):
標(biāo)題含義
Name命令的名稱和用途(摘要)
Synopsis命令語法(摘要)
Description完整描述
Environment命令使用的環(huán)境變量
Author作者
Files對該命令重要的文件列表
See also查看相關(guān)的信息的位置
Diagnostics可能的錯誤和警告
Bugs錯誤、缺點、警告
其中查看命令用法的時候我們最關(guān)心的應(yīng)該是第二和第三項。
二·man手冊中Linux命令語法的形式描述:
options:命令選項有兩種形式:長選項(--)和短選項(-)
長選項: 用 -- 引導(dǎo),后面跟完整的單詞,如 --help
短選項: 用 - 引導(dǎo),后面跟單個的字符, 如 -a
多個短選項可以組合使用,例如:-h -l -a == -hla
但是長選項不能組合使用,如 --help后面就不能再跟另外一個單詞了。
options 也可以有自己的參數(shù),可稱為arguments,(注意,選項與選項之間,選項與參數(shù)之間,參數(shù)與參數(shù)之間必須有空格!)而且,命令的選項和參數(shù)所使用的符號也有相應(yīng)的含義:
1.方括號中的項是可選的;
2.不在方括號或是在大括號中的項是必選項(也有說<>括起來的,不過我沒還見過);
3.黑體(還是粗體?)字必須按原樣準(zhǔn)確鍵入,這一類可能是命令名,標(biāo)志和文字字符;
4.斜體字必須用適當(dāng)?shù)闹荡妫ú伙@示斜體字的系統(tǒng)上通常用下劃線代替),就如變量一般,需要根據(jù)情況自己添加適當(dāng)?shù)闹担?div style="height:15px;">
5.后面接省略號(…)的參數(shù)可以多次重復(fù);
6.如果一個單獨的選項和一個參數(shù)組合在一起,那么該選項和參數(shù)必須同時使用;
7.由 |(豎線)字符分開的兩個或多個項,表示可以從這個列表中選擇一個項;
幾個簡單例子:
find命令是linux下的查找文件命令,其man手冊的SYNOPSIS的格式為:
[plain]
view plaincopyfind [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
其中所有的選項都用'[]'括起來,說明所有選項都是可選的(當(dāng)然,只是這樣就沒辦法實現(xiàn)它的作用了);
path是可選項,其默認(rèn)值是當(dāng)前目錄,而且被'...'修飾,說明可以添加多個目錄;
-D debugopts說明-D選項之后還應(yīng)加上相應(yīng)的參數(shù);
[a|b]說明a和b可以選其中一個也可以不選;
{a|b}則說明a和b之間必須要選一個。
三:命令實例分析
mkdir命令,man mkdir中
[plain]
view plaincopyNAME
mkdir - make directories
表示mkdir命令是用來創(chuàng)建目錄的
[plain]
view plaincopySYNOPSIS
mkdir [OPTION]... DIRECTORY...
表示mkdir 后面可選option選項,但必須有需要創(chuàng)建的目標(biāo)目錄,可跟多個
[plain]
view plaincopyDESCRIPTION
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
-p, --parents
no error if existing, make parent directories as needed
-v, --verbose
print a message for each created directory
-Z, --context=CTX
set the SELinux security context of each created directory to CTX
--help display this help and exit
--version
output version information and exit
-p和-v選項并無特殊,其后面不用跟參數(shù),具體作用請百度,(我已經(jīng)百度過了,不過不告訴你)
-m , --mode=MODE和-Z, --context=CTX,應(yīng)用格式應(yīng)為
[plain]
view plaincopymkdir -m 721 ./a_dir
mkdir --mode=721 ./a_dir
好像記得在哪里見過有這么說的,但我實際在自己電腦上測試的時候并沒有區(qū)別(我用的是fedora 19 32位系統(tǒng))。
[plain]
view plaincopymkdir -m=721 ./a_dir
mkdri --mode 721 ./a_dir
效果是一樣的。而且長選項--mode=721之后依然可以跟其他選項,比如-p,有與前處長選項之后不能跟其他選項沖突了;不過--version之后的確是不能跟另外的選項的,否則會報錯(此處留作保留)。
還有一種情況,比如man find中,
[plain]
view plaincopy-maxdepth levels
Descend at most levels (a non-negative integer) levels of directories below the command line arguments.
-maxdepth 0
means only apply the tests and actions to the command line arguments.
表示尋找的目錄最大層級數(shù),用法是find 一些選項 -maxdepth 3 另一些選項。
命令幫助中出現(xiàn)的[] <>含義
在查看命令幫助時,會出現(xiàn)[],<>,|等符號,它們的含義如下: [] #表示是可選的;
<> #表示是可變化的;
x|y|z #表示只能選擇一個;
-abc #表示三個參數(shù)(或任何二個)的混合使用