最适合开发人员的Linux书籍
作为一名开发人员,肯定也经常需要和 Unix/Linux 打交道。应用出故障的话,就得登录到主机上查日志、看资源使用情况。这样的话,起码的基本命令得知道吧,`cd`、`ls`、`top`、`ps aux ` 就不必说了,发现的确是应用有问题,想通过日志文件看一下根因,`tail` 和 `grep` 命令常用的几个选项得知道。发现应用无响应,需要用 `kill` 来杀死它,如果僵死,就得用 `kill -9` 强制关闭。如果想要更改配置文件,`vi` 最基本的几个快捷键需要熟练。
知道这些 Linux 常用命令能让我们应付很多日常工作,但这都是靠运气。如果不能比较系统的了解一些 Linux 知识,一旦环境发生变化,我们就抓瞎了。这本书从 Linux 发行版派别到虚拟化都有关注,内容涉及到方方面面,但知识点讲解的时候并没有让人觉得照本宣科蜻蜓点水,比如里面对信号的说明、对 sudo 的讲解,都是开发工作中会实实在在用到的知识点。当然,这本书名为系统管理技术手册,里面肯定涉及一些我们开发人员不需要的知识。我读的时候就直接跳过了打印、SMB、BIND 等相关章节,涉及 FreeBSD 的也只是粗略翻过,但剩余章节可以说是精华中的精华,如果你是一名开发人员,只了解基本的 Linux 命令,想系统地了解 Linux 来更好的处理工作中遇到的问题,那这本书绝对是不错的选择。
我自己很久以前就买了第四版,第五版出来后有点犹豫,最后还是又支持了一把。相比前一版,第五版变化其实并没有那么多,新增了容器化、devOps 的一些章节。本书翻译也很流畅,通篇读下来没有什么特别让人觉得难受的地方,读的时候遇到一些文字上的疏漏,整理了一下放在书评后面。总的来说如果以前没买过这本书,赶紧买,不看也要买。
##### 勘误
* P62:【AppArmor的配置保存在 /etc/assarmor.d 文件中】assarmor.d 应该为 apparmor.d
* P94:【可以使用 ls -s 创建符号链接】ls 应该为 ln
* P121:【Red Hat Network有大把的特性可供使用,可以到其他网查阅最新的价格和特性】“他网”应该是“官网”的笔误
* P122:【只要设置好 /et/apt/source.list 文件】“/et/”应该为 “/etc/”
* P138:【echo "There are 'wc -l < /etc/passwd'"】 wc 前的应该是反引号,而不是正引号。另外本书示例里涉及反引号的都写成了正引号,运行肯定有问题。比如P143里的两个示例
* P155:【7.9 节给出了一份完整的参考资料】没有7.9节
* P217:【10.7 节描述了相关的配置信息】没有10.7节
* P293:【为及其分配唯一的IP地址和主机名】语句不通
* P350:【15.8 节的推荐阅读】没有 15.8 节
* P482:【选择在 TLS 加密的连接仅支持 HTTP/2】说反了,是 HTTP/2 仅支持 TLS 连接
* P487:【TLS 连接必须在服务器能够从HTTP请求中读取到Host头之间建立】是之前,不是之间
* P489:round robin翻译成【循环】,一般翻译为【轮询】
* P503:【工人进程】一般是工作进程吧
* P656:【在外部世界和容器之间代理流浪】流量?