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

圆栗子 发自 凹非寺

量子位 报道 | 公众号 QbitAI

也可以是火车司机

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

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

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

项目作者Joshua Levy说:

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

他还说了:

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

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

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

基础篇 & 日常篇

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

基础篇

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

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

还有,用 apropos 查找文档。要知道有些命令不对应可执行文件,而是Bash内置好的。可以用 helphelp-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条 (每条都有例子) 。

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

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

还有更多

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

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

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

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

传送门:

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

作者系网易新闻·网易号“各有态度”签约作者

— 完 —

小程序|get更多AI学习干货

加入社群

量子位AI社群开始招募啦,社群矩阵: AI讨论群AI+行业群AI技术群

目前已有 4万 AI行业从业者、爱好者加入,AI技术群更有来自 海内外各大高校实验室大牛各明星AI公司工程师 等。 自由互相交流AI发展现状及趋势。

欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“微信群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)

量子位  QbitAI · 头条号签约作者

վ’ᴗ’ ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !