命令行和shell的几本免费电子书

要精通编辑器和IDE,命令行程序和shell的基本知识是必备的。因为你要成为高手,就必须了解如何把shell和命令行工具整合进编辑器。

Emacs的例子太多我就不举了。

就以微软的Visual Studio Code举例,2017年微软正式把命令行文本搜索工具ripgrep整合进VSCode,(Visual Studio Code March 20), 使得文本搜索速度可提高100倍。微软和ripgrep开发者讨论决策的细节都是公开的,github.com/Microsoft/vs 。连微软的程序员都能认识到第三方命令行程序的重要性。

我会指出电子书中的必读章节。其他章节可跳过。取舍的标准就是我教授的文本文件操作术,和文本文件操作无关的内容可忽略。

命令行工具 GNU/Linux Command-Line Tools Summary ,以下是必读章节,

  • The Unix Tools Philosophy (是基础,不理解哲学去死记硬背命令是最低效的学习方法)
  • Shell Tips (命令行工具在shell里运行。所以必须了解shell)
  • Help (查看工具的文档。不懂或者很少用到此功能你绝不可能成为高手)
  • Directing Input/Output (是各种程序交互的关键,“各种程序”包括了GUI程序如编辑器,IDE等等)
  • Working with the file-system (使用频率没有前面的章节那么高,因为我指的文本文件操作术是编程相关的技术,在项目中找文件路径的技巧很常用。文件移动/拷贝/重命名的技术使用频率不高,但是也要了解)
  • Text Related Tools (处理文本是重中之重)
  • Archiving Files (使用第三方库时会碰到这个问题, 通常项目中的高级程序员会负责这块。比如web开发时配置`npm install`, 见 npm-install | npm Documentation 使用频率很低,但是一旦有机会使用,经理和team member会对你肃然起敬)

Bash Shell, Bash Guide for Beginners ,没有章节是可以跳过的。都是常用的基本知识。在这部书读完后,可以选读 Advanced Bash-Scripting Guide (ABSG)的某些章节。ABSG过于庞大和Advanced了,一般人没必要完整地读一遍。

说明一下,不要觉得这些书发布时间早就过时了。我就明确告诉你,一点都没有过时这也是文本文件操作术的优点,不依赖于某个平台或者特定的UI,在脑电波编程的技术发明前是可以永远使用下去的

文本文件操作术教程: 如何提高编程速度 - Emacs高手教授轻松精通所有编辑器和IDE的秘诀

编辑于 2020-03-07 12:35