您的位置:首页 > 运维架构 > Shell

使用Bash快捷键提高效率

2016-03-31 00:05 375 查看
这是一篇翻译的文章,原文:Bash Shortcuts For Maximum Productivity。稍有修改和整理。

你可能知道,Bash有非常丰富的快捷键,能够让使用命令行轻松很多。Bash这种用快捷键编辑命令行的功能,是通过GNU Readline library实现的。这个库也被除了Bash之外的许多其它Unix或者Linux应用使用,因此,学习这些快捷键不仅能够使你更加方便地使用Bash,也能提高使用其它Unix或者Linux应用的效率(如果该应用也使用了GNU Readline library的话)。这里,我不想深入讲解Readline,只提一点。默认地,Readline使用emacs按键绑定,尽管可以配置成vi模式,但是,我更加喜欢学习大部分应用的缺省设置(我发现不用个性化设置,能省掉好多工作,可以使生活更加轻松)。如果你对emacs十分熟悉,那么你可能对这些命令并不陌生,因此,下面这些是写给那些不熟悉的人。

1、命令编辑的快捷键

1.1 移动光标

Ctrl + f
光标向前移动一个字符

Ctrl + b
光标向后移动一个字符

Alt + b
将光标向后移动一个单词

Alt + f
将光标向前移动一个单词

Ctrl + a
光标移动到命令的开头

Ctrl + e
光标移动到命令行的结尾

Ctrl + xx
将光标在行首和当前位置交替

1.2 编辑

Ctrl + d
删除光标处的字符

Ctrl + h
删除光标前的字符

Ctrl + w
删除从光标到单词开头的所有字符(向后删除一个单词)

Alt + d
删除从光标处到单词结尾的所有字符(向前删除一个单词)

Ctrl + k
删除从光标到行尾的所有字符

Ctrl + u
删除从光标到行首的所有字符

Ctrl + y
将刚刚删除的内容粘贴到光标的后面

Alt + c
将光标到单词结尾的字符串的首字母大写

Alt + u
将光标到单词结尾的所有字符变成大写

Alt + l
将光标到单词结尾的所有字符变成小写

Ctrl + t
将光标处的字符和前一个字符调换位置

Alt + t
将当前单词和前一个调换位置

2、命令召回快捷键

Ctrl + r
向后搜索历史命令

Ctrl + g
退出命令搜索模式

Ctrl + p
命令历史中的前一条记录

Ctrl + n
命令历史中的后一条记录

Alt + .
召回前一条命令的最后一个单词

3、命令控制快捷键

Ctrl + l
清空屏幕

Ctrl + s
停止向屏幕输出(对于那些长时间运行且输出繁复的命令)

Ctrl + q
允许向屏幕输出(如果前面用命令停止了向屏幕输出的话)

Ctrl + c
终止命令

Ctrl + z
挂起/停止命令

4、Bash
!
命令

Bash允许你使用
!
来方便地处理Bash命令。

!!
运行上一条命令

!blah
运行上一条blah开头的命令

!blah:p
打印出
!blah
将会运行的命令,并将该命令作为最新的命令加到命令历史中

!$
上一条命令的最后一个单词(相当于
Alt + .
)

!$:p
打印出
!$
代表的单词

!*
上一条命令除去最后一个单词的部分(比如,如果运行
find some_file.txt /
,然后,
!*
将给出
find some_file.txt
)

!*:p
打印出
!*
代表的内容

还有一件非常方便的使用技巧:
^^
命令的使用。如果你输入一条命令并运行,你可以用
^^
替换掉该命令中的一部分重新运行。下面是一个例子:

$ 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快捷键,请告诉我,我会在博客中更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: