Try harder.

命令行下非常好用的工具推荐

2020.01.16

1. ripgrep

工具地址

对于grep类的工具,我觉得一般只要满足两个条件就会很好用:

  • 支持正则;
  • 正则匹配够快;

在日常开发过程中,免不了要根据日志文件排错。当系统集群比较大的时候,日志文件就像是大海。这个时候ripgrep简直好用到爆。得益于rust以及rust regex engine的加持,ripgrepgrep比起来是肉眼可见的快。除了快,我觉得ripgrep还有几个地方平常用的比较多且很好用:

  1. ripgrep会在当前目录自动递归查找;
  2. ripgrep还支持在常用的压缩文件中查找,我自己比较常用的就是在.xz中查找;

其他功能使用方面请直戳官方指南:戳我

2. glow

工具地址

这个工具是意外发现的,然后意外的好用。glow的主要功能就是可以在 terminal 里直接渲染输出 markdown 文件的内容。官方效果图如下:

极大的提升了需要临时搂一眼 markdown 文件内容时候的感官感受。:)

3. mosh

工具地址

mosh可以理解成ssh工具的替代品。单纯使用ssh的体验并不好,网络波动的情况下比如本来使用有线但是需要开会搬着电脑就走了。然后就发现ssh连接处于无响应的状态。要么过会儿恢复了、要么就是过会儿显示pipeline broken。 而mosh就很好的解决了这个问题:基于 UDP 的mosh在你 ip 地址发生变动的情况下都能保持链接。可以说是稳如狗。

4. jq

工具地址

jq is a lightweight and flexible command-line JSON processor.

相信我们在开发中都有这么一番操作过:在 log 里复制了一段格式不正确的 json 字符串,然后去浏览器找 json beautity 工具,然后 format 之后开始后续操作。

然后jq的出现给了你另一个选择。在 terminal 里,你可以用它来格式化输出 json 字符串,你还可以用它来选择只输出 json 字符串的某个字段,比如我经常使用的一种方式是:

cat xxx | base64 -d | jq ".fieldNeeded" | less

这样,就拿到了格式完美的对应 field 的 json 片段,用来快速验证结果是否符合预期再爽不过了。

5. tldr

工具地址

A collection of simplified and community-driven man pages.

相比 man page 枯燥乏味的参数介绍,tldr 提供了一个新选择:tldr 会自动显示命令常用样例。官方图如下:

建议马上用起来,tldr 真 time saver。