提高工作效率的Shell命令行技巧

本文介绍的技巧可能已经为大家所知,但若能充分使用则可大大提高工作效率。如果你已经可以熟练操作vi,可直接跳至本文后半部分,因为本文不是关于vi的介绍,但这个技巧与vi相关,所以挑关联度大的部分简单介绍一下。

在vi中操作时,通过方向键可以上下左右移动光标来到指定位置进行编辑。 但若要快速到达指定位置,则需要在命令模式下使用更丰富的命令。 例如,可以使用简单的/搜索命令。此外,还有一些与之相关的命令(多个命令用\分隔):

  • h\j\k\l命令可使光标向左\下\上\右移动;加数字则可指定移动单位的数量,如9j表示向下移动9行;

  • w\b命令可使光标向右\左跳过一个单词,同样命令前可加数字;

  • ^$命令可使光标跳到行首\行尾,与正则表达式中匹配行首和行尾的符号相同;

  • i\r\R命令可进入插入模式或替换模式,以及一些其它命令也可进入编辑模式;

  • x\X命令可删除光标位置的字符或光标前面的字符,命令前面也可以加数字;

  • dd\D命令可整行删除\删除光标位置及之后的内容。

现在进入正题,vi和Shell命令行技巧有什么关系呢?我们都知道Shell有一个history,即我们执行过的Shell命令历史记录。在日常工作中,很多命令需要反复执行,或者稍加修改后再次执行。将这个历史记录当成当前在vi里面编辑的内容,命令行显示的内容就是当前光标所在的行。利用本文前半部分提到的vi命令,就可以快速地在Shell命令行中查找、编辑,然后再次执行之前执行过的命令。在命令行执行set -o vi(通常是将这个命令设置到.bashrc中让其自动生效),即可打开命令行的vi选项。接下来,可以在命令行按照以下说明使用该技巧:

  1. 按Esc键进入命令模式;

  2. 输入/xxx并按回车键,以查找包含xxx的命令;

  3. 使用n\N命令查找下一个\上一个命令;

  4. 按回车键执行命令,或者移动光标到指定位置修改后再执行。

如果未找到合适的历史记录,或者需要重新输入命令,不用花时间去删除当前内容,可按 Ctrl + c 快速放弃该行,以新启一行重新输入。

使用vi模式时,初学者可能会感到有些不习惯,因为命令模式和编辑模式容易混淆。在命令模式下,不能随意输入,而在编辑模式下,不能执行所想的命令。不过,多加练习后,你会逐渐熟悉这种操作方式并喜欢上它。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

创意程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值