本文是Linux Shell脚本系列教程的第(一)篇,更多shell教程请看:Linux Shell脚本系列教程 想要学习linux,shell知识必不可少,今天就给大家来简单介绍下shell的基本知识。 Shell简介 Shell自身是一个用C语言编写的程序,是用户来使用Unix或Linux的桥梁,用户的大部分工作都需要通过Shell来完成。只有熟练使用shell,才能熟练掌握linux。 可以说:Shell既是一种命令语言,又是一种程序设计语言。 作为命令语言,它可以交互式地解释和执行用户输入的命令;而作为程序设计语言,它可以定义各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 Shell虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式来协调各个程序的运行。…
Shell脚本:实用 Shell 文档
ChinaUnix上大神網中人总结的Shell十三问?,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点。每一问都写得非常精彩。
同样是ChinaUnix上,wingger大神整理的Shell基础二十篇。这份文档涉及的内容比较多,我没记错的话应该有很多命令的用法,而且配备实际使用的例子,对初学者帮助甚大。
Shell脚本专家指南也是一本不可多得的好书,我是之前在学校的时候买的这本书。上面都是作者实际工作中的经验总结,你可以从中学到很多其它书上学不到的实践知识。千万不要被专家两个字吓住了,书名的意思是专家给你总结的学习指南。
注:mingxinglai也在他的博客文章shell脚本学习材料种整理了很多实用的资料。
正则表达式
我个人学习正则表达式是从正则表达式30分钟入门教程开始的,这份文档让我了解了正则表达式的一些基础术语和基本的用法。
Linux下的正则表达式学习相对资源比较丰富,但同样得,因为不同工具的正则表达式或多或少都有一些不同,所以初学起来也比较让人困扰,但是正则表达式的关键在于多学多用。多看看grep/sed/awk中正则的用法,慢慢得就熟悉了。
这里推荐一篇InfoQ上介绍Linux下正则表达式不同流派之前的区别的文章——Linux/Unix工具与正则表达式的POSIX规范,读了它之后你会让你有种豁然开朗的感觉。
Sed与awk
学习Sed和awk命令不得不看的一本书是sed and awk,我目前只看了sed的这部分,它几乎涵盖了sed所有相关的知识,并且将sed行处理的原理讲得很透彻。之前并没有去研讨后半部分,想必应该同前半部分一样精彩。
网上还有一份非常宝贵的sed学习资料——sed1line,我之前也看过这份并且作了篇笔记sed1line 笔记。个人认为这才是sed的精华所在。
最近我在写一系列关于sed&awk这本书的笔记文章,有兴趣的可以看一看Sed&awk笔记。
寻找帮助的社区或者论坛
国内就是ChinaUnix,国外就是StackOverflow和SuperUser等问答社区,当然善用谷歌搜索也是一项基本技能。
资料索引
为了方便,我把一些有用的网站和资料放在这当一个索引:
- ChinaUnix论坛Shell版
- Shell十三问(word/pdf版)
- shell基础二十篇
- 正则表达式30分钟入门教程
- Linux/Unix工具与正则表达式的POSIX规范
- Sed One-Liners Explained
- Awk One-Liners Explained(中文版)
- Advanced Bash-Scripting Guide(pdf版本下载)
- Bash Hackers Wiki Frontpage
- Greg’s Wiki
- serverfault.com
- stackoverflow.com
- 简洁的bash编程技巧
- 简洁的bash编程技巧续篇
- sed1line 笔记
- Sed命令地址匹配问题总结
- Linux Shell Script 系列教程目录, Shell脚本编程, Shell编程, Shell脚本编程入门