一文掌握所有命令行,包括73个“冷门但有用”的技巧|GitHub 11万标星之作

开发 新闻
有一个专门总结了各种常用和冷门命令行技巧的项目,登上了GitHub热榜。

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

作为程序员,都知道命令行的好处。

奈何实在学不会、记不住。

今天,恰好有一个专门总结了各种常用和冷门命令行技巧的项目,号称《命令行的艺术》,登上了GitHub热榜。

图片

一看,确实还有点来头。

光看标星数,就有足足112k

而它的作者,主要由19位程序员组成,除此之外,还有数十人作出了贡献。

其内容主要都与Linux命令行有关(另有两章专门讲macOS和Windows系统),覆盖了基础、日常使用、文件及数据处理、系统调试、单行命令、“冷门但有用”等多方面的知识和技巧,用很简洁的方式+示例予以了说明。

图片

最开始,该项目只是在Quora上传播,后来挪到GitHub上后便火得一发不可收拾。

由于实在太干货,还被翻译成了17种语言,其中就包括中文。

图片

那么,对于我们那不太熟的命令行技术,再挽救一下?图片

Ps. 熟的也可以看哦,毕竟还有一些“奇技淫巧”。

一文掌握所有命令行

文中所用命令主要基于交互式Bash,一共分为8篇。

基础篇

这篇主要需要你掌握命令行基础知识,一共12小项,包括:

  • 会用man bash命令查阅手册,会用apropos查找文档,熟悉一个文本编辑器(推荐Vim)
  • 懂得> 、 <、|、>>等符号的区别,会使用通配符,会使用ssh进行远程命令行登录;
  • 熟悉Bash中的任务管理工具、基本的文件管理工具、基本的网络工具;
  • 懂正则表达式,会git,懂得查找和安装软件包。

日常使用篇

基础知识完成后,这里要教的都是一些非常日常的技巧,一共43条,比如:

  • ctrl-r可以搜索命令行历史记录,而按下右箭头键可以不立即执行,进行修改;
  • ctrl-x+ctrl-e可再打开一个编辑器来输入当前正编辑的命令,这对于编写长命令很方便;
  • alias命令可以创建常用命令的快捷形式(eg. alias ll=’ls -latr’ ,就创建了一个别名 为ll新命令)
  • 当使用通配符匹配大量文件名时,常会遇到“Argument list too long”的错误信息,这种情况下换用find或xargs通常可以解决。

文件及数据处理篇

这篇有35条,比如:

  • 在当前目录下通过文件名查找一个文件,可以使用find . -iname ‘something‘命令;
  • 想要转换Markdown、HTML等不同格式的文件时,使用pandoc;
  • 处理棘手的XML时,用上古流传下来的神器xmlstarlet;
  • 更改文件时除了cut和paste,别忘了join。

系统调试篇

本篇也不少,共20条,比如:

  • 进行web调试时用curl和curl -I命令,或者它们的好兄弟wget,或者更潮的httpie;
  • 查看磁盘使用情况时用ncdu,它比普通du -sh *更节省时间;
  • 如果删除了一个文件,但通过du发现没有释放预期的磁盘空间,请用如下命令检查文件是否被进程占用:lsof | grep deleted | grep “filename-of-my-big-file”……

单行命令篇

这部分指的就是我们所说的one-liners命令,一共7条,比如:

想计算文本文件第三列中所有数的和时,下面的命令可能会比同等作用的Python代码速度快三倍、代码量少三倍:awk ‘{ x += $3 } END { print x }’ myfile。

冷门但有用篇

这部分是也算全文最长的一篇了,一共73条,各位可各取所需~

macOS篇和Windows篇

最后,对于使用macOS和Windows系统的程序员来说,也有一些小技巧不容错过。

比如在macOS中,如果你想在终端中将Option键当作alt键使用,那么只需打开“偏好设置 -> 描述文件 -> 键盘”,并勾选“使用Option键作为Meta键”;

由于macOS基于BSD UNIX,许多命令(例如ps,ls,tail,awk,sed)都和Linux中有微妙的不同,需要注意,具体区别可以通过标题为 “BSD General Commands Manual” 的man页面查看。

而在Windows中,只需安装一个Cygwin,你就可以直接感受Unix shell的威力了——前6篇介绍的东西复用就ok。

所以在这篇,作者也提供了一些Cygwin命令的使用技巧。

更多详细内容直接戳下面的地址~

项目主页:​https://github.com/jlevy/the-art-of-command-line​

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

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

2015-10-08 09:01:51

2020-07-28 14:23:55

代码开发Github

2015-09-29 16:03:43

2020-03-13 10:18:43

GitHub 技术开源

2014-04-08 15:05:11

LinuxLinux命令行补全命令

2019-06-02 20:50:05

GitHub代码开发者

2013-09-10 10:34:49

PowerShell

2018-11-21 09:57:44

命令行Linux文件

2015-05-25 10:40:22

Linux命令行技巧

2021-03-20 21:43:17

LibreOffice命令行开源

2015-06-16 10:36:45

Linux命令行

2017-08-30 19:11:38

Linux命令行tab

2022-01-14 07:28:20

Linux 命令行组合

2011-03-01 09:17:34

Linux命令行

2023-05-18 15:32:02

HTML开发技巧

2023-04-28 19:44:31

shell脚本命令

2022-10-21 17:24:34

契约测试定位

2017-09-05 08:57:02

Linux命令行技巧

2009-12-23 14:14:09

Linux高级命令行

2013-01-29 14:08:58

UbuntuUbuntu手机Ubuntu手机操作系
点赞
收藏

51CTO技术栈公众号