Linux下如何優雅地修正命令?
如何快速糾正你的linux命令?我們在輸入命令的時候,難免會出現輸入命令錯誤,或者輸入過多,過少的情況,那么除了各種按方向鍵退回之外,還有什么快速糾正命令的方法?
本文用|表示光標位置。
移動到命令開頭
舉個例子,你準備執行一個命令:
- ./test -a xxx -b bbb|
但是你輸入的時候,少了前面的./(為什么執行程序的時候前面要加./)
- test -a xxx -b bbb
這個時候你一般會怎么辦?使用方向鍵將光標移動到開頭?還有呢?
快捷鍵:ctrl + a
即可,你就會發現光標移動到了開頭:
- |test -a xxx -b bbb
移動到命令結尾
移動到前面之后,發現命令結尾少了一些東西,怎么?
ctrl+e
可以將e記憶為end。
光標又移動到了最后。
向前移動一個詞
如果你不想移動到最后,只是想移動一個詞的距離,還可以用:alt+f
f記憶為forward。
向后移動一個詞
或者向后移動:alt+b
b記憶為backward
清空整條命令
發現整條命令都不對,或者xx前面的都不會怎么辦?比如想要刪掉光標前的所有內容:
- test -a xxx |-b bbb
只需要按下:ctrl +u
命令就會變成:
- |-b bbb
刪除命令的一個詞
比如下面,你要刪除bbb:
- test -a xxx -b bbb|
只需要按下:ctrl+w
就會變成:
- test -a xxx -b |
將詞轉換為大寫
比如要將bbb轉換為大小:
- test -a xxx -b |bbb
按下:esc + u
就變成了:
- test -a xxx -b |BBB
u記憶為upper
將詞轉換為小寫
按下:esc + l
又會變成小寫。
l記憶為lower
the fuck
當然了,有人對于輸入錯誤的情況,做了一個程序,用于糾正輸錯的程序。
不多介紹,直接看效果:
項目地址:https://github.com/nvbn/thefuck
總結
- ctrl + a:光標移動到命令開頭
- ctrl + e:光標移動到命令結尾
- alt f:光標向前移動一個單詞
- alt b:光標向后移動一個單詞
- ctrl u:從光標處開始,刪除命令
- ctrl w:刪除一個詞(以空格隔開的字符串)
- esc u :將當前詞轉換為大寫
- esc l :將當前詞轉換為小寫