使用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十分熟悉,那么你可能对这些命令并不陌生,因此,下面这些是写给那些不熟悉的人。
4、Bash
Bash允许你使用
还有一件非常方便的使用技巧:
这里,
说到Bash的快捷键,还有很多。但是,上面提到的囊括了90%能够极大提高Bash工作效率的快捷键。如果你觉得我漏掉了一个必需的Bash快捷键,请告诉我,我会在博客中更新。
你可能知道,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快捷键,请告诉我,我会在博客中更新。
相关文章推荐
- python子进程模块subprocess调用shell命令
- Linux Shell for循环写法总结
- shellscript expect 用法
- Bash中读写MySQL数据库
- bash特性
- Shell - 11
- 认识与学习bash
- bash-基础--数组和字符切片
- shell教程八:except脚本 实现无密登录
- Pyserial能够在Shell中运行良好,但是在脚本中运行失败
- bash shell 编程练习二
- Shell 参数(2) --解析命令行参数工具:getopts/getopt
- bash脚本----case和function
- Bash64与图片
- 使用CocoaPod出现-bash: pod: command not found 解决办法
- Windows下使用git bash 出现乱码解决办法
- shell标记技巧 $变量使用
- 在 Unity3D 中运行外部 shell 脚本的方法
- Linux Bash 程序题解
- shell正则表达式