十個Linux bash小技巧

2021-04-06 12:41:47 字數 3296 閱讀 3809

如果你曾經在

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/lo

cal/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

的詳細幫助資訊。

函式程式設計的十個小技巧

functional calisthenics是一套類似object calisthenics物件導向健美操的實踐模式,這些規則能夠讓你函式程式設計得更好,這些嚴格的約束能夠讓你以不同角度來思考如何編寫 1.只發生在頂層我們希望我們的 都是純函式的,這是為了避免依賴任何不純的因素,也就是說,如果必須...

Xshell 十個技巧

一 帳號密碼儲存。可以儲存多個vps登陸資訊,免去每次輸入的煩惱。二 數字小鍵盤輸入。如果不設定的話,輸入數字小鍵盤,會顯示亂碼。如圖設定即可 三 設定文字顏色。如圖設定,就可以得到像黑客帝國那樣綠色的文字,在你編譯軟體的時候,是不是恍然若見那華麗麗的數字瀑布?四 設定命令快捷按鈕 當你管理多個vp...

提高監控策略的十個小技巧

原文 10 tips for an effective monitoring strategy 翻譯 diwei 這是我三篇 文章中的第二篇,在這幾篇文章中我會對o reilly media中devops for media entertainment這篇文章提到的一些觀點進行擴充套件。第一篇文章介...