△也可以当火车司机源。熟练使用命令行是一个有经验的司机必备的技能。这是一个名为“命令行的艺术”的入门和高级指南,它在GitHub上获得了50,000颗星。技术覆盖面广,具体示例丰富。主要针对Linux编写,但也有专门针对Mac和Windows的章节。项目作者JoshuaLevy说:文章不长,但是当你掌握这里列出的所有技能时,你会学到很多关于命令行的知识。他还说:这个资源不仅对命令行新手有帮助,对有经验的人也有帮助。从开始到今天,该项目已被翻译成16种语言。也就是说,如果觉得中文有翻译口音,可以回去看英文原版(手动狗头)。那么,我们先来观察一下老司机是怎样炼成的。基础与日常此资源主要关注交互式Bash,但也有许多技术可用于其他shell和常规Bash脚本。基础知识于是,萌新开始从Bash的基础知识开始学习。然后:熟悉基于文本的编辑器;学习使用man命令阅读文档。另外,找到带有apropos的文档。请注意,某些命令并不对应于可执行文件,而是内置于Bash中。您可以使用help和help-d来获取帮助信息。另外,你必须学会??使用>和<来重定向输入和输出,使用|重定向管道;还要使用通配符*和引用,理解引用中'和"的区别。......包括Bash中的任务管理工具,文件管理工具,网络管理工具等等,这篇文章一定要熟悉。文章分为12个技巧,比较短,打好基础后,进入:DailyUse顾名思义,这里实现的是一些日常技巧。比如为了方便编辑长命令,使用ctrl-xctrl-e打开一个编辑器输入当前正在编辑的命令;比如使用xargs(或者parallel)这个很强大,可以控制每行的参数个数(-L)和最大并行数(-P).如果你不确定它是否会做你想要的,先用xargsecho检查一下。另外,使用-I{}很方便。例如,对ssh设置做一些小的优化可能会有用。比如这个~/.ssh/config文件包含了在某些网络环境下防止连接断开、压缩数据、多通道等选项:1TCPCeepAlive=yes2ServerAliveInterval=153ServerAliveCountMax=64Compression=yes5ControlMasterauto6ControlPath/tmp/%r@%h:%p7ControlPersistyes注意日常部分有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
