经常看到一些大牛操作linux的时候,双手运指如飞,指令如流水般输出,会不会感到羡慕呢?
本文就整理了一些linux下shell的技巧,保管你学会之后,shell输出apm突飞猛进,开个玩笑,我们进入正题。
一般来说shell的命令行编辑使用Emacs或者Vi模式,也就是说可以用Emacs或者Vi的操作指令来进行命令行的编辑,默认的模式是Emacs模式。
Ctrl+T:将光标所在处的字符和光标前一字符对调,T,可以理解为Transfer。
Alt+T:交换两个光标当前所处位置单词和光标前一个单词。
Ctrl+U:从光标所在处开始删除字符,直到行首;u,可以理解为undo光标前所有输入。
Ctrl+Y:恢复Ctrl+U删除的字符;y,可以理解为vim里的yank(复制)。
Ctrl+?:删除所有字符,比Ctrl+U强。
Ctrl+K:从光标所在处开始删除字符,直到行尾。
Ctrl+W:删除最后一个单词;W,Word。
Ctrl+A:移动光标到行首。
Ctrl+E:移动光标到行尾;E,End。
Ctrl+C:取消全部键入。
Ctrl+H:删除一个字符,相当于“delete”键,觉得“delete”键太远可以使用此快捷键;h,可以理解为vim里的左移键。
Ctrl+F:光标向右移动一个字符位置,F,Forward。
Ctrl+B:光标向左移动一个字符位置,B,Backward。
Ctrl+方向键左键:光标移动到前一个单词开头。
Ctrl+方向键右键:光标移动到后一个单词结尾。
Ctrl+X:在上次光标所在字符和当前光标所在字符之间跳转。
Alt+F:跳到光标所在位置单词尾部。
Alt+U:把光标当前位置单词变为大写,并移动光标到下一个单词的起始位置前,U,uppercase。
Alt+L:把光标当前位置单词变为小写,并移动光标到下一个单词的起始位置前,L,lowercase。
Alt+C:把光标当前位置单词变为大写,并移动光标到下一个单词的起始位置前。
^OldStr^NewStr:把前一次命令中字符串OldStr替换成NewStr,例如上一次命令是ls tmp1, ^tmp1^tmp2 相当于执行ls tmp2。
~快捷键
Ctrl+L:清屏,相当于键入clear。
Ctrl+R:搜索命令历史,搜索结果以最近执行的命令为先,又称反向搜索。
Alt+.:上一次执行的命令的最后一个参数,如果上一个命令没有参数,则显示上一个命令。
Ctrl+P:向前浏览历史命令跟键盘上这个类似 ↑。
Ctrl+N:向后浏览历史命令 跟键盘上这个类似↓。
Alt+P:输入字符查找与字符相接近的历史命令。
Ctrl+I:类似Tab健补全功能。
~大括号
例子1:echo {big,small}SB
终端显示:bigSB smallSB
注意:大括号内的字符、右括号和紧邻的字符不要加入空格。
例子2:cp {filea,fileb} dir
上面的命令等效于:cp filea dir;cp filrb dir
~控制字符
Ctrl-C 终止前台进程 Kill foreground process
Ctrl-Z 挂起前台进程Suspend foreground process
Ctrl-D 终止终端输入,退出shell Terminate input, or exit shell
Ctrl-S 挂起输出 Suspend output
Ctrl-Q 重新开始输出 Resume output
Ctrl-O 忽略输出 Discard output
Ctrl-L 清屏 Clear screen
可以用stty命令,stty -a,查看或者设置终端的控制字符
看了这些快捷键,是不是感觉自己的功力又厉害了很多呢?