昨天晚上寫的這篇昨悼,今天看新聞?wù)f,windows要原生支持Bash shell描馅。(_)
這是一篇翻譯的文章富弦,原文:Bash Shortcuts For Maximum Productivity。稍有修改和整理壹罚。
你可能知道葛作,Bash有非常豐富的快捷鍵,能夠讓使用命令行輕松很多猖凛。Bash這種用快捷鍵編輯命令行的功能赂蠢,是通過GNU Readline library實現(xiàn)的。這個庫也被除了Bash之外的許多其它Unix或者Linux應(yīng)用使用辨泳,因此虱岂,學(xué)習(xí)這些快捷鍵不僅能夠使你更加方便地使用Bash,也能提高使用其它Unix或者Linux應(yīng)用的效率(如果該應(yīng)用也使用了GNU Readline library的話)菠红。這里第岖,我不想深入講解Readline,只提一點试溯。默認(rèn)地绍傲,Readline使用emacs按鍵綁定,盡管可以配置成vi模式耍共,但是,我更加喜歡學(xué)習(xí)大部分應(yīng)用的缺省設(shè)置(我發(fā)現(xiàn)不用個性化設(shè)置猎塞,能省掉好多工作试读,可以使生活更加輕松)。如果你對emacs十分熟悉荠耽,那么你可能對這些命令并不陌生钩骇,因此,下面這些是寫給那些不熟悉的人。
1倘屹、命令編輯的快捷鍵
1.1 移動光標(biāo)
-
Ctrl + f
光標(biāo)向前移動一個字符 -
Ctrl + b
光標(biāo)向后移動一個字符 -
Alt + b
將光標(biāo)向后移動一個單詞 -
Alt + f
將光標(biāo)向前移動一個單詞 -
Ctrl + a
光標(biāo)移動到命令的開頭 -
Ctrl + e
光標(biāo)移動到命令行的結(jié)尾 -
Ctrl + xx
將光標(biāo)在行首和當(dāng)前位置交替
1.2 編輯
-
Ctrl + d
刪除光標(biāo)處的字符 -
Ctrl + h
刪除光標(biāo)前的字符 -
Ctrl + w
刪除從光標(biāo)到單詞開頭的所有字符(向后刪除一個單詞) -
Alt + d
刪除從光標(biāo)處到單詞結(jié)尾的所有字符(向前刪除一個單詞) -
Ctrl + k
刪除從光標(biāo)到行尾的所有字符 -
Ctrl + u
刪除從光標(biāo)到行首的所有字符 -
Ctrl + y
將剛剛刪除的內(nèi)容粘貼到光標(biāo)的后面 -
Alt + c
將光標(biāo)到單詞結(jié)尾的字符串的首字母大寫 -
Alt + u
將光標(biāo)到單詞結(jié)尾的所有字符變成大寫 -
Alt + l
將光標(biāo)到單詞結(jié)尾的所有字符變成小寫 -
Ctrl + t
將光標(biāo)處的字符和前一個字符調(diào)換位置 -
Alt + t
將當(dāng)前單詞和前一個調(diào)換位置
2银亲、命令召回快捷鍵
-
Ctrl + r
向后搜索歷史命令 -
Ctrl + g
退出命令搜索模式 -
Ctrl + p
命令歷史中的前一條記錄 -
Ctrl + n
命令歷史中的后一條記錄 -
Alt + .
召回前一條命令的最后一個單詞
3、命令控制快捷鍵
-
Ctrl + l
清空屏幕 -
Ctrl + s
停止向屏幕輸出(對于那些長時間運行且輸出繁復(fù)的命令) -
Ctrl + q
允許向屏幕輸出(如果前面用命令停止了向屏幕輸出的話) -
Ctrl + c
終止命令 -
Ctrl + z
掛起/停止命令
4纽匙、Bash !
命令
Bash允許你使用!
來方便地處理Bash命令务蝠。
-
!!
運行上一條命令 -
!blah
運行上一條blah開頭的命令 -
!blah:p
打印出!blah
將會運行的命令,并將該命令作為最新的命令加到命令歷史中 -
!$
上一條命令的最后一個單詞(相當(dāng)于Alt + .
) -
!$:p
打印出!$
代表的單詞 -
!*
上一條命令除去最后一個單詞的部分(比如烛缔,如果運行find some_file.txt /
馏段,然后,!*
將給出find some_file.txt
) -
!*:p
打印出!*
代表的內(nèi)容
還有一件非常方便的使用技巧:^^
命令的使用践瓷。如果你輸入一條命令并運行院喜,你可以用^^
替換掉該命令中的一部分重新運行。下面是一個例子:
$ ls -al
total 12
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
-rwxr-xr-x 1 Administrator None 1150 Jul 21 23:34 .bash_profile
-rwxr-xr-x 1 Administrator None 3116 Jul 21 23:34 .bashrc
drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
-rwxr-xr-x 1 Administrator None 1461 Jul 21 23:34 .inputrc
$ ^-al^-lash
ls -lash
total 12K
0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:38 .
0 drwxrwxrwx+ 3 Administrator None 0 Jul 21 23:34 ..
4.0K -rwxr-xr-x 1 Administrator None 1.2K Jul 21 23:34 .bash_profile
4.0K -rwxr-xr-x 1 Administrator None 3.1K Jul 21 23:34 .bashrc
0 drwxr-xr-x+ 4 Administrator None 0 Jul 21 23:39 .gem
4.0K -rwxr-xr-x 1 Administrator None 1.5K Jul 21 23:34 .inputrc
這里晕翠,^-al^-lash
將原來ls
命令中的-al
替換為-lash
并重新運行喷舀。
說到Bash的快捷鍵,還有很多淋肾。但是硫麻,上面提到的囊括了90%能夠極大提高Bash工作效率的快捷鍵。如果你覺得我漏掉了一個必需的Bash快捷鍵巫员,請告訴我庶香,我會在博客中更新。