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

新闻 前端
这里有一份入门&进阶指南,名字叫“命令行的艺术”,在GitHub收获了5万标星。技巧覆盖面广,且富含具体的例子。主要为Linux所写,却也有Mac和Windows的专用章节。
GitHub五万星中文资源:命令行技巧大合集,新老司机各取所需

 也可以是火车司机

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

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

这里有一份入门&进阶指南,名字叫“命令行的艺术”,在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文件包含了防止特定网络环境下连接断开、压缩数据、多通道等选项:

  1. 1TCPKeepAlive=yes 
  2. 2 ServerAliveInterval=15 
  3. 3 ServerAliveCountMax=6 
  4. 4 Compression=yes 
  5. 5 ControlMaster auto 
  6. 6 ControlPath /tmp/%r@%h:%p 
  7. 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

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2011-04-11 10:07:38

WindowsMac

2020-03-13 10:18:43

GitHub 技术开源

2009-12-23 14:14:09

Linux高级命令行

2010-10-12 17:29:22

MySQL命令行

2017-09-05 08:57:02

Linux命令行技巧

2013-09-27 09:56:25

2009-12-16 11:23:29

VS命令

2010-11-24 17:21:02

MySQL命令行

2011-10-20 09:27:04

2010-03-24 14:08:10

CentOS命令行

2010-07-15 12:45:30

Perl命令行

2013-09-10 10:34:49

PowerShell

2022-06-12 15:32:27

bashLinux

2010-07-20 14:27:46

Perl命令行

2018-03-14 14:27:00

2021-05-31 12:05:46

Shell命令Linux

2022-10-24 16:28:57

命令程序员

2010-11-24 17:04:17

MySQL客户端命令行

2017-04-10 13:26:00

Linux命令技巧

2010-02-05 14:59:31

C++命令行模式编译设
点赞
收藏

51CTO技术栈公众号