Linux下如何快速修正命令

如何快速纠正你的linux命令?我们在输入命令的时候,难免会出现输入命令错误,或者输入过多,过少的情况,那么除了各种按方向键退回之外,还有什么快速纠正命令的方法?
本文用|表示光标位置。

移动到命令开头

举个例子,你准备执行一个命令:

1
./test -a xxx -b bbb|

但是你输入的时候,少了前面的./(为什么执行程序的时候前面要加./)

1
test -a xxx -b bbb

这个时候你一般会怎么办?使用方向键将光标移动到开头?还有呢?
快捷键:

1
ctrl + a

即可,你就会发现光标移动到了开头:

1
|test -a xxx -b bbb

移动到命令结尾

移动到前面之后,发现命令结尾少了一些东西,怎么?

1
ctrl+e

可以将e记忆为end。
光标又移动到了最后

向前移动一个词

如果你不想移动到最后,只是想移动一个词的距离,还可以用

1
alt+f

f记忆为forward。

向后移动一个词

或者向后移动

1
alt+b

b记忆为backward

清空整条命令

发现整条命令都不对,或者xx前面的都不会怎么办?比如想要删掉光标前的所有内容:

1
test -a xxx |-b bbb

只需要按下:

1
ctrl +u

命令就会变成:

1
|-b bbb

删除命令的一个词

比如下面,你要删除bbb:

1
test -a xxx -b bbb|

只需要按下

1
ctrl+w

就会变成:

1
test -a xxx -b |

将词转换为大写

比如要将bbb转换为大小:

1
test -a xxx -b |bbb

按下

1
esc + u

就变成了:

1
test -a xxx -b |BBB

u记忆为upper

将词转换为小写

按下

1
esc + l

又会变成小写。

l记忆为lower

the fuck

当然了,有人对于输入错误的情况,做了一个程序,用于纠正输错的程序。
不多介绍,直接看效果:
thefuck

项目地址:
https://github.com/nvbn/thefuck

总结

  • ctrl + a:光标移动到命令开头
  • ctrl + e:光标移动到命令结尾
  • alt f:光标向前移动一个单词
  • alt b:光标向后移动一个单词
  • ctrl u:从光标处开始,删除命令
  • ctrl w:删除一个词(以空格隔开的字符串)
  • esc u :将当前词转换为大写
  • esc l :将当前词转换为小写
守望 wechat
关注公众号[编程珠玑]获取更多原创技术文章
出入相友,守望相助!