一、命令執行方式以及命令文件的路徑
一般Linux中的命令都帶有幫助文件。
shell中的命令一般是這樣執行的:當用戶在終端上輸入命令並按回車後,系統內核會在當前用戶的環境變量PATH中去讀取環境變量的值,變量的值就是命令的路徑,命令路徑不只一個,於是系統會從這些路徑中從左至右的順序匹配要查找的命令文件,直到找到並執行為止;當這個命令被執行過已後,系統會把這個命令對應的文件路徑保存在系統的哈希表中,以便下次用戶執行命令時更快速的查找,查看當前用戶的 hash 表。可以執行系統內置命令 hash 顯示當前用戶的哈希表。
要想獲取命令文件的存儲路徑可以使用命令 which:
1# which 命令名
二、Linux內置命令與外部命令
在bash shell中,Linux的命令分為兩種:一種是系統shell自帶的命令(builtin),這些我們叫作內置命令,通過執行 help 命令就能查看到當前系統所有內置命令;二是外部命令,即在文件系統上的某位置有一個與命令名稱對應的可執行文件。
三、命令幫助文檔的獲取方式
<一>、內置命令獲取幫助文檔的方式:
判斷一個命令是否是Linux內置的,可以用type命令,只有Linux的內置命令才能使用 help 命令獲得幫助。
1 2# type cd
輸出:
cd
is a shell
builtin
說明這個命令是系統自帶的內置命令,那麼就可以使用 help命令來獲取幫助。
1# help 命令名
<二>、外部命令獲取幫助文檔的方式:
(1) 第一種辦法是使用 --help
1格式:
# 命令名 --help
1
例如:
# mkdir --help
(2) 想要獲取命令的完整幫助可以使用 man 命令
1 2格式:
# man 命令名
例如:
# man mkdir
man命令是調用了less工具顯示文檔,man的具體的操作方法和less是一樣的。
man命令常用快捷鍵:
空格鍵:向文件尾部翻一屏;
b:向文件首部翻一屏;
回車鍵:向文件尾部翻一行;
k:向文件首部翻一行;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
1G:回到項部;
/keyword:向文件尾部搜索;
?keyword:向文件首部搜索;
n :跟搜索命令相同的方向(下一個);
N :跟搜索命令相反的方向(上一個);
q :退出;
man命令打印出的文檔中的段落相關說明:
NAME: 簡短的指令,數據名稱的說明;
SYNOPSIS: 簡短的指令下達語法(syntax)簡介;
DESCRIPTION:較為完整的說明;
OPTIONS:針對SYNOPSIS部分中,有列舉的所有可用的選項說明;
COMMANDS:當這個程序(軟件)在執行的時候,可以在此程序(軟件)中下達的指令;
FILES:這個程序或數據所使用或參考或連結到的某些檔案;
SEE ALSO:可以參考的,跟這個指令或數據有相關的其他說明;
EXAMPLE:一些可以參考的范例;
BUGS:是否有相關的漏洞;
一般看看EXAMPLE,再看看OPTIONS就可以,如果還不能解決問題,再SEE ALSO。
使用幫助中命令格式中的字符意義:
[]:可選的部分;
{a|b}:分組,a和b作為一個使用單元來使用;
|: 或者,只能選其一;
<>:必不能少的部分;
...:同類的內容可以出現多個;
man命令分段機制:
man命令可以加一個數字參數(1~8)查看相關命令的其它信息
數字"1":可執行命令或shell命令
數字"2": 系統調用(functions provided by the kernel)
數字"3":C語言庫函數
數字"4":設備或特殊文件(通常在/dev下)
數字"5":文件格式和規則(例如/etc/passwd)
數字"6":游戲
數字"7":雜項(宏、包及其他雜項)
數字"8":系統管理員相關的命令(通常只給root)
數字"9":跟kernel有關的文件
例如,使用man查看 passwd 命令5段的幫助內容
1# man 5 passwd
查看某關鍵字在哪些段落中有使用幫助,可以使用;
1# whatis passwd //提示:如果whatis的數據尚未生成,可以使用makewhatis手動進行;
或者
1 2# man -f passwd //精確匹配和whatis結果一樣
# man -k passwd //模糊查找
輸出:
passwd
(1) - update user's authentication tokens
passwd
(5) - password
file
passwd
[sslpasswd] (1ssl) - compute password hashes
(3) info 命令可以獲取在線幫助文檔,通常 info 命令是作為 man 命令的補充
1# info passwd
(4) 應用程序自帶的幫助文檔,通常在存放在目錄 /usr/share/doc
(5) Linux發行版官方文檔
(6) 通過google搜索