Bash 行操作

Bash 行操作

簡介

Bash 內(nèi)置了 Readline 庫,具有這個庫提供的很多“行操作”功能霎迫,比如命令的自動補(bǔ)全斋枢,可以大大加快操作速度。

這個庫默認(rèn)采用 Emacs 快捷鍵知给,也可以改成 Vi 快捷鍵瓤帚。

$ set -o vi

下面的命令可以改回 Emacs 快捷鍵。

$ set -o emacs

如果想永久性更改編輯模式(Emacs / Vi)涩赢,可以將命令寫在~/.inputrc文件戈次,這個文件是 Readline 的配置文件。

set editing-mode vi

本章介紹的快捷鍵都屬于 Emacs 模式筒扒。Vi 模式的快捷鍵怯邪,讀者可以參考 Vi 編輯器的教程。

Bash 默認(rèn)開啟這個庫花墩,但是允許關(guān)閉悬秉。

$ bash --noediting

上面命令中,--noediting參數(shù)關(guān)閉了 Readline 庫冰蘑,啟動的 Bash 就不帶有行操作功能和泌。

光標(biāo)移動

Readline 提供快速移動光標(biāo)的快捷鍵。

  • Ctrl + a:移到行首祠肥。
  • Ctrl + b:向行首移動一個字符武氓,與左箭頭作用相同。
  • Ctrl + e:移到行尾搪柑。
  • Ctrl + f:向行尾移動一個字符聋丝,與右箭頭作用相同。
  • Alt + f:移動到當(dāng)前單詞的詞尾工碾。
  • Alt + b:移動到當(dāng)前單詞的詞首。

上面快捷鍵的 Alt 鍵百姓,也可以用 ESC 鍵代替渊额。

清除屏幕

Ctrl + l快捷鍵可以清除屏幕,即將當(dāng)前行移到屏幕的第一行垒拢,與clear命令作用相同旬迹。

編輯操作

下面的快捷鍵可以編輯命令行內(nèi)容。

  • Ctrl + d:刪除光標(biāo)位置的字符(delete)求类。
  • Ctrl + w:刪除光標(biāo)前面的單詞奔垦。
  • Ctrl + t:光標(biāo)位置的字符與它前面一位的字符交換位置(transpose)。
  • Alt + t:光標(biāo)位置的詞與它前面一位的詞交換位置(transpose)尸疆。
  • Alt + l:將光標(biāo)位置至詞尾轉(zhuǎn)為小寫(lowercase)椿猎。
  • Alt + u:將光標(biāo)位置至詞尾轉(zhuǎn)為大寫(uppercase)惶岭。

使用Ctrl + d的時候,如果當(dāng)前行沒有任何字符犯眠,會導(dǎo)致退出當(dāng)前 Shell按灶,所以要小心芦疏。

剪切和粘貼快捷鍵如下惹悄。

  • Ctrl + k:剪切光標(biāo)位置到行尾的文本。
  • Ctrl + u:剪切光標(biāo)位置到行首的文本医清。
  • Alt + d:剪切光標(biāo)位置到詞尾的文本量蕊。
  • Alt + Backspace:剪切光標(biāo)位置到詞首的文本铺罢。
  • Ctrl + y:在光標(biāo)位置粘貼文本。

同樣地残炮,Alt 鍵可以用 Esc 鍵代替韭赘。

自動補(bǔ)全

命令輸入到一半的時候,可以按一下 Tab 鍵吉殃,Readline 會自動補(bǔ)全命令或路徑辞居。比如,輸入cle蛋勺,再按下 Tab 鍵瓦灶,Bash 會自動將這個命令補(bǔ)全為clear

如果符合條件的命令或路徑有多個抱完,就需要連續(xù)按兩次 Tab 鍵贼陶,Bash 會提示所有符合條件的命令或路徑。

除了命令或路徑巧娱,Tab 還可以補(bǔ)全其他值碉怔。如果一個值以$開頭,則按下 Tab 鍵會補(bǔ)全變量禁添;如果以~開頭撮胧,則補(bǔ)全用戶名;如果以@開頭老翘,則補(bǔ)全主機(jī)名(hostname)芹啥,主機(jī)名以列在/etc/hosts文件里面的主機(jī)為準(zhǔn)。

