BashShell-創(chuàng)新互聯(lián)

編輯命令

   Ctrl + a :移到命令行首
   Ctrl + e :移到命令行尾
   Ctrl + f :按字符前移(右向)
   Ctrl + b :按字符后移(左向)
   Alt + f :按單詞前移(右向)
   Alt + b :按單詞后移(左向)
   Ctrl + xx:在命令行首和光標(biāo)之間移動(dòng)
   Ctrl + u :從光標(biāo)處刪除至命令行首
   Ctrl + k :從光標(biāo)處刪除至命令行尾
   Ctrl + w :從光標(biāo)處刪除至字首
   Alt + d :從光標(biāo)處刪除至字尾
   Ctrl + d :刪除光標(biāo)處的字符
   Ctrl + h :刪除光標(biāo)前的字符
   Ctrl + y :粘貼至光標(biāo)后
   Alt + c :從光標(biāo)處更改為首字母大寫的單詞
   Alt + u :從光標(biāo)處更改為全部大寫的單詞
   Alt + l :從光標(biāo)處更改為全部小寫的單詞
   Ctrl + t :交換光標(biāo)處和之前的字符
   Alt + t :交換光標(biāo)處和之前的單詞
   Alt + Backspace:與 Ctrl + w 相同類似,分隔符有些差別 [感謝 rezilla 指正]

重新執(zhí)行命令

   Ctrl + r:逆向搜索命令歷史
   Ctrl + g:從歷史搜索模式退出
   Ctrl + p:歷史中的上一條命令
   Ctrl + n:歷史中的下一條命令
   Alt + .:使用上一條命令的最后一個(gè)參數(shù)

控制命令

   Ctrl + l:清屏
   Ctrl + o:執(zhí)行當(dāng)前命令,并選擇上一條命令
   Ctrl + s:阻止屏幕輸出
   Ctrl + q:允許屏幕輸出
   Ctrl + c:終止命令
   Ctrl + z:掛起命令

Bang (!) 命令

   !!:執(zhí)行上一條命令
   !blah:執(zhí)行最近的以 blah 開頭的命令,如 !ls
   !blah:p:僅打印輸出,而不執(zhí)行
   !$:上一條命令的最后一個(gè)參數(shù),與 Alt + . 相同
   !$:p:打印輸出 !$ 的內(nèi)容
   !*:上一條命令的所有參數(shù)
   !*:p:打印輸出 !* 的內(nèi)容
   ^blah:刪除上一條命令中的 blah
   ^blah^foo:將上一條命令中的 blah 替換為 foo
   ^blah^foo^:將上一條命令中所有的 blah 都替換為 foo

FYI:

1.   以上介紹的大多數(shù) Bash 快捷鍵僅當(dāng)在 emacs 編輯模式時(shí)有效,若你將 Bash 配置為 vi 編輯模式,那將遵循 vi 的按鍵綁定。Bash 默認(rèn)為 emacs 編輯模式。如果你的 Bash 不在 emacs 編輯模式,可通過 set -o emacs 設(shè)置。
2.   ^S、^Q、^C、^Z 是由終端設(shè)備處理的,可用 stty 命令設(shè)置。

改善 Bash 的命令歷史管理功能: Bash 的默認(rèn)配置會(huì)存在一個(gè)問題,如果同時(shí)打開兩個(gè)(或兩個(gè)以上的)控制臺(tái),那么在這兩個(gè)控制臺(tái)中執(zhí)行的命令并不會(huì)互相分享到 history 中。有的命令歷史甚至最終會(huì)被覆蓋掉。要解決這個(gè)問題,可把下列內(nèi)容添加到 ~/.bashrc 或 ~/.bash_profile 文件中:
shopt -s histappend
PROMPT_COMMAND='history -a'
第一句的作用是將命令追加到 history 中。
第二句是在顯示命令提示符時(shí),保存 history。

設(shè)置智能的自動(dòng)完成功能: 在 Bash 中我們已經(jīng)可以通過按 Tab 鍵來享用自動(dòng)完成的特性。通過下面的設(shè)置,則可以使用 Up 和 Down 鍵來選擇命令后所跟的參數(shù)。在 .inputrc(如果該文件不存在,則創(chuàng)建一個(gè))中加入下列內(nèi)容:
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
前兩句使用 Up 和 Down 在 history 中進(jìn)行搜索。
后一句是按 Tab 顯示自動(dòng)完成。
如果結(jié)合 Ctrl - R,則更加好用。

從歷史中執(zhí)行命令 有時(shí)候,我們需要在 Bash 中重復(fù)執(zhí)行先前的命令。你當(dāng)然可以使用上方向鍵來查看之前曾經(jīng)運(yùn)行過的命令。但這里有一種更好的方式:你可以按 Ctrl + r 組合鍵進(jìn)入歷史搜索模式,一旦找到需要重復(fù)執(zhí)行的命令,按回車鍵即可。

