前段时间读完了《Linux Shell脚本攻略》(第2版)这本书,给部分想读这本书的人分享下个人感受。
第一遍体会解读:就像黑夜中的灯塔,指明前进的道路。
推荐指数:强烈推荐。 书中讲解的知识在工作中常常用到。
推荐人群:新手、接触linux一段时间的人、对shell不熟悉的人
说下这本书的难度吧。纯新手或者只懂少部分编程知识的人,读起来还是有很大难度的。以我为例,做过开发,在学了几个月linux知识后才开始读得这本书,但是对于书里的部分内容还是不理解。这个倒不是shell脚本学起来难度大,只是shell脚本语言的设计,坑比较多,一些设计和规定,与主流的c、java等语法彼此有很大区别,甚至让你感觉这是二货程序猿的作品。下面细说下读这本书各个章节的建议。
第一章:小试牛刀 综合linux知识内容进行举例,难度稍大,但是所讲解的内容在工作中用到的比例特别高。
第二章:命令之乐 本章节对于新手和shell不甚理解的人来说,要细读,重中之重的章节。作者举例的这些命令,差不多只要涉及到linux方面的编程,都要用到这些命令的,好好读吧!
第三章:以文件之名 本章讲解的是与文件相关的操作及属性。本章前半部分,对于linux下的测试人员来说是现在必须理解懂得的,需要立刻学习。后半部分的话需要根据个人从事的行业来行动,像我,现在从事的行业一个都用不到,对于用不到的人,可以放到最后学,可以放到第一章之后。
第四章:让文本飞 讲解的是文本文件的处理, 也是重中之重章节,特别是awk、sed等命令,需要熟练掌握切运用,在编写脚本的时候常用。
第五章:一团乱麻?没这回事 讲解web方面的知识,本章节也是根据个人工作的需要来计划是先学还是后学。 我所在的工作一点到用不到。。。。。
第六章:B计划 讲解的是文件创建与维护、归档及压缩,通用必学知识,看个人所在测试工作内容来学习,区别就是分配时间的多少。
第七章:无网不利 讲解网络方面的内容。运维必须学习的部分,当然测试的话也是需要懂得,难道每次网络出个问题就要去找运维解决?常见的问题也就ip设置、网卡什么那几个,自己多解决几次也就会了。
第八章: 当个好管家 讲解的是监视系统活动的各种命令。 也是看个人从事的岗位来分配花费多少时间去学习与前后顺序。
第九章:管理重任 讲解的是对系统进程查找的工具或者命令 ,通用章节。
个人推荐,优先读 第一章(首位,知识点不难,只是没见过,看一下别人讲解的就懂了)、第二章、四、三(前半章节)、六 ,余下的章节,根据个人情况分先后顺序去学习。
二遍体会:就像酒,越久越沉香。
在看完第一遍后,加上工作中的经验与疑惑,对shell知识体系已经有了详细的理解,这时候沉下心来细读第二遍,不要有遗漏,细细的去品味,你会发现工作中遇到的很多问题都在书本中讲到了。
举个例子:我在读第一遍的时候,对第二章后半部分是直接略过,(当时看了小部分,一头蒙,就直接略过了),在后来工作中写脚本的时候遇到了截字符串的问题,后来在百度上查找解决了,但是晚上查找到的都是理论部分不详细,没有解决问题后的愉快心情。后来再读这本书的时候,读到讲解截取的知识,看到书中举的例字,对于理论知识的讲解,有种豁然开朗的感觉。所以在读完第一遍后一定要详读第二遍,收获会非常大的。
推荐一个网站,国外网站,上面讲解都是在写shell脚本中容易犯的错误: http://mywiki.wooledge.org/BashPitfalls 。