十個Linux bash shell小技巧

如果你曾經在Linux shell命令行提示符下輸入過命令,你可能已經使用了bash。畢竟,它是多數現代的GNU/Linux版本的缺省命令行shell。bash shell是進入Linux操作系統的首個界面。它接受,解釋並執行你的命令,並且向你提供shell腳本和自動任務執行的編譯模塊。下面就跟隨小編一起來看看吧!

十個Linux bash shell小技巧

bash包含了一些功能強大的工具和方便之處。如果你是經常要用到命令行的用戶,這些可以減少你相當多的輸入。本文給出了十個最有用的工具:

 1.輕鬆調用先前的命令

bash在一個歷史緩衝區中保留你執行的命令,並且允許你通過上和下的光標鍵在先前的命令間循環以再次調用它們。甚至爲了更快速的重新調用,可以通過輸入少量命令字符然後跟組合鍵 Ctrl-R來“快速查找”先前執行的命令;然後bash將掃描命令歷史以匹配命令並在控制檯顯示它們。重複按Ctrl-R可以在整個匹配的命令列表中進行循環。

 2.使用命令別名

如果你頻繁地使用參數相同的某個命令,你可以讓bash爲它創建一個別名。這個別名將組合需要的參數,所以你無需記住它們或每次手工輸入它們。例如,如果你經常使用ls -l以獲得詳細的目錄列表,你可以使用這個命令:

bash> alias ls='ls -l'

這樣就創建了自動包含-l選項的別名。一旦該別名被創建,在bash提示符下輸入ls將調用該別名就輸出ls -l。

你可以通過調用沒有任何參數的別名獲得可用別名的.列表,你也可以用unalias命令刪除別名。

 3.使用文件名自動補全

bash在命令提示符下支持文件名自動補全。要使用該特性,輸入文件名的前幾個字符,然後按Tab鍵。bash將掃描當前的目錄以及搜索路徑中的所有其他目錄以匹配該文件名。如果只找到一個匹配,bash將爲你自動補全該文件名。如果找到多個匹配,將提示你選擇一個。

4.使用快捷鍵以高效地編輯命令行

bash爲命令行的瀏覽和編輯支持許多快捷鍵。快捷鍵Ctrl-A將光標移動到命令行的開始處,而快捷鍵Ctrl-E將光標移動到命令行的末尾。快捷鍵Ctrl-W直接刪除光標前的字,而快捷鍵Ctrl-K直接刪除光標前的所有字符。你可以用Ctrl-Y撤銷一個刪除。

 5.獲得新郵件的自動通知

通過設置$MAILPATH變量指向你的本地郵件池,你可以配置bash自動向你通知新郵件。例如,命令爲:

bash> MAILPATH='/var/spool/mail/john'

bash> export MAILPATH

這時,bash每次有新消息進入john的郵件池時向john的控制檯輸出一個通知。

在後臺運行任務

6.在後臺運行任務

bash允許你在後面運行一個或多個任務,並且可選擇地掛起或重新開始任何當前任務。要在後臺運行一個任務,在其命令行後面添加一個&記號。例子如下:

bash> tail -f /var/log/messages &

[1] 614

這種方式的每個後臺任務都被分配一個任務ID,並在控制檯輸出。任務可以用命令fg jobnumber從後臺調到前臺,jobnumber是你想調到前臺的任務ID。舉例如下:

bash> fg 1

任何時候在bash提示符下輸入jobs都可以獲得正在執行的任務的列表。

  7.快速跳轉到經常使用的目錄

你可能已經知道$PATH變量列出bash的“搜索路徑”,當它在當前目錄下無法找到請求的文件時將搜索的目錄。然而,bash也支持$CDPATH變量,它列出當試圖改變目錄時cd命令可訪問的目錄列表。要使用這個特性,分配一個目錄列表給$CDPATH變量,如下例所示:

bash> CDPATH='.:~:/usr/local/apache/htdocs:/disk1/backups'

bash> export CDPATH

現在,只要你使用cd命令,bash將檢查$CDPATH列表中的所有目錄以匹配該目錄名。

8.執行計算

bash可以在命令行提示符下執行簡單的算術操作。要使用這個特性,只需簡單地在命令行內的雙括號中鍵入你想計算的算術表達式,如下所示。bash將嘗試執行該計算並返回結果。

bash> echo $((16/2))

8

  9.定製shell提示符

你可以定製bash shell提示符以顯示當前用戶名和主機名、當前時間、平均負載和/或當前工作目錄。要實現這一點,像下面這樣改變$PS1變量:

bash> PS1='u@h:w @> '

bash> export PS1

root@medusa:/tmp 03:01 PM>

這將在shell提示符下顯示當前登錄用戶的名稱,主機名,當前工作目錄和當前時間。

  10.獲得指定上下文幫助

bash可以給出所有內建命令的幫助。要查看所有內建命令的列表,請輸入help。要獲得某個特定命令的幫助,輸入help command,此處的command是你想查看其幫助的命令。這裏是一個例子:

bash> help alias

...一些幫助文本...

顯然地,你可以任何時候通過在命令行提示符下輸入man bash以獲得bash shell的詳細幫助信息。