重復(fù)命令參數(shù) 先來看一個(gè)例子:
$ mkdir /path/to/exampledir ; cd !$
本例中,第一行命令將創(chuàng)建一個(gè)目錄,而第二行的命令則轉(zhuǎn)到剛創(chuàng)建的目錄。這里,“!$”的作用就是重復(fù)前一個(gè)命令的參數(shù)。事實(shí)上,不僅是命令的參數(shù)可以重復(fù),命令的選項(xiàng)同樣可以。另外,Esc + . 快捷鍵可以切換這些命令參數(shù)或選項(xiàng)。
   用于編輯的快捷鍵
       Ctrl + a:將光標(biāo)定位到命令的開頭
       Ctrl + e:與上一個(gè)快捷鍵相反,將光標(biāo)定位到命令的結(jié)尾
       Ctrl + u:剪切光標(biāo)之前的內(nèi)容
       Ctrl + k:與上一個(gè)快捷鍵相反,剪切光標(biāo)之后的內(nèi)容
       Ctrl + y:粘貼以上兩個(gè)快捷鍵所剪切的內(nèi)容
       Ctrl + t:交換光標(biāo)之前兩個(gè)字符的順序
       Ctrl + w:刪除光標(biāo)左邊的參數(shù)(選項(xiàng))或內(nèi)容
       Ctrl + l:清屏

處理作業(yè) 首先,使用 Ctrl + z 快捷鍵可以讓正在執(zhí)行的命令掛起。如果要讓該進(jìn)程在后臺(tái)執(zhí)行,那么可以執(zhí)行 bg 命令。而 fg 命令則可以讓該進(jìn)程重新回到前臺(tái)來。使用 jobs 命令能夠查看到哪些進(jìn)程在后臺(tái)執(zhí)行。 你也可以在 fg 或 bg 命令中使用作業(yè) id,如: fg %3 又如: bg %7

使用置換
       命令置換 先看例子: du -h -a -c $(find . -name *.conf 2>&-) 注意 $() 中的部分,這將告訴 Bash 運(yùn)行 find 命令,然后把返回的結(jié)果作為 du 的參數(shù)。
       進(jìn)程置換 仍然先看例子: diff <(ps axo comm) <(ssh user@host ps axo comm) 該命令將比較本地系統(tǒng)和遠(yuǎn)程系統(tǒng)中正在運(yùn)行的進(jìn)程。請(qǐng)注意 <() 中的部分。
       xargs 看例: find . -name *.conf -print0 | xargs -0 grep -l -Z mem_limit | xargs -0 -i cp {} {}.bak 該命令將備份當(dāng)前目錄中的所有 .conf 文件。
   使用管道 下面是一個(gè)簡(jiǎn)單的使用管道的例子: ps aux | grep init 這里,“|”操作符將 ps aux 的輸出重定向給 grep init。 下面還有兩個(gè)稍微復(fù)雜點(diǎn)的例子: ps aux | tee filename | grep init 及: ps aux | tee -a filename | grep init
   將標(biāo)準(zhǔn)輸出保存為文件 你可以將命令的標(biāo)準(zhǔn)輸出內(nèi)容保存到一個(gè)文件中,舉例如下: ps aux > filename 注意其中的“>”符號(hào)。 你也可以將這些輸出內(nèi)容追加到一個(gè)已存在的文件中: ps aux >> filename 你還可以分割一個(gè)較長(zhǎng)的行: command1 | command2 | ... | commandN > tempfile1 cat tempfile1 | command1 | command2 | ... | commandN > tempfile2
   標(biāo)準(zhǔn)流:重定向與組合 重定向流的例子: ps aux 2>&1 | grep init 這里的數(shù)字代表:
       0:stdin
       1:stdout
       2:sterr
   上面的命令中,“grep init”不僅搜索“ps aux”的標(biāo)準(zhǔn)輸出,而且搜索 sterr 輸出。

Refer Link:
http://linuxtoy.org/archives/bash-shortcuts.html
http://linuxtoy.org/archives/bash_tricks.html
http://linuxtoy.org/archives/the-best-tips-and-tricks-for-bash.html
http://linuxtoy.org/archives/bash-command-line-editing.html

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

創(chuàng)新互聯(lián)公司長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為洪江管理區(qū)企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),洪江管理區(qū)網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

當(dāng)前題目:BashShell-創(chuàng)新互聯(lián)
分享URL:http://muchs.cn/article10/dcohdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站收錄、服務(wù)器托管、App開發(fā)、微信公眾號(hào)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)