前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本学习材料

shell脚本学习材料

作者头像
小小科
发布2018-05-02 15:44:30
1.7K0
发布2018-05-02 15:44:30
举报
文章被收录于专栏:北京马哥教育

本着对linux和shell脚本的极大兴趣,我看了不少shell脚本相关的书和文章,也有了很多学习心得, 回首自己的linux和shell脚本学习历程,不禁发现自己竟也走了不少的弯路,完全是靠着自己的满腔 热情走到今天。为了帮助有缘的朋友少走一点弯路,这里向大家推荐一些学习的资料, 资料包括书,开源免费书,博客和相关网站。这里推荐的材料都属于进阶类型,特别适合已经掌握 了一些shell脚本的基础知识,并希望深入学习shell脚本的朋友。1. 书linux命令行与shell脚本编程大全1这本书是入门级的读物,作为入门材料非常合适。可惜我入门的时侯没有遇到它。虽然很大 部头,其实一天也就能看完了。讲的东西比较全面,也比较简单。三颗星推荐。linux shell脚本攻略2这是我强烈推荐的一本书,我的shell脚本从新手到老手全靠这本书。这本书很薄,也精华。 与上面的那本书不一样,这本书追求的不是全,而是精,是各种各样的奇技淫巧,是老手 天天用却不会告诉你或者他们也没有意识到的技巧。五颗星推荐。此外,这本书的作者是一个印度人,二十岁的时侯写下了这本书,那时他已经是Ubuntu 和Fedora的源码贡献者了。The AWK Programming Language3这本书的作者就是AWK程序语言的设计者,所以,其权威性毋庸置疑。值得注意的是,这本书的第二作者 Brian W. Kernighan是神一样的科学家,他是《The C Programming Language》的作者。 Brian W. Kernighan 的《程序设计实践》也是一本好书。AWK的学习资料网上一搜一大片,其实,只要静下心来把这本书中的代码敲一遍,就可以无视其他所有材料了。 这本书网上有电子版。很奇怪的是,这么好的一本书,国内的出版社怎么没有引入,可能是AWK太老太小众了吧。 总之,学习AWK这是必读的一本书,五颗星推荐。2. 免费电子书高级shell脚本编程指南4高级shell脚本编程指南,也就是传说中的ABS,你如果到论坛里去问有什么好的学习shell脚本 的进阶书籍,大多数人都会推荐这本书。正如这个世界上最珍贵的东西(如:空气,阳光, 亲情与爱)都是免费的一样,这本书也是免费的,是网上开源的免费书籍,任何人都可以获得。 已经有热心的朋友将它翻译成了中文版,不过还是推荐看英文版,专业书籍使用的英文单词都不难, 大家应该尽快习惯看英文版的书籍。四颗星推荐。sed and awk 101 hacks5这是一本印度人写的开源免费书籍(印度人好像比较喜欢也有能力干这事),应该算是入门书籍, 不过作者表达能力太强,交代的东西也很多,所以无论老手还是新手,看这本书都会有一定的收获。此外,该作者还写了另外两本同样有名的开源书籍,即《vim 101 hacks》和《linux 101 hacks》。 这三本书都四颗星推荐。3. 博客 && 网站One-Liners Explained6除了上面推荐的比较好的书以外,网络上也有一些比较好的博文。比如,大名鼎鼎的One-liners Explained 系列。这个系列共有4篇文章,都是进阶级的,需要较强的功底才能看懂。这4篇文章是:Bash One-Liners Explainedsed One-Liners Explainedawk One-Liners Explainedperl One-Liners Explainedcommandlinefu.com7这是一个很有名的网站,专门收集一些很酷很简洁的命令。例如:当你使用vim编辑一个文档,保存的时侯才提示你没有权限,这个时侯怎么办呢? 如果你知道:w !sudo tee %命令就不用烦恼了,这个牛逼的命令我就是在commandlinefu上学会的, 也是我至今觉得最酷的一个命令。Top Ten One-Liners from CommandLineFu Explained One-liners Explained 系列的作者还根据CommandLineFu 写了另外一篇文章,即 Top Ten One-Liners from CommandLineFu Explainedthe unix school8the unix school是一个印度哥们维护的博客,这个博客专注于linux与shell,最大的特色 是尝试使用不同的方法解决同一个问题,对于开阔视野,拓展思路非常有用。the unix school 是我最喜欢的博客之一,里面的每一篇博文我都认真看过,强烈推荐。bash Pitfalls9Bash Pitfalls文章介绍了40多条日常Bash编程中,老手和新手都容易忽略的错误编程习惯。 每条作者在给出错误的范例上,详细分析与解释错误的原因,同时给出正确的改写建议。已经有朋友(网名:团子)将这篇文章翻译成了中文版。简洁bash编程10团子写的简洁bash编程也值得一看。里面虽然有很多知识你可能在其他地方已经见过,但是这么多编程技巧里面,只要有一条你不知道, 并在知道以后长期使用就值得你看了。我第一次写一个较复杂的脚本的时侯,用到了多进程,需要在主进程里面等待子进程结束。当时我的做法 是记录下子进程的pid(sleep 10 &; pid= $!),然后使用while 循环判断进程是否结束(kill -s 0 $pid),进程少还行,子进程多了一后就没法这么干了。 其实有一个很好也很方便的做法,使用wait命令即可。这个命令我就是在简洁bash编程里学到的。4. 后记认真学习完这里推荐的资料,就算得上是shell脚本老手了,不过,凡事都是凭兴趣,我相信这篇文章对 shell脚本感兴趣的新手会有很大的帮助。不过,还是要切记,多用多动手才是学习linux和shell的最佳方法。我真的很佩服印度人,他们非常有才华,也善于表达,还具有开源精神。《linux shell脚本攻略》的 作者一直致力于开源软件,年纪轻轻就向Ubuntu和Fedora贡献源码(我也想,能力不够),还维护了自己的 linux发行版。二十岁时写下的这本《linux shell脚本攻略》,现在已是我必备书籍。101 hack系列的是一个印度人写的,the unix school是我最喜欢的博客之一,博主也是一个印度人, 大名鼎鼎的《a byte of python》与《a byte of vim》(与这篇博客无关)的作者也是印度人, 我就发现这些印度人确实很厉害,他们能用简单易懂的方式传递知识,而且他们也很愿意无偿的贡献自己劳动成果。有感于印度人的才华与表达能力,并且网络上已经有很多优秀的shell脚本学习资料。所以我打消了写shell 相关博客的想法。仅用此文收集一些优秀的书籍和博文,以后发现好的资料还会再补充。也欢迎补充优秀 的学习资料。

  1. linux命令行与shell脚本编程大全1

