shell行编辑快捷键(命令行快捷键)


Linux Shell的行编辑功能非常强大,行编辑就是用快捷键或命令在控制台或命令行界面进行交互,比如用Ctrl+f,Ctrl+b移动光标位置等。熟练运用行命令及快捷键对提高shell交互操作效率有很多好处。

如果你用过Emacs的话,你会发现它们的很多操作都是相同的,因为Bash默认使用的是Emacs按键绑定。当然你也可以修改为其他的方式,比如vi绑定。

  • Bash 默认为 emacs 编辑模式。如果你的 Bash 不在 emacs 编辑模式,可通过set -o emacs设置。
  • windows用户安装clink或者使用cmder作为命令行终端,能够让cmd也可以使用大部分行编辑功能。当然使用msys2、Bambun可以直接在windows上模拟linux shell。

1. 命令行(终端)控制

  • Ctrl + l:清屏(与clear命令效果相同)
  • Ctrl + s:阻止屏幕输出(当前正在执行的命令不在打印信息)
  • Ctrl + q:允许屏幕输出(使用Ctrl+s命令后,可以用Ctrl+q恢复)
  • Ctrl + c:终止当前正在执行的命令
  • Ctrl + d : 退出当前 Shell
  • Ctrl + z:挂起命令,把当前进程转到后台运行,使用 fg (foreground的缩写)命令恢复。
  • Ctrl + o:执行当前命令,并选择上一条命令
  • ^S、^Q、^C、^Z 是由终端设备处理的,可用 stty 命令设置。

2. 光标移动

  • Ctrl + f :前移(向右移动)一个字符
  • Ctrl + b:后退(向左移动)一个字符
  • Alt + f :前移(向右移动)一个单词
  • Alt + b :后退(向左移动)一个单词
  • Ctrl + a :移到命令行首
  • Ctrl + e :移到命令行尾
  • Ctrl + xx:在命令行首和光标之间移动

3. 命令文本修改

3.1 补全、删除、粘贴

  • tab : 自动补全命令
  • Ctrl + d :删除光标处(或光标后)的字符(如果光标前后都没有字符,即命令行为空的时候,则会退出shell)
  • Ctrl + h :删除光标前的字符(与backspace键相同)
  • Ctrl + w :从光标处删除至字首
  • Alt + d :从光标处删除至字尾
  • Ctrl + u :从光标处删除至命令行首
  • Ctrl + k :从光标处删除至命令行尾
  • Ctrl + y :粘贴至光标后(删除的文本会被粘贴出来)
  • Alt + Backspace:与 Ctrl + w 类似,分隔符有些差别

3.2 改变大小写

  • Alt + u :从光标处更改为全部大写的单词
  • Alt + l :从光标处更改为全部小写的单词
  • Alt + c :从光标处更改为首字母大写的单词

3.3 交换字符、单词位置

  • Ctrl + t :交换光标处和之前的字符(ESC+t相同)
  • Alt + t :交换光标处和之前的单词

4. 历史命令

  • Ctrl + p:历史中的上一条命令
  • Ctrl + n:历史中的下一条命令
  • Ctrl + r:搜索之前使用过的命令
  • Ctrl + g:从历史搜索模式退出
  • Alt + .:使用上一条命令的最后一个参数(会直接在当前光标位置显示)

5. Bang (!) 命令

Bang命令算不上快捷键键,但是使用可以快捷的进行一些操作,比如重新执行之前命令、修改上一条命令并执行等等。

  • !!:执行上一条命令
  • !cc:执行最近的以cc开头的命令,如!l会执行ls命令
  • ^blah:删除上一条命令中第一个blah,然后执行
  • ^blah^foo:将上一条命令中的 blah 替换为 foo,然后执行
  • ^blah^foo^:将上一条命令中所有的 blah 都替换为 foo,然后执行
  • !$:打印上一条命令的最后一个参数,并回车执行。与Alt + .相似,但是会自动执行
  • !*:上一条命令的所有参数
  • !cc:p:仅打印以!cc的输出,但不执行,如!l:p会显示ls
  • !$:p:打印输出!$的输出
  • !*:p:打印输出!*的输出

参考文档

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hustlei

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值