GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

大肆提高生产力。

圆栗子 发自 凹非寺

量子位 报道 | 公众号 QbitAI

GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

 也可以是火车司机

熟练使用命令行,是成为一个老司机必备的技能。

这里有一份入门&进阶指南,名字叫“命令行的艺术”,在GitHub收获了5万标星

技巧覆盖面广,且富含具体的例子。主要为Linux所写,却也有Mac和Windows的专用章节。

项目作者Joshua Levy说:

文章并不长,但当你掌握这里列出的所有技巧时,你就学会很多关于命令行的东西了。

他还说了:

这份资源不仅能帮助刚接触命令行的新手,对有经验的人也大有裨益。

从诞生之初到今天,项目被翻成了16种语言。就是说,如果感觉中文有翻译腔,可以回去看英文原版 (手动狗头) 。

GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

那么,先来观察一下,老司机是怎样炼成的。

基础篇 & 日常篇

这份资源主要专注在交互式 Bash,但也有许多技巧可以用在其他shell和普通Bash脚本里。

基础篇

所以,萌新就从Bash的基础知识开始学习。然后:

要熟悉一种基于文本的编辑器;学会用man命令阅读文档。

还有,用apropos查找文档。要知道有些命令不对应可执行文件,而是Bash内置好的。可以用help和help-d来获得帮助信息。

另外,要学会用>和<来重定向输入和输出,用|来重定向管道;还要用通配符*和引用,了解引用中‘和”的区别。

……

包括Bash中的任务管理工具,文件管理工具,网络管理工具等等,都要在这一篇里熟络起来。

此篇共分12条技能,算是比较短的一篇了。

基础打好之后,进入:

日常使用篇

顾名思义,这里实现的是一些日常技巧。

比如,为了方便长命令的编辑,用ctrl-x ctrl-e打开一个编辑器,来输入当前正编辑的命令;

比如,用xargs (或parallel)。这个非常给力。你可以控制每行的参数个数 (-L) 和最大并行数 (-P) 。如果不确定它会不会照你想的做,就先用xargs echo查一下。另外,用-I{}也很方便。

比如,对ssh设置做些小优化可能很有用,比如这个~/.ssh/config文件包含了防止特定网络环境下连接断开、压缩数据、多通道等选项:

1TCPKeepAlive=yes
2 ServerAliveInterval=15
3 ServerAliveCountMax=6
4 Compression=yes
5 ControlMaster auto
6 ControlPath /tmp/%r@%h:%p
7 ControlPersist yes

注意,日常部分有44条技能。请君坚持修炼完成,然后前往下一章节。

各类专门技巧

首先,是文件及数据处理技能,一共33条:

比如,用ag在源代码或数据文件里检索 (grep -r 同样可以做到,但相比之下 ag 更加先进) 。比如,将HTML 转为文本:lynx -dump -stdin。比如,当你要处理棘手的 XML 时候,xmlstarlet 算是上古流传下来的神器了。……

后面还有系统调试技巧20条,和单行脚本技巧7条 (每条都有例子) 。

以及别忘了,冷门但有用的工具,是一个大大大大大列表。

GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

至此,各种技巧已分类仔细,就算是老司机也可以按照自己的需要,找到一些好用的方法了。

还有更多

学到这里,Linux用户可能已经吃饱了。

项目里还有Mac的专用技巧,以及Windows的专用技巧,决定先不详述,大家可以自行探索。

最后,作者毫不吝惜地列举了其他人类出品的各种命令行指南:

GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

各路资源排山倒海向你涌来,再不学习可能就要被淹了。

传送门:

https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md

版权所有,未经授权不得以任何形式转载及使用,违者必究。