linux下shell技巧

    经常看到一些大牛操作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 a/long/directory/{file1,file2}     上面的命令等效于:cp a/long/directory/file1 a/long/directory/file2     ~控制字符     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,查看或者设置终端的控制字符

    看了这些快捷键,是不是感觉自己的功力又厉害了很多呢?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JetpropelledSnake

Vue学习笔记之Vue的使用

我们能发现,引入vue.js文件之后,Vue被注册为一个全局的变量,它是一个构造函数。

873
来自专栏finleyMa

补充上一篇 实现基于最新chrome的动态按需加载组件

上面代码中,import函数的参数specifier,指定所要加载的模块的位置。import命令能够接受什么参数,import()函数就能接受什么参数,两者区别...

1145
来自专栏柠檬先生

Angularjs基础(六)

AngularJS HTML DOM     AngularJS为HTML DOM 元素的属性提供了绑定应用数据的指令。 ng-disabled指令    ...

2058
来自专栏GreenLeaves

JS框架设计之加载器所在路径的探知一模块加载系统

1、要加载一个模块,我们需要一个URL作为加载地址,一个script作为加载媒介,但用户在require是都用ID,我们需要一个将ID转换为URL的方法,思路很...

2095
来自专栏HTML5学堂

原生JS | 通过类名获取标签

HTML5学堂(码匠):在原生JavaScript当中,存在默认的getElementsByClassName()方法,在不支持该方法的浏览器中,又应该怎么实现...

4266
来自专栏沈唁志

php中删除html标签和标签内内容的方法

2143
来自专栏自动化测试实战

《selenium2 python 自动化测试实战》(7)——定位一组对象

2945
来自专栏吴伟祥

Velocity语法大全 转

本文转载自:http://www.cnblogs.com/codingsilence/archive/2011/03/29/2146580.html

604
来自专栏守望轩

Visual Studio 2008 每日提示(二十二)

#211、在对象浏览器向前和向后导航 原文链接:The Object Browser has a navigate forward and navigate ...

3558
来自专栏我的小碗汤

一个神秘现象引发对beego框架的思考

小强最近在项目中遇到了一个很奇怪的问题:在整改日志规范时,为了避免影响现有的代码结构以及改动尽可能小的前提下,在调用记日志的SDK处将某一个字段值首字母改为大写...

754

扫码关注云+社区