在教授UNIX课程时要包括哪些内容?

时间:2009-04-16 21:00:31

标签: unix

我被要求将UNIX教给我公司的一群人,他们可能对Windows的总体背景知之甚少。帮我确定课程内容。我不想进去教他们一套命令。我希望它更多地涉及UNIX体系结构,文件系统,管道,一切都是文件,进程创建和处理,虚拟内存管理等等。您有什么想法?帮助我介绍这些主题。

11 个答案:

答案 0 :(得分:3)

Unix主题按重要性顺序排列:

  1. 管道

  2. 工具理念(做好一件事)

  3. 权限模型

  4. Shell语法

  5. 与流程交互

  6. 选择和使用编辑器

  7. 基本C编程

  8. Windows人员学习如何在Unix环境中运行的理想方法是让他们在Windows机器上使用Cygwin。

答案 1 :(得分:3)

必须阅读Mike Gancarz的The UNIX Philosophy。作为一个文本使用它可能是值得的,但它肯定会给你很多原因,为什么UNIX是好的,以及如何最好地利用它。

答案 2 :(得分:1)

Unix和Windows共享大多数基本操作系统概念:文件描述符,进程,虚拟内存等......您需要立即解决的唯一主要区别是不同的路径树结构:单根加装载点vs驱动信件。

我认为你必须区分几个截然不同的主题:

  • 使用shell : 您需要了解流程结构,文件描述符,基本命令等概念。

  • 在Unix下编程: 您将需要解决IDE,编译工具,构建工具和动态链接。

  • 使用Unix桌面: Modern Unices都有相当全面的桌面环境,其工作方式与Window非常相似......没有大的学习曲线。

答案 3 :(得分:1)

您应该包含有关shell的信息。使用管道解释使用一个命令的输出作为下一个命令的输入的标准旧方法。

还显示输出重定向的强大功能,以及错误重定向的工作原理(& 2>)。

让“学生”在他们的工作站上安装Cygwin,让他们有机会在Windows内部运行“Unix-Commands”。

答案 4 :(得分:1)

基础理论总是很好,请提一下为什么UNIX的设计方式与Eric Raymond的The Art of UNIX programming有利。

如果他们要为UNIX开发,一些标准不会出错,例如Filesysetm Hierarchy标准和POSIX。

答案 5 :(得分:0)

听起来我想要学习基础操作系统课程,并使其具体化。如果您正在为开发人员类型设计课程,我认为这样可以很好地工作 - 他们熟悉基本的操作系统结构,并希望了解UNIX特定的风格,然后了解与每个结构交互的命令。

如果你正在为普通人设计课程,他们可能会迷失在OS理论中。即使有一个简单的操作系统示例,整个事情也变得非常复杂。

我最喜欢的UNIX书籍是“UNIX学生指南”。我相信那里有很多伟大的竞争对手。但我喜欢的是它将命令与基本理论相结合,并将每个部分与一些历史相关联,以了解为什么给定的操作系统部分设计了某种方式和/或设计者是谁的历史。 UNIX的命令就是这么多,很高兴拥有所有那些小小的模糊,而且它们通常都是很好的记忆慢跑者。

答案 6 :(得分:0)

我从基础开始,并将每个概念与Windows对应物进行比较。内核,驱动程序,内存,进程,守护进程,文件,用户,shell(与命令提示符相对),文件系统等。

答案 7 :(得分:0)

让他们运行一些类UNIX系统,例如来自live-cd等(ubuntu或knoppix也许还有一些其他的UNIX系统)

如果他们是电动车窗用户,请将bash与powershell进行比较。 大多数Windows用户也没有获得init脚本与Windows服务的关系,所以我也会解释它。

答案 8 :(得分:0)

  • 一般目录结构。
  • 套接字和其他各种IPC。 Unix允许您将它们视为文件,这使编程更容易。
  • pthread库和并发概念。

答案 9 :(得分:0)

我会浏览Linux Administration Handbook并查看本书中的章节,并关注那些对用户而非管理员而言非常重要的概念。

答案 10 :(得分:0)

除了所有其他伟大的建议之外,我建议在sed,awk,perl,vi等中使用示例详细讨论正则表达式.REs在很多地方使用,它们确实值得拥有自己的位置讨论。添加对常见文本处理实用程序的讨论 - 剪切,粘贴,grep等。