監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢(xún)管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買(mǎi)價(jià)格 | 在線(xiàn)試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

十個(gè)Linux bash小技巧

申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114

文章來(lái)源:泛普軟件

如果你曾經(jīng)在Linux shell命令行提示符下輸入過(guò)命令,你可能已經(jīng)使用了bash。畢竟,它是多數(shù)現(xiàn)代的GNU/Linux版本的缺省命令行shell。bash shell是進(jìn)入Linux操作系統(tǒng)的首個(gè)界面。它接受,解釋并執(zhí)行你的命令,并且向你提供shell腳本和自動(dòng)任務(wù)執(zhí)行的編譯模塊。

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

1.輕松調(diào)用先前的命令
bash在一個(gè)歷史緩沖區(qū)中保留你執(zhí)行的命令,并且允許你通過(guò)上和下的光標(biāo)鍵在先前的命令間循環(huán)以再次調(diào)用它們。甚至為了更快速的重新調(diào)用,可以通過(guò)輸入少量命令字符然后跟組合鍵Ctrl-R來(lái)“快速查找”先前執(zhí)行的命令;然后bash將掃描命令歷史以匹配命令并在控制臺(tái)顯示它們。重復(fù)按Ctrl-R可以在整個(gè)匹配的命令列表中進(jìn)行循環(huán)。

2.使用命令別名
如果你頻繁地使用參數(shù)相同的某個(gè)命令,你可以讓bash為它創(chuàng)建一個(gè)別名。這個(gè)別名將組合需要的參數(shù),所以你無(wú)需記住它們或每次手工輸入它們。例如,如果你經(jīng)常使用ls -l以獲得詳細(xì)的目錄列表,你可以使用這個(gè)命令:
bash> alias ls='ls -l'

這樣就創(chuàng)建了自動(dòng)包含-l選項(xiàng)的別名。一旦該別名被創(chuàng)建,在bash提示符下輸入ls將調(diào)用該別名就輸出ls -l。

你可以通過(guò)調(diào)用沒(méi)有任何參數(shù)的別名獲得可用別名的列表,你也可以用unalias命令刪除別名。

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

4.使用快捷鍵以高效地編輯命令行
bash為命令行的瀏覽和編輯支持許多快捷鍵。快捷鍵Ctrl-A將光標(biāo)移動(dòng)到命令行的開(kāi)始處,而快捷鍵Ctrl-E將光標(biāo)移動(dòng)到命令行的末尾??旖萱ICtrl-W直接刪除光標(biāo)前的字,而快捷鍵Ctrl-K直接刪除光標(biāo)前的所有字符。你可以用Ctrl-Y撤銷(xiāo)一個(gè)刪除。

5.獲得新郵件的自動(dòng)通知
通過(guò)設(shè)置$MAILPATH變量指向你的本地郵件池,你可以配置bash自動(dòng)向你通知新郵件。例如,命令為:
bash> MAILPATH='/var/spool/mail/john'
bash> export MAILPATH
這時(shí),bash每次有新消息進(jìn)入john的郵件池時(shí)向john的控制臺(tái)輸出一個(gè)通知。

在后臺(tái)運(yùn)行任務(wù)
6.在后臺(tái)運(yùn)行任務(wù)
bash允許你在后面運(yùn)行一個(gè)或多個(gè)任務(wù),并且可選擇地掛起或重新開(kāi)始任何當(dāng)前任務(wù)。要在后臺(tái)運(yùn)行一個(gè)任務(wù),在其命令行后面添加一個(gè)&記號(hào)。例子如下:
bash> tail -f /var/log/messages &
[1] 614  

這種方式的每個(gè)后臺(tái)任務(wù)都被分配一個(gè)任務(wù)ID,并在控制臺(tái)輸出。任務(wù)可以用命令fg jobnumber從后臺(tái)調(diào)到前臺(tái),jobnumber是你想調(diào)到前臺(tái)的任務(wù)ID。舉例如下:
bash> fg 1

任何時(shí)候在bash提示符下輸入jobs都可以獲得正在執(zhí)行的任務(wù)的列表。

7.快速跳轉(zhuǎn)到經(jīng)常使用的目錄
你可能已經(jīng)知道$PATH變量列出bash的“搜索路徑”,當(dāng)它在當(dāng)前目錄下無(wú)法找到請(qǐng)求的文件時(shí)將搜索的目錄。然而,bash也支持$CDPATH變量,它列出當(dāng)試圖改變目錄時(shí)cd命令可訪問(wèn)的目錄列表。要使用這個(gè)特性,分配一個(gè)目錄列表給$CDPATH變量,如下例所示:
bash> CDPATH='.:~:/usr/local/apache/htdocs:/disk1/backups'
bash> export CDPATH

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

8.執(zhí)行計(jì)算
bash可以在命令行提示符下執(zhí)行簡(jiǎn)單的算術(shù)操作。要使用這個(gè)特性,只需簡(jiǎn)單地在命令行內(nèi)的雙括號(hào)中鍵入你想計(jì)算的算術(shù)表達(dá)式,如下所示。bash將嘗試執(zhí)行該計(jì)算并返回結(jié)果。
bash> echo $((16/2))
8

9.定制shell提示符
你可以定制bash shell提示符以顯示當(dāng)前用戶(hù)名和主機(jī)名、當(dāng)前時(shí)間、平均負(fù)載和/或當(dāng)前工作目錄。要實(shí)現(xiàn)這一點(diǎn),像下面這樣改變$PS1變量:
bash> PS1='u@h:w @> '
bash> export PS1
root@medusa:/tmp 03:01 PM>

這將在shell提示符下顯示當(dāng)前登錄用戶(hù)的名稱(chēng),主機(jī)名,當(dāng)前工作目錄和當(dāng)前時(shí)間。

10.獲得指定上下文幫助
bash可以給出所有內(nèi)建命令的幫助。要查看所有內(nèi)建命令的列表,請(qǐng)輸入help。要獲得某個(gè)特定命令的幫助,輸入help command,此處的command是你想查看其幫助的命令。這里是一個(gè)例子:
bash> help alias
...一些幫助文本...

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

發(fā)布:2007-04-22 10:09    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普沈陽(yáng)OA快博其他應(yīng)用

沈陽(yáng)OA軟件 沈陽(yáng)OA新聞動(dòng)態(tài) 沈陽(yáng)OA信息化 沈陽(yáng)OA快博 沈陽(yáng)OA行業(yè)資訊 沈陽(yáng)軟件開(kāi)發(fā)公司 沈陽(yáng)門(mén)禁系統(tǒng) 沈陽(yáng)物業(yè)管理軟件 沈陽(yáng)倉(cāng)庫(kù)管理軟件 沈陽(yáng)餐飲管理軟件 沈陽(yáng)網(wǎng)站建設(shè)公司