Unix和Linux的指南PDF电子书免费下载

资料大小: 8.17 MB

所需积分: 3

下载次数:

用户评论: 0条评论,查看

上传日期: 2020-07-16

上 传 者: 琚瓜瓜他上传的所有资料

资料介绍

标签:过滤器(93)UNIX(187)Linux(5167)内核(384)

  我精心设计了这本书来帮助你教Unix和Linux。我的目标是支持你的教学,不管你的课程有多长,也不管你选择在课堂上展示什么主题。为了做到这一点,我给你提供了一本长书,涵盖了学生理解和使用基本Unix所需掌握的每一个重要主题。我把这本书设计成可以从头到尾按顺序阅读的综合参考书。然而,我也设计了它给你最大的灵活性。我的目的是让你看看目录,看看这本书有什么内容。然后选择你想直接教的主题,以及你想分配给自学的主题。这种方法对你很有用,因为我写了每一章,这样就可以独立学习了。此外,一章中的每一节都是为了让学生自学而设计的。为了使这成为可能,我使用了一些技巧。首先,我们知道,在任何学习领域,学生必须学习的最重要的事情之一就是相关术语。本书共解释了622个术语,每个术语都有明确的解释。而且,除非解释清楚,否则不会使用任何术语。为了支持这一努力,在书的末尾有一个广泛的词汇表。如果你安排了一章或一节,你的学生可以简单地使用词汇表来查找他们不熟悉的概念。(请鼓励他们这样做。)为了获得进一步的帮助,每个词汇表定义后面都有一个章节的编号,学生可以在其中找到关于主题的详细讨论。第二,当学生阅读时,他或她通过仔细地使用例子从一个想法引导到下一个想法。事实上,这本书包含了一千多个完全整合到文本中的例子。大多数命令和思想都与示例输入和输出相结合,这使得本书能够独立运行。这使得学生能够完全理解他在读什么,即使他当时没有在电脑前工作。第三,本书中的所有示例都在Linux、FreeBSD和Solaris系统上进行了测试。在大多数情况下,每个示例都在四种不同的Shell下进行测试:Bash、kornshell、Tcsh和C-Shell。因此,无论你的学生使用哪种类型的Unix或Linux,他们在书中读到的内容都会对他们有用。如果有重要的例外,我会注意到。因此,如果学生在电脑前跟随,他所看到的将与书中的内容相似。

  最后,当一个学生阅读一个特定的部分时,不能假设他已经读过上一节,或者他会读下一节。这让你可以教任何你想教的东西,无论你认为哪个顺序。(关于选择教什么的更多想法,请参阅下面关于Unix模型课程的讨论。)使这成为可能的是对本书其他部分的前后参考的自由使用。因此,当一个主题依赖于其他地方讨论的想法时,学生会发现花一点时间来填补知识上的空白是很容易的。

  UNIX作为计算机科学的一部分

  Unix教学中最有趣的一个方面是,与计算机科学的其他领域不同,没有标准的课程。这一点,尽管Unix是一个成熟的研究领域,已经教了二十多年了。多年来,Unix被认为仅仅是一种技术,而不是计算机科学的一部分,这一观点解释了这一看似矛盾的现象。因此,Unix中的指令主要用于解释如何执行各种任务,如使用shell、输入命令、操作文件、运行程序等等。对于编程专业的学生来说,Unix只是作为编写和测试程序的工具。诚然,一些操作系统教师认为Unix是一个经典的系统,它的重要性足以从历史的角度进行研究。然而,多年来,认为Unix应该被认为是计算机科学中的一个合法主题,这一点被认为是遥不可及的。然而,随着Unix和Linux的学习成为计算机科学课程的重要组成部分,这种观点正在发生变化。这种变化有几个原因。首先,Unix的历史是我们所拥有的设计良好的计算系统的最好例子,它已经进化并存活了不止一代人。事实上,有很多人使用Unix,他们的父母都使用Unix。其次,Unix的大部分部分是由精通基础计算机科学的计算机科学家或程序员设计的。因此,正确地学习Unix可以让学生有机会看到计算机科学的实际应用。这自然会导致对更主流主题的研究,例如数据结构和数字系统。例如,请参阅第9章和第23章中有关树的讨论;第8章和第24章中有关堆栈的讨论;以及第21章中有关十六进制、八进制和二进制数系统的讨论。最后,Unix文化是20世纪90年代Linux和开源运动兴起的熔炉,因此,Unix的研究为学生提供了理解、欣赏和(或许)为这些重要的国际努力做出贡献所必需的背景知识。为了以这种方式促进Unix和Linux的教学,本书以Unix模式课程为中心,旨在帮助教师们规划课程。有关更多信息,请参阅下面的“支持教师”部分。

  与UNIX无关的方法

  本书的目标之一是确保学生能够在世界任何地方以自己的语言使用任何类型的Unix或Linux。这一目标有多种促进方式。首先,我的核心信念是,学生应该接受足够的教育,使他们能够使用任何主要类型的Unix以及最重要的shell。具体来说,学生不仅要熟悉Linux,而且要熟悉基于SystemV的Unix(如Solaris)和基于BSD的Unix(如FreeBSD和Mac OS X),而且要了解最重要的shell的基本操作:Bash(默认的Linux shell);Korn shell(现代版)以及Tcsh(C-shell的现代版本)。因此,我们有必要考虑学生的长期需求,而不管你所在的学校恰好有哪个系统可用。为了达到这个目的,这本书介绍了Unix和Linux,它使用了所有类Unix操作系统所共有的一组基本原理。如果存在显著差异,则将其作为标准的变体进行教学,以确保学生能够适应最重要、最持久的概念。类似的教学方法也用在贝壳上。向学生介绍贝壳有两个主要的家族,每一个家族都有相应的历史和技术背景。然后将kornshell和Bash作为bourneshell家族的成员引入,而C-shell和Tcsh则作为C-shell家族的成员进行教学。因为有些细节是复杂的,这本书有许多表格和注释,作为参考,如果学生需要从一个操作系统切换到另一个操作系统,或者从一个shell切换到另一个shell(正如我们经常必须做的那样)。Unix中性教学环境的第二种开发方式关注国际化。在早期(70年代和80年代),所有Unix系统都源于systemv或BSD(见第2章),这两个系统都是以美国为中心的系统,基于ASCII代码。今天,Unix和Linux系统被广泛使用,远远超过了美国。实际上,Linux内核和各种Linux发行版都是由来自世界各地的志愿者开发的。因此,Unix已经发展成为一个真正的国际化操作系统,它支持的不仅仅是美国英语和ASCII。对于初学者来说,与国际化相关的最重要的概念是区域设置、排序序列和字符类。作为fi过滤器(第19章)和正则表达式(第20章)处理的一部分,我们详细讨论了这些主题。我认为,在我们的教学中建立和维护Unix中立的方法会引导学生将Unix和Linux作为全局系统的想法内化。通过这种方式,学生可以发展知识和技能,从而熟悉他或她可能被要求使用的任何类型的Unix或Linux。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料