这本书是入门级的读物,作为入门材料非常合适。可惜我入门的时侯没有遇到它。虽然很大 部头,其实一天也就能看完了。讲的东西比较全面,也比较简单。三颗星推荐。

  1. linux shell脚本攻略2

这是我强烈推荐的一本书,我的shell脚本从新手到老手全靠这本书。这本书很薄,也精华。 与上面的那本书不一样,这本书追求的不是全,而是精,是各种各样的奇技淫巧,是老手 天天用却不会告诉你或者他们也没有意识到的技巧。五颗星推荐。 此外,这本书的作者是一个印度人,二十岁的时侯写下了这本书,那时他已经是Ubuntu 和Fedora的源码贡献者了。

  1. The AWK Programming Language3

这本书的作者就是AWK程序语言的设计者,所以,其权威性毋庸置疑。值得注意的是,这本书的第二作者 Brian W. Kernighan是神一样的科学家,他是《The C Programming Language》的作者。 Brian W. Kernighan 的《程序设计实践》也是一本好书。 AWK的学习资料网上一搜一大片,其实,只要静下心来把这本书中的代码敲一遍,就可以无视其他所有材料了。 这本书网上有电子版。很奇怪的是,这么好的一本书,国内的出版社怎么没有引入,可能是AWK太老太小众了吧。 总之,学习AWK这是必读的一本书,五颗星推荐。

2. 免费电子书

  1. 高级shell脚本编程指南4

高级shell脚本编程指南,也就是传说中的ABS,你如果到论坛里去问有什么好的学习shell脚本 的进阶书籍,大多数人都会推荐这本书。正如这个世界上最珍贵的东西(如:空气,阳光, 亲情与爱)都是免费的一样,这本书也是免费的,是网上开源的免费书籍,任何人都可以获得。 已经有热心的朋友将它翻译成了中文版,不过还是推荐看英文版,专业书籍使用的英文单词都不难, 大家应该尽快习惯看英文版的书籍。四颗星推荐。

  1. sed and awk 101 hacks5

