Linux 提供了大量的命令,如文件管理操作、磁盤操作、網絡管理操作、進程管理、文件屬性與權限設定等。
命令行的格式
Linux 命令組成:shell 內部命令+shell 外部命令。shell 內部命令:最簡單、最常用的命令,在shell啟動時進入內存。shell外部命令:獨立的可執行程序,是一些實用工具程序。
命令行格式:命令名 [選項] [參數1] [參數2]......
例如:find / -name "mysql"
注意:命令在正常執行后返回一個0值,表示執行成功;如果命令執行過程中出錯,沒有完成全部工作,則返回一個非0值,返回值的含義根據命令的不同而不同。在shell腳本中,可用命令返回值作為控制邏輯的一部分,命令執行完成之后可以使用命令:echo $? 來查看返回值。
Linux 命令構成
1.利用重定向
在 Linux 命令行模式中,如果命令所需的輸入不是來自鍵盤,而是來自指定的文件,這就是輸入重定向。同理,命令的輸出也可以不顯示在屏幕上,而是寫入到指定的文件中,這就是輸出重定向。
重定向的一般格式:
command [] < filename (標準輸入重定向)
command [] > filename (標準輸出重定向)
2.利用管道
利用 LInux 所提供的管道"|"將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續使用管道意味著第一個命令的輸出會作為第二個命令的輸入,第二個命令各的輸出又會作為第三個命令的輸入,依此類推。
管道應用的一般格式為:
command_1 [args] | command_2 [args]
3.利用命令替換
在 Linux 命令行模式下,當遇到一對""(上分割符)時,將首先執行"
"中間包含的命令,然后將其輸出結果作為參數代入命令行中,這就是命令替換了。
例如:echo today is date
輸出結果為:today is Mon Nov 5 16:58:33 CST 2012
在嵌套使用命令替換時,里面的上分割符需要用轉義符鏡像轉義。
4.綜合應用
在理解和熟悉了前面的幾個技巧后,將它們綜合運用起來就是較高的技巧了。在構造 LInux 命令中常常用到的一些基礎的、重要的命令有grep、tr、sed、awk、find、cat和echo等。
示例1:同時運用了輸出重定向和管道兩種技巧。
man man | col -b > manual_man
這條命令同時運用了輸出重定向和管道兩種技巧,作用是將命令man的幫助文檔保存為文本文件manual_man,并通過選項-b過濾掉所有的控制字符。
示例2:使用了 grep、tr 和 awk 三個與字符操作相關的命令。
cat find poem
| grep is | tr a-z A-Z | awk '{print $2}' > word
首先通過 find 命令找到 poem 文件,通過 grep 命令查找該文件中包含字符串“is”所在的所在行,再通過第二個管道將這些行的所有字符轉換成大寫字母,之后通過第三個管道顯示經大小寫轉換后的每行的第二個單詞,最后將 awk 命令的輸出重定向到文件 word,而不是將結果顯示到屏幕上。
上一篇 網頁編程實用的40個小技巧