十個Linux bash shell小技巧
如果你曾經在Linux shell命令行提示符下輸入過命令,你可能已經使用了bash。畢竟,它是多數現代的GNU/Linux版本的缺省命令行shell。bash shell是進入Linux操作系統的首個界面。它接受,解釋並執行你的命令,並且向你提供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的詳細幫助信息。
-
Win8提示“已禁用IME”怎麼辦
Win8提示已禁用IME怎麼辦很多使用Win8的朋友可能遇到過系統右下角莫名其妙提示已經禁用IME的情況,那麼Win8提示已禁用IME怎麼辦?本文中筆者將為大家分享一下Win8提示已禁用IME究竟應該如何解決。IME是指InputMethodEditors輸入法編輯器,當在一段時間不用輸入法的...
-
windowsXP註冊表怎麼備份
現在大多數的人都使用WIN7的系統,很少的人使用XP系統,想備份一下注冊表都不會,不知道怎麼備份,所以小編寫了一篇關於windowsXP如何備份註冊表的經驗,把小編會的經驗分享給大家,希望小編的經驗可以幫助到了那些XP系統不會備份的人,如有什麼疑問可以在小編的經驗下方提...
-
安裝Linux應用軟件的基本方法介紹
要充分發揮電腦的作用,就得有大量的應用軟件,完成不同的工作。在Windows環境中安裝各種應用軟件的思路與方法,想必大家早已熟悉。然而,在使用Linux時,我們卻總會被這些本不應該是問題的問題所困擾:怎麼安裝應用軟件?我的軟件安裝在什麼地方?如何刪除不要的應用軟件?……...
-
Win7純淨版出現藍屏代碼0xA0000001怎麼辦
Win7純淨版出現藍屏代碼0xA0000001怎麼辦?彆着急,先看看以下的辦法能不能解決問題,再決定是否找專業的人幫忙。解決方法:1、出現0xA0000001藍屏代碼,得得系統小編建議用户先查看系統藍屏日誌,通過日誌分析導致藍屏的原因,從而尋找解決方法。小編建議採用魔方藍屏助手...
相關文章
- 八年級年級Lesson11Lily learns about China英語家庭作業
- linux shell編程的簡介
- 高二英語作文300字範文:The Disabled Should Have Equal Righ
- Unit2 My schoolbag A Let’s learn教學反思
- php函數method-exists()與is-callable()有何區別
- Linux Shell腳本教程(一):Shell入門
- Linux+Apache+Mysql+PHP優化技巧
- Scientists Build Robots to Live With Humans英語美文
- Should Euthanasia Be Legalized英語作文
- java的String=a; a==null和a.equals(null)這兩個判斷有什麼區別