熟练使用命令行,是成为一个老司机必备的技能。
这里有一份入门&进阶指南,名字叫“命令行的艺术”,在GitHub收获了5万标星。
技巧覆盖面广,且富含具体的例子。主要为Linux所写,却也有Mac和Windows的专用章节。
项目作者Joshua Levy说:
文章并不长,但当你掌握这里列出的所有技巧时,你就学会很多关于命令行的东西了。
他还说了:
这份资源不仅能帮助刚接触命令行的新手,对有经验的人也大有裨益。
从诞生之初到今天,项目被翻成了16种语言。就是说,如果感觉中文有翻译腔,可以回去看英文原版 (手动狗头) 。
那么,先来观察一下,老司机是怎样炼成的。
基础篇 & 日常篇这份资源主要专注在交互式 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文件包含了防止特定网络环境下连接断开、压缩数据、多通道等选项:
注意,日常部分有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技术和产品新动态
喜欢就点「在看」吧 !
作者:量子位