第二讲 Linux编程入门之 脚本编程

整体思路

本讲是编程系列讲座的第二讲,主要讲述 Linux 平台上的两种最常用的脚本编程语言,即 BASH 和 PERL。由于 Linux 是以 UNIX 设计思想为蓝本逐步演化发展而来的,因此在 Linux 环境中命令行操作和文本处理就明显要多于 Windows 系统,故而脚本语言以其简洁、快速、方便的特点在 Linux 系统中得到广泛应用。BASH 现在几乎是各种 Linux 发行版中 Shell 的事实上的标准,掌握BASH可以帮助用户更为便捷、合理的理解、管理和使用 Linux 系统,即使你不用 BASH 编程,掌握 BASH 对你理解整个系统也是必不可少和大有裨益的;PERL诚然是一种非常适合写 CGI 程序的语言,但是PERL的作用不仅仅如此,掌握PERL如同找到了 Linux 编程的捷径,有许多 Linux 下的好东西就是用 PERL 完成的,比如 Majordom(一个中量级邮件列表程序)。本讲的目的是通过介绍 Linux 上这两种主流脚本语言编程的知识,使大家找到脚本语言的共性,掌握这两种脚本语言的使用,并触类旁通的理解其他脚本语言,迅速引导有一定 Linux 使用经验的同学入门,更好的把握 Linux 系统和使用 Linux。


本讲首先对 Linux 上的脚本编程做一个简单介绍;然后通过分别讲解 BASH 和 PERL 这两种重要的脚本编程环境,并结合具体实例演示来使大家对 Linux 上的脚本编程有一个感性认识,获得这种编程思想的基本思路。由于时间有限,许多细节问题我们只在讲义中给出解释,而不作细致讲解,希望本次讲座能给大家一个解决问题的思路和总体把握尺度,更多的探索留待大家自己课后去钻研。


主要内容

BASH 部分 PERL 部分

各部分要点

练习

  1. 请用 BASH 编写一个小程序,实现在指定目录下递归搜索有特定后缀名的文件,并更改其后缀。
  2. 用 BASH 编写一个具有类似特洛伊木马功能的小程序。
  3. 分析讲义中自代的站内搜索程序的 Perl 源代码,为其添加你想到的新功能。
  4. 用 Perl 语言编写一个留言本 CGI 程序。
  5. 用 Perl 语言编写一个统计 Apache Log 文件中信息的程序,统计哪些 IP 喜欢访问哪些页面?
  6. 用 Perl 语言编写一个在大段文字中匹配查找所有以 "m" 开头,以 "g" 结尾中间含有 "o" 的单词。

推荐书目

  1. BASH Programming - Introduction HOW-TO,by Mike G mikkey at dynamo.com.ar
  2. Advanced Bash-Scripting HOWTO - BASH 脚本编程指南,by Mendel Cooper(thegrendel@theriver.com)
    (中译)
  3. Learning Perl 入门读物,适合入门者使用。
    (中译)
  4. Programming Perl 推崇备至的经典书籍,也就是所谓的Camel Book,适合想深入了解perl的人阅读。
    (中译)
  5. Perl Cook Book 正如烹饪书一样,它适合随机阅读,也可在需要时查阅,但是读完它也很有好处。本书介绍了许多有效的“菜谱”,可以节省你的时间,提高程序效率。
  6. Perl 5 从入门到精通 介绍得还算比较详细,不过翻译的不好。
  7. <<Perl入门>> 电子工业出版社

反馈

本讲由陶品讲解。欢迎任何意见和建议,可发 email: taopin@sina.com 与陶品联系。

AKA 自由软件系列讲座