十年风雨,一个普通程序员的成长之路(十二)2022,我的第一本书出版了
01.我的第一本书
1987年12月出生的我,在老家已是虚岁36了。在城市里,也快周岁35了。
很意外的是,这个系列我竟然还能写到十二。更意外的是,将近一年多没在博客园发文了。
2019年底说写一本书,没想到,真的写了一本书了。
17岁的时候,接触了榕树下,当时想学树下野狐一样写出一本搜神记,想学痞子蔡写一本轻舞飞扬。
然后终究只是想想而已。读过的书也太少,见过的人太少,经历过的故事也太少了。
后来接触了幻剑书盟,反手却在起点cmfu网站上注册了一个作者号,写了十几章无疾而终的武侠小说。
兜兜转转,17岁没实现的梦,竟然以另一种方式实现了。荒诞而现实的黑色幽默。
在2022年还有几个月要结束的时候,出版了一本由我编著的书籍《Linux从入门到精通》。
叫精通,不过也是出版社的策略罢了。真的精通吗?对于不懂,没有入门的人来说,似乎是这样的。
然而真得精通吗?似乎还差得远呢!这个知识的圆,接触的越多,便越觉得,差得远呢!
02.一本书的诞生
多年前看过一部电影,《一个字头的诞生》。具体讲什么已不记得了,哈。就是感觉很像吧。很多机缘巧合。
在博客园写博客。正好有编辑联系了,就加上了。
正好因为一年前的项目对Linux不了解又频繁接触,导致很有学习的兴趣。然后开了公众号《Linux常用命令》,整理些有趣的Linux命令。
不断地吸收,不断地输出。
这本《Linux从入门到精通》的大纲,其实是在还没有出版社选题之前就差不多定下来的,后期的修改不多,都在这个框架内。
这本书,最初是我妻子想要找一份工作,我给她制定的一份学习纲领。最初的版本,还有一部分MySQL的运维章节,后来专注于Linux而给删掉了。
虽然我妻子的学习计划夭折了,但是很凑巧的是却被电子工业出版社给看中了。只能说是机会留给有准备的人吧。
从2020年到2022年,快接近两年的时间了,期间经历了选题,资料查找、翻译,修正,删减,不断地向着成书进发。
为了写这本书,买了很多相关的书籍学习研究,与Linux官方文档对照学习,光买书的钱就得两千块了吧。
成书之后,还编写教学PPT,录制实操视频,甚至由于有些内容太过久远,我连当初的研发环境都没了。
感谢雨露和其他编辑们的细心修正,得以让此书顺利出版。
03.本书的大致内容
这本书实际上一开始我为我爱人找工作而制定的一份学习计划,所以是把面向的读者当做了什么都不会的小白,甚至从能安装一个Linux系统开始。
我觉得最开始学编程的时候(10年前了),就想学习Linux来着,无奈痛苦的是一个学习环境都没有。
今天的环境真是太好了,几百块甚至几十块就可以在云端租用一个Linux服务器,想自己安装直接就有打包好的发行版一键安装就行了。也太幸福了吧。
所以第一章就简单讲了下Linux系统的发展历史以及为什么要学习Linux。
第二章就开始介绍Linux的发行版选择、多种方式(物理机 + PE、虚拟机、云主机)安装Linux系统的方法、Mac以及Windows下的各种客户端工具和Linux的系统初始化工作。
第三章就是一些Linux的基础操作了。Linux文件增删改查的命令,以及乱码文件的处理和特殊字符的一些说明。
第四章,则是在Linux系统中增删改查用户、用户组,以及搞清楚怎么查看设置文件的权限,666、777到底是啥意思。
到了第五章,就是一些常用工具的使用了,如文件上传下载、打包压缩、多路会话管理、定时任务、邮件收发等功能。
第六章会说到磁盘的相关内容了怎么查看磁盘设备、文件句柄,设置inode、软硬链接,格式化新建文件系统,挂载、扩展磁盘分区,以及对磁盘进行故障模拟和诊断修复。
第七章已经需要一些专业的计算机基础知识了,本章会介绍Linux主机、CPU、内存、进程的查看方法以及它们互相之间的影响,详细描述了进程的管理方式及KILL信号间的关系,和性能监控的方法。
第八章介绍了Linux网卡、路由配置,域名解析与DNS的关系,网络探测与流量监听的工具,各类防火墙与安全组的配合使用, 简述了TCP/IP、OSI、Socket、TCP/UDP、HTTP、SSL等网络通信模型与协议,并介绍了安全相关的内网穿透、漏洞扫描和一些安全防护的方法工具等等,最后以实例演示如何搭建一个防暴力破解工具、内网穿透服务以及清除挖矿病毒。
第九章是系统管理与软件安装,主要介绍Linux系统启动过程、Systemd的功能架构与如何建立一个开机服务,并简单描述了Linux根目录下各文件夹的作用,演示了yum、rpm包的安装过程,并在实战案例中介绍了一种远程开机的方法。
第十章介绍Shell编程的环境配置、执行方式与基本语法,并扩展介绍了特殊的文件处理命令awk,以及怎样调试与编写Shell脚本,最后以实战的方式演示怎样写一个类似cp、mv的Linux命令。
04.那些被删减的内容
本来本书还有其他章节,但是由于篇幅问题都被删减了。如十一章,是介绍IT从业人员必备的版本工具SVN、Git的安装、部署、配置与使用,以及怎样使用GitLab在公司内网搭建一个类似GitHub的Git仓库管理网站。
十二章会主要介绍promethues + grafana,及其他类似工具的简单介绍。
十三章会介绍nginx的反向代理、长链接、upstream和其他类似的负载工具,如F5、LVS、Caddy 、HAproxy等等。
十四章介绍mysql的安装、集群、主备方案等等。
十五章还可以说说canal 、otter之类的工具使用。
可惜由于篇幅原因,还有很多可以说的东西未能一一说明。算是一个不大不小的遗憾吧。
不过也没啥大关系,如果一个懵懵懂懂的Linux爱好者学完了本书前面的这些内容,后面的这些东西资料太多了,随便搜一搜,买几本书看看,也就会了。
已经将近400页,确实很厚了。
05.END
书出版了,确实挺开心的。
如果有正好想看看、想学学Linux的兄弟姐妹们,可以到京东、当当甚至淘宝也可以,搜索【姚伟 Linux】就可以找到本书。
当当最近好像在做活动,只要50块,其他平台最少都70多了。
十年系列:
十年风雨,一个普通程序员的成长之路(七)膨胀、骄傲,程序员转项目经理的原罪
十年风雨,一个普通程序员的成长之路(八)不想做技术总监的项目经理,不是好程序员
十年风雨,一个普通程序员的成长之路(九)一眼望到头,一眼望不到头