自動補(bǔ)全相關(guān)的快捷鍵如下铺峭。

  • Tab:完成自動補(bǔ)全墓怀。
  • Alt + ?:列出可能的補(bǔ)全,與連按兩次 Tab 鍵作用相同卫键。
  • Alt + /:嘗試文件路徑補(bǔ)全傀履。
  • Ctrl + x /:先按Ctrl + x,再按/莉炉,等同于Alt + ?钓账,列出可能的文件路徑補(bǔ)全碴犬。
  • Alt + !:命令補(bǔ)全。
  • Ctrl + x !:先按Ctrl + x官扣,再按!翅敌,等同于Alt + !,命令補(bǔ)全惕蹄。
  • Alt + ~:用戶名補(bǔ)全蚯涮。
  • Ctrl + x ~:先按Ctrl + x,再按~卖陵,等同于Alt + ~遭顶,用戶名補(bǔ)全。
  • Alt + $:變量名補(bǔ)全泪蔫。
  • Ctrl + x $:先按Ctrl + x棒旗,再按$,等同于Alt + $撩荣,變量名補(bǔ)全铣揉。
  • Alt + @:主機(jī)名補(bǔ)全。
  • Ctrl + x @:先按Ctrl + x餐曹,再按@逛拱,等同于Alt + @,主機(jī)名補(bǔ)全台猴。
  • Alt + *:在命令行一次性插入所有可能的補(bǔ)全朽合。
  • Alt + Tab:嘗試用.bash_history里面以前執(zhí)行命令,進(jìn)行補(bǔ)全饱狂。

上面的Alt鍵也可以用 ESC 鍵代替曹步。

其他快捷鍵

  • Ctrl + j:等同于回車鍵(LINEFEED)。
  • Ctrl + m:等同于回車鍵(CARRIAGE RETURN)休讳。
  • Ctrl + o:等同于回車鍵讲婚,并展示操作歷史的下一個命令。
  • Ctrl + v:將下一個輸入的特殊字符變成字面量俊柔,比如回車變成^M磺樱。
  • Ctrl + [:等同于 ESC。
  • Alt + .:插入上一個命令的最后一個詞婆咸。
  • Alt + _:等同于Alt + .

上面的Alt + .快捷鍵芜辕,對于很長的文件路徑尚骄,有時會非常方便。因為 Unix 命令的最后一個參數(shù)通常是文件路徑侵续。

$ mkdir foo_bar
$ cd #按下 Alt + .

上面例子中倔丈,在cd命令后按下Alt + .憨闰,就會自動插入foo_bar

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末需五,一起剝皮案震驚了整個濱河市鹉动,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宏邮,老刑警劉巖泽示,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蜜氨,居然都是意外死亡械筛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門飒炎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來埋哟,“玉大人,你說我怎么就攤上這事郎汪〕嗌蓿” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵煞赢,是天一觀的道長抛计。 經(jīng)常有香客問我,道長耕驰,這世上最難降的妖魔是什么爷辱? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮朦肘,結(jié)果婚禮上饭弓,老公的妹妹穿的比我還像新娘。我一直安慰自己媒抠,他們只是感情好弟断,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著趴生,像睡著了一般阀趴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苍匆,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天刘急,我揣著相機(jī)與錄音,去河邊找鬼浸踩。 笑死叔汁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播据块,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼码邻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了另假?” 一聲冷哼從身側(cè)響起像屋,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎边篮,沒想到半個月后己莺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苟耻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年篇恒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凶杖。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡胁艰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出智蝠,到底是詐尸還是另有隱情腾么,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布杈湾,位于F島的核電站解虱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏漆撞。R本人自食惡果不足惜殴泰,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浮驳。 院中可真熱鬧悍汛,春花似錦、人聲如沸至会。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奉件。三九已至宵蛀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間县貌,已是汗流浹背术陶。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留煤痕,地道東北人瞳别。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓征候,卻偏偏與公主長得像,于是被迫代替她去往敵國和親祟敛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容