十個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的詳細幫助信息。
-
win10內存佔用過高的解決方法
很多小夥伴在使用win10系統的時候,關閉了所有應用後,內存使用率依舊在90%以上,下面整理了win10內存佔用過高的.解決方法,希望對大家有所幫助!解決方法1看必要條件。2關閉windowsupdate。設置後效果:內存使用率明顯下降,開機控制在2G左右,玩遊戲QQ、YY、音樂、網頁等全...
-
Linux運維工程師的崗位職責15篇
隨着社會一步步向前發展,我們每個人都可能會接觸到崗位職責,制定崗位職責有助於提高內部競爭活力,提高工作效率。大家知道崗位職責的格式嗎?以下是小編幫大家整理的Linux運維工程師的崗位職責,歡迎大家借鑑與參考,希望對大家有所幫助。Linux運維工程師的崗位職責1職...
-
win7如何免費升級到win10
Windows10國內升級渠道,主要是通過兩個途徑,一個是360,而另一個則是鵝廠,就目前所知情況而言,不管是否是盜版用户,只要滿足標準都可以升級至Win10,下面是小編給大家整理的一些有關win7免費升級到win10的方法,希望對大家有幫助!win7免費升級到win10的方法啟動360安衞士...
-
Windows10的週年更新中無法關閉Cortana
導讀:備受期待的Windows10的週年更新中將會帶來諸多新特性,包括更實用的開始菜單、WindowsInk、強化的WindowsDefender,甚至還有一個無法關閉的語音助手Cortana。就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!目前在Windows10...
相關文章
- Linux Shell腳本教程(一):Shell入門
- 八年級年級Lesson11Lily learns about China英語家庭作業
- Linux+Apache+Mysql+PHP優化技巧
- linux shell編程的簡介
- java的String=a; a==null和a.equals(null)這兩個判斷有什麼區別
- Scientists Build Robots to Live With Humans英語美文
- php函數method-exists()與is-callable()有何區別
- Should Euthanasia Be Legalized英語作文
- 高二英語作文300字範文:The Disabled Should Have Equal Righ
- Unit2 My schoolbag A Let’s learn教學反思