这是一本印度人写的开源免费书籍(印度人好像比较喜欢也有能力干这事),应该算是入门书籍, 不过作者表达能力太强,交代的东西也很多,所以无论老手还是新手,看这本书都会有一定的收获。 此外,该作者还写了另外两本同样有名的开源书籍,即《vim 101 hacks》和《linux 101 hacks》。 这三本书都四颗星推荐。

3. 博客 && 网站

  1. One-Liners Explained6 除了上面推荐的比较好的书以外,网络上也有一些比较好的博文。比如,大名鼎鼎的One-liners Explained 系列。这个系列共有4篇文章,都是进阶级的,需要较强的功底才能看懂。 这4篇文章是:
    • Bash One-Liners Explained
    • sed One-Liners Explained
    • awk One-Liners Explained
    • perl One-Liners Explained
  2. commandlinefu.com7 这是一个很有名的网站,专门收集一些很酷很简洁的命令。 例如:当你使用vim编辑一个文档,保存的时侯才提示你没有权限,这个时侯怎么办呢? 如果你知道:w !sudo tee %命令就不用烦恼了,这个牛逼的命令我就是在commandlinefu上学会的, 也是我至今觉得最酷的一个命令。
    • Top Ten One-Liners from CommandLineFu Explained One-liners Explained 系列的作者还根据CommandLineFu 写了另外一篇文章,即 Top Ten One-Liners from CommandLineFu Explained
  3. the unix school8 the unix school是一个印度哥们维护的博客,这个博客专注于linux与shell,最大的特色 是尝试使用不同的方法解决同一个问题,对于开阔视野,拓展思路非常有用。 the unix school 是我最喜欢的博客之一,里面的每一篇博文我都认真看过,强烈推荐。
  4. bash Pitfalls9 Bash Pitfalls文章介绍了40多条日常Bash编程中,老手和新手都容易忽略的错误编程习惯。 每条作者在给出错误的范例上,详细分析与解释错误的原因,同时给出正确的改写建议。 已经有朋友(网名:团子)将这篇文章翻译成了中文版。
  5. 简洁bash编程10 团子写的简洁bash编程也值得一看。 里面虽然有很多知识你可能在其他地方已经见过,但是这么多编程技巧里面,只要有一条你不知道, 并在知道以后长期使用就值得你看了。 我第一次写一个较复杂的脚本的时侯,用到了多进程,需要在主进程里面等待子进程结束。当时我的做法 是记录下子进程的pid(sleep 10 &; pid= $!),然后使用while 循环判断进程是否结束(kill -s 0 $pid),进程少还行,子进程多了一后就没法这么干了。 其实有一个很好也很方便的做法,使用wait命令即可。这个命令我就是在简洁bash编程里学到的。

4. 后记 认真学习完这里推荐的资料,就算得上是shell脚本老手了,不过,凡事都是凭兴趣,我相信这篇文章对 shell脚本感兴趣的新手会有很大的帮助。不过,还是要切记,多用多动手才是学习linux和shell的最佳方法。 我真的很佩服印度人,他们非常有才华,也善于表达,还具有开源精神。《linux shell脚本攻略》的 作者一直致力于开源软件,年纪轻轻就向Ubuntu和Fedora贡献源码(我也想,能力不够),还维护了自己的 linux发行版。二十岁时写下的这本《linux shell脚本攻略》,现在已是我必备书籍。 101 hack系列的是一个印度人写的,the unix school是我最喜欢的博客之一,博主也是一个印度人, 大名鼎鼎的《a byte of python》与《a byte of vim》(与这篇博客无关)的作者也是印度人, 我就发现这些印度人确实很厉害,他们能用简单易懂的方式传递知识,而且他们也很愿意无偿的贡献自己劳动成果。 有感于印度人的才华与表达能力,并且网络上已经有很多优秀的shell脚本学习资料。所以我打消了写shell 相关博客的想法。仅用此文收集一些优秀的书籍和博文,以后发现好的资料还会再补充。也欢迎补充优秀 的学习资料。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档