Linux中的命令格式及使用幫助
1、命令格式介紹
命令的語法通用格式:
# COMMAND OPTIONS ARGUMENTS
(1)COMMAND
發起一個命令表示請求核心將某個二進位制程式執行為一個程序;
程式啟動為程序,靜態程式變為動態的程序(有生命週期)。
命令本身是一個可執行的二進位制格式的程式檔案,有可能會呼叫共享庫檔案。
多數系統程式檔案都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin下:
普通命令存放在:/bin, /usr/bin, /usr/local/bin下;
管理命令存放在:/sbin, /usr/sbin, /usr/local/sbin下;
共享庫存放在:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64下;
32bits的庫存放在:/lib, /usr/lib, /usr/local/lib下;
64bits的庫存放在:/lib64, /usr/lib64, /usr/local/lib64下。
注意:並非所有的命令都有一個在某目錄與之對應的可執行程式檔案,Linux內建命令沒有與之對應的可執行程式檔案。
命令必須遵循特定格式規範,如Windows中的exe, msi, Linux中的ELF;
檢視檔案內容格式的型別:~]# file /bin/ls
[[email protected] ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
命令分為兩類:由shell程式的自帶的命令叫做內建命令(builtin),獨立的可執行程式檔案,檔名即命令名,叫做外部命令。
shell程式是獨特的程式,負責解析使用者提供的命令,其通過查詢PATH環境變數來查詢使用者鍵入的命令字串所對應的命令檔案。查詢次序:自左而右。
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
檢視命令型別:type COMMAND
eg. [[email protected] ~]# type ls
ls is aliased to 'ls --color=auto'
[[email protected] ~]# type type
type is a shell builtin
(2)OPTIONS
指定命令的執行特性,指明要執行命令中的哪一部分功能程式碼。
選項有兩種表現形式:
短選項:-C,例如-l,-d。注意:有些命令的選項沒有-。如果同一命令同時使用多個短選項,多數可合併:-l -d = -ld。
長選項:–word,例如–help,–human-readable。注意:長選項不能合併。
注意:有些選項可以帶引數,此稱為選項引數;短選項的引數用空格分隔,長選項的引數用=連線。
(3)ARGUMENTSls -ld /var /etc
2、獲取命令的使用幫助
(1)help獲取命令幫助(命令自帶簡要格式的使用幫助)
<1>內部命令獲取幫助:help COMMAND
eg. help type
<2>外部命令獲取幫助:# COMMAND --help
eg. ls --help
(2)使用手冊:manual
位置:/usr/share/man
命令:# man COMMAND
eg. man poweroff
手冊的各個部分SECTION:
NAME:簡要功能性說明;
SYNOPSIS:命令使用語法格式;
DESCRIPTION:描述資訊;
OPTIONS:選項;
EXAMPLES:使用示例;
AUTHOR:命令的作者;
BUGS:報告程式bug的方式;
SEE ALSO:額外參考哪些命令;
…
SYNOPSIS:
[]:可選內容;
<>:必須提供的內容;
a|b|c:多選一;
…:同類內容可出現多個;
{}:用來做分組
手冊為壓縮格式的檔案,有章節之分,分別存放在/usr/share/man下的man1,man2,…;
各個章節說明:
man1:使用者命令手冊;普通使用者和管理員都可以執行的命令;
man2:系統呼叫手冊;eg. open, read, write;
man3:C庫呼叫手冊;
man4:裝置檔案及特殊檔案手冊;
man5:檔案格式手冊(配置檔案格式);
man6:遊戲使用幫助手冊;
man7:雜項手冊;
man8:管理工具及守護程序手冊;管理工具:只有管理員可以執行的命令幫助;
查詢某章節的某命令:~]# man CHAPTER COMMAND
eg. man 5 passwd
並非每個COMMAND在所有章節下都有手冊,檢視該命令在哪個章節下有手冊:
~]# whatis COMMAND
eg. whatis passwd
注意:其執行過程是查詢資料庫進行的,資料庫會定期更新。
手動更新資料庫:~]# makewhatis
man命令開啟手冊以後的操作方法:
翻屏:
空格鍵:向檔案尾翻一屏;
b: 向檔案首部翻一屏;
Ctrl+d:向檔案尾部翻半屏;
Ctrl+u:向檔案首部翻半屏;
回車鍵:向檔案尾部翻一行;
k: 向檔案首部翻一行;
G:跳轉至最後一行;
#G: 跳轉至指定行;
1G:跳轉至檔案首部;
文字搜尋:
/keyword:從檔案首部向檔案尾部依次查詢;不區分字元大小寫;
?keyword:從檔案尾部向檔案首部依次查詢;不區分字元大小寫;
n: 與查詢命令方向相同;下一個;
N: 與查詢命令方向相反;下一個;
退出:
q: quit
選項:
到指定目錄下查詢命令手冊並開啟之:-M /PATH/TO/SOMEDIR
例:獲取useradd命令的用法
<1>新增使用者gentoo:
# useradd gentoo
# id gentoo //驗證使用者建立成功
<2>新增使用者slackware,要求指定其所用的shell為/bin/tcsh:
# useradd -s /bin/tcsh slackware
# tail -1 /etc/passwd //顯示檔案最後一行
(3)獲取命令的線上文件:info COMMAND
(4)很多應用程式會自帶幫助文件:/usr/share/doc/APP-VERSION;
README:程式的相關的資訊;
INSTALL:安裝幫助;
CHANGES:版本迭代時的改動資訊;
(5)主流發行版官方文件:http://www.redhat.com/doc
(6)程式的官方文件:官方站點上的“Document”;
(7)搜尋引擎:google;
keyword filetype:pdf
keyword site:domain.tld //域名,不加www
(8)參考書籍
經典書籍的出版社:
國外出版社:O’Reiley、Wrox;
國內出版社:機械工業出版社、電子工業出版社、人民郵電出版社、清華大學出版社、水利水電出版社。