阅读本文大概需要 2.4 分钟。

作者 | 李火清

转载自【CU技术社区】

编者按:说到Linux命令相信大家都不陌生,就连前端现在也要经常在 terminal 敲一些 node,gulp等命令,本文详细介绍了五个相见恨晚,能极大提高工作效率的命令。

 

tldr(命令手册)

作为一个开发人员,经常要用到终端命令,最让人头疼的是记不住繁琐的参数。用谷哥度娘检索效率低下,通过man命令显示的结果又不易阅读。

tldr命令正是解决这一痛点。

tldr是什么?它的GitHub页翻译是 “一个简洁的社区驱动的帮助手册”,这是对它最好的解释,根据二八原则给出命令的常用场景示例,简单易读,来自五湖四海的朋友都可以向Github上这个命令库提交内容,它完全是由社区驱动的。

man命令有更详细的说明,单从实用角度讲,tldr才是王者。

小提示:支持在近20种语言环境下运行,通过tldr --update更新本地命令库。

tree(树形目录)

当我们编写项目文档时,如果想更直观的表达项目结构及内容,这个小小的命令就可以派上用场了,它以类似于图像的树状图排列目录和文件。

小提示:支持定制层级,过滤内容等各种个性化设置。通过tldr tree查看具体使用示例。添加-N参数解决中文乱码问题。

rlwrap(历史命令)

经常使用命令的同学一定有个习惯,通过上下按键切换历史命令,但让人头疼的是telnet命令不支持切换,甚至是退格删除,所以时常遇到如下尴尬场面。莫急,rlwrap便是用来解决这一痛点的。

通过telnet执行Dubbo接口:

通过telnet连接memcached服务器:

什么是rlwrap?它是基于readline库,实现命令行补全和记录的包装命令。如今交互式输入是最基本的需求,Linux正是通过readline这个库来记录用户的操作,实现交互式输入、自动补全、搜索等功能。对于没有支持readline操作的命令,rlwrap就是最好的伙伴了。

用法:在执行telnet命令前加上rlwrap命令即可。

小提示:除了telnet命令不支持Readline需要rlwrap包装外,Oracle的sqlplus、rman、asmcmd等命令也可以通过rlwrap来获得上下切换功能。

快捷别名:alias telnet='rlwrap telnet'

script(记录会话输出)

很多时候,为了安全和备份,需要对工作内容进行保存。那么,script命令就是隐藏在终端的记录器,它可以记录终端会话的所有内容,形成文件。对于需要工作留痕的同学来说,script便是良药。

如何使用 ?

script启动它,此时它已经开始记录。完事后用exit退出记录,默认生成了一个叫“typescript”的文件。

小提示:script可以在什么场景下使用呢? 
1、我需要把大批量视频推送到CDN,耗时一晚上,这时通过script记录执行的日志,第二天对没有推送成功的做单独处理。 
2、别人远程你的服务器或电脑,安全起见script一下。 
3、与同事协同工作时,自己工作做了一半,交给另一个人来做,此时发给他你的script,让他接着干。 
……

autojump(一键直达)

“最后一个压轴神器,也是我用的最多的命令之一。”

相信多数终端用户使用频率最高的命令是cdls,在我不知道切换到哪里的时候不得不ls确认目录名,如此反复,到达想去的目录可能要经历几次甚至十次以上的cd,经历了多少风雨才找到我的文件。俗话说“不会偷懒的程序员不是好程序员”,如此饱受挫折哪是我们的风格,于是有了autojump的诞生,它注定不凡。

顾名思义,autojump,自动跳转,而不是切换,因为它可以做到一键直达。

小提示:可以通过j -s命令查看它的数据库,以及数据库中的目录权重。

 

·END·

程序员的成长之路

路虽远,行则必至

微信ID:cxydczzl

5个相见恨晚的Linux命令的更多相关文章

  1. 5个相见恨晚的Linux命令,每一个都非常实用

    转至:https://zhuanlan.zhihu.com/p/57866239 作为一个开发人员,经常要用到终端命令,最让人头疼的是记不住繁琐的参数.用谷哥度娘检索效率低下,通过man命令显示的结果 ...

  2. 20个Linux命令及Linux终端的趣事

    20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...

  3. 11个让你吃惊的linux命令

    我已经用了十年的Linux了,通过今天这篇文章我将向大家展示一系列的命令.工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我. AD: 我已经用了十年的Linux了,通过今天这篇文 ...

  4. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  5. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  6. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  7. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  8. linux命令在线手册

    下面几个网址有一些 Linux命令的在线手册,而且还是中文的,还可以搜索.非常方便 Linux命令手册 Linux命令大全 Linux中文man在线手册 每日一linux命令

  9. 常用的一些linux命令

    最近接触到一些linux环境部署的事情,下面分享一些最近使用的比较频繁的一些linux命令~ 1.一次性移动多个文件到一个文件夹里 mv  被移动文件名 -t 目标文件夹 如:mv a.txt b.t ...

随机推荐

  1. Failed to create agent because it is not close enough to the NavMesh

    主要原因是:两个相同对象navmesh点太近造成. 解决方案:通过NavMesh.SamplePosition 获得可以行走点 ;i<;i++) { , mRadius); , 3.14f); ...

  2. CentOS开机提示kernel panic - not syncing: Attempted to kill init! 解决方法

    1.重新启动linux 系统,看见如图见面迅速按E键 2.看见如图界面在按E键编辑 3.如图界面使用上下键选择第二个在按E键 4.在最后一行后面添加  enforcing=0 按回车保存退出 5.在此 ...

  3. 关于webservlet 请求异步处理,链接未关闭出现的bug

    webservlet  +redis 的消息发布订阅 ,挺好的 当请求到来,向redis server申请一个频道 ,然后等着另一端架设是B 处理完毕获得到处理信息调用redis ,使用redis 往 ...

  4. 安装CentOS 7 的yum 到 Radhat 7上,使其可以获取资源

    镜像资源: 1. http://mirrors.163.com/ 2. https://opsx.alibaba.com/mirror 从上列镜像资源下载如下rpm软件包 -rw-r--r--. 1 ...

  5. AX2009 批处理作业中使用多线程---顶级采摘

    顶级采摘 是前两种模式的一种混合,使用使用实体表存储单任务模式那样的每个工单,任务每次都取顶行做操作.单任务数不想单任务模式,一个工单一个任务.而是类似批量捆绑那样设置任务数.表:demoTopPic ...

  6. JS 变量提升与函数提升

    JS 变量提升与函数提升 JS变量提升 变量提升是指:使用var声明变量时,JS会将变量提升到所处作用域的顶部.举个简单的例子: 示例1 console.log(foo); // undefined ...

  7. java -关于包装类自动装箱与拆箱拓展+整形常量池

    关于自动装箱与拆箱 1.包装类与基本数据类型的自动转换,叫装箱和拆箱(类型自动转换) 2.自动装箱拆箱是在编译器,编译器自动配转换方法,实现装箱和拆箱.所以这个过程发生在编译期 3.只有需要相互类型转 ...

  8. 解决初次安装PyCharm后 No Python interpreter selected的问题

    原文链接:https://liuzhichao.com/p/1543.html PyCharm 是由JetBrains打造的一款 Python IDE.具有智能代码编辑器,能理解 Python 的特性 ...

  9. mongoDb造数据

    package mongoUtil; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import ...

  10. java多线程中注入Spring对象问题

    web应用中java多线程并发处理业务时,容易抛出NullPointerException. 原因: 线程中的Spring Bean没有被注入.web容器在启动时,没有提前将线程中的bean注入,在线 ...