1. 程式人生 > >Linux中的命令格式及使用幫助

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

eg. [[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)ARGUMENTS
命令的作用物件,命令對什麼生效。 注意:不同的命令有不同的引數,有些命令可同時帶多個引數,多個之間以空白字元分隔。 例如:ls -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; 國內出版社:機械工業出版社、電子工業出版社、人民郵電出版社、清華大學出版社、水利水電出版社。