Bash常用快捷操作


  • administrators

    Bash是目前比较主流linux发行版本的shell解释器,今天我们就来说说它的一些快捷操作。这些操作包括一些快捷键,也包括一些操作符号。在开始之前,我们先确认下当前bash是那种模式:

    set -o | grep 'emacs\|vi'
    

    我的环境是如下结果:
    编辑模式

    因为bash的工作模式有两种分别是emacs和vi,而默认大部分是emacs,所以这里就以emacs为例。

    编辑快捷键

    • 我们先尝试下Ctrl + aCtrl + e, 这两个快捷键就是移动到行首和行尾:
      行首和行尾

    • Ctrl + fCtrl + b 这两个快捷键是将光标向右移动和向左移动一个字母位置,类似方向键的左右移动:
      左右移动字母

    • Alt + fAlt + b 这两个是将光标向右和向左移动一个单词位置:
      左右移动单词

    • Ctrl + x + x 这是按住Ctrl后连续按两次x键,它可以将光标在当前位置和行首位置之间切换:
      切换位置为行首或切换为原位置

    • Ctrl + uCtrl + k 从光标位置删除到行首和行尾,注意这个是行首和行尾:
      删除到行首行尾

    • Ctrl + wAlt + d 从光标位置删除到单词的首和尾,这个跟上一条的区别是只删除当前光标所处的单词,而且还有一个是Alt按键:
      删除到词首词尾

    • Ctrl + y 从光标位置开始粘贴,粘贴的内容就是上面删除的内容:
      粘贴

    除了上面这些常用的编辑命令,还有一些不常用的这里就不一一列举了,有兴趣的可以自行Google。下面我们来说下历史命令和如何快速使用之前命令的参数。

    查找历史命令

    • Ctrl + r 查找历史命令,输入关键字,当找到结果后直接回车即可。对于输入的关键字执行的是严格匹配,也就是不支持模糊查询。如果想退出,可以按Esc是选中结果退出,而Ctrl + g 是直接退出。
      搜索退出

    • Ctrl + pCtrl + n两个和方向键向上和向下类似,都是取上一条和下一条历史命令。
      上下翻历史命令

    • history|grep '关键字' 用这种方式也可以查找历史命令。当查出结果后,记住之前的数字(如:10),然后用!10即可执行此命令。
      查找历史命令

    特殊的!

    !惊叹号在bash解释器比较方便操作的特殊符号,它的用法比较多,所以单独列出来说下常用的。

    • !!执行上一条命令。
      上一条命令

    • !echo执行最近的以echo开始的命令。
      执行匹配字符开始命令

    • 如果你不知道!echo的匹配的结果是不是你想要的,那么你可以用!echo:p只打印不执行。
      打印匹配字符开始命令

    • !$上一条命令的最后一个参数,除此也可以用快捷键Alt + .
      上一条命令最后一个参数

    上面这几个上我常用的,还有些不常用的,只简单列出来:

    • !*上一个命令的所有参数,
    • ^blah删除上一条命令中的 blah
    • ^blah^foo将上一条命令中的 blah 替换为 foo
    • ^blah^foo^将上一条命令中所有的 blah 都替换为 foo

    控制台快捷键

    还有一些是控制台的快捷键

    • Ctrl + l 清空屏幕
      清屏

    • Ctrl + c 给当前进程发送中断信号SIGINT。
      中断程序

    • Ctrl + s 停止当屏幕的输出,查log
      停止滚屏

    • Ctrl + q 开始当前屏幕的输出
      开始滚屏

    • Shift + PageUpShift + PageDown 在控制台向上和向下翻查屏幕输出
      上下翻屏

    想知道更多快捷键信息查看可以用stty -a命令查看,也可以用stty去绑定自定义的快捷键。


登录后回复

Looks like your connection to 首页 was lost, please wait while we try to reconnect.