Linux程序员都需要知道的bash shell快捷键

Linux程序员都需要知道的bash shell快捷键

作为经常在linux开发的程序员,bash shell使用必不可少,熟记下面的快捷键,将极大地提高你的工作操作效率。

使用快捷键编辑命令行是由GNU Readline Library提供的。这些库被许多其他*nix应用包括bash使用,所以学习这些快捷键不仅可以让你很容易地在bash命令中操作,还能让你在一系列使用Readline的*nix应用中更方便的操作,默认情况下,Readline使用emacs键映射,尽管可以设置成vi编辑模式,我还是倾向于学习默认的操作,因为大多数应用是这样的。

编辑命令

  • Ctrl + a – 移到命令行首
  • Ctrl + e – 移到命令行尾
  • Ctrl + k – 从光标处删除至命令行尾
  • Ctrl + u – 从光标处删除至命令行首
  • Ctrl + w – 从光标处删除至字首(比如删除一个单词)
  • Ctrl + y – 粘贴刚才上面使用过的删除快捷键删除的单词或文本到光标后面
  • Ctrl + xx – 在命令行首和光标之间来回移动
  • Alt + b -按单词后移(左向)
  • Alt + f – 按单词前移(右向)
  • Alt + d – 从光标处删除至字尾
  • Alt + c – 从光标处更改为首字母大写的单词
  • Alt + u -从光标处更改为全部大写的单词
  • Alt + l – 从光标处更改为全部小写的单词
  • Alt + t – 交换光标处和之前的单词
  • Ctrl + f – 按字符前移(右向)
  • Ctrl + b – 按字符后移(左向)
  • Ctrl + d – 删除光标处的字符
  • Ctrl + h – 删除光标前的字符
  • Ctrl + t -交换光标处和之前的字符

重新执行命令

  • Ctrl + r – 搜索之前的历史命令
  • Ctrl + g – 退出搜索历史命令模式
  • Ctrl + p – 历史命令中的上一条
  • Ctrl + n – 历史命令中的下一条
  • Alt + . – 使用上一条命令的最后一个单词

控制命令

  • Ctrl + l – 清屏
  • Ctrl + s – 阻止屏幕输出
  • Ctrl + q – 允许屏幕输出,对应上一条命令使用
  • Ctrl + c – 终止命令
  • Ctrl + z – 挂起命令

Bang(!)命令

  • !! – 执行上一条命令
  • !blah – 执行最近的以 blah 开头的命令,如 !ls
  • !blah:p – 仅打印输出,而不执行
  • !$ – 上一条命令的最后一个参数,与 Alt + . 相同
  • !$:p – 打印输出 !$ 的内容
  • !* – 上一条命令的所有参数
  • !*:p – 打印输出 !* 的内容

还有一个语法糖,就是使用^^command。如果你输入并运行了一条命令,你可以复用这条命令,但是将其中一个片段替换成另外一段文字,使用^^举例:

$ 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就将上一条命令的-al命令参数替换成了-lash,并且重新执行了。

有许多可以使用的快捷键,但是上面基本覆盖了90%常用的,可以最大提高bash使用效率。如果你认为还错过了一些重要的bash命令,请在下面留言回复,我将更新到博客里面。

发表评论

电子邮件地址不会被公开。 必填项已用*标注