• 1. Unix操作系统基础 电子科技大学 计算机学院 陆 庆 luqing@uestc.edu.cn
  • 2. 引 言一、课程的主要内容: .介绍UNIX操作系统的特点及其使用 .掌握UNIX操作系统的基本结构和应用 .通过实验熟悉UNIX系统的平台配置、 系统设计、系统启动、命令操作、文件 系统操作及Vi等编辑环境和工具的使用。
  • 3. 引 言二、学习目的: . 通过对UNIX操作系统的学习,认识 多用户、多任务、分时操作系统的使用 . 感性认识进程并发、资源共享、文 件等操作系统基本概念和实现原理 .为学习操作系统原理打下基础
  • 4. 引 言三、教学特点: 本课程注重理论与实践相结合,通 过实验加深对理论知识的认识和理解。 通过对目前流行的一种UNIX系统 (Linux/Aix)作为具体的实验平台,了解 一般的Unix系统的特征及使用,达到举一 反三的目的。
  • 5. 引 言四、教学安排与要求: 第一章 UNIX操作系统概述 第二章 UNIX使用入门 第三章 编辑程序vi 第四章 UNIX文件系统 第五章 UNIX通信 第六章 shell的交互功能及进程管理
  • 6. 引言五、使用教材及参考书: 《UNIX 初级教程》(第三版) [美] Amir Afzal 著 向勇 何浩 李东生 等译 电子工业出版社,2001年4月出版
  • 7. 第一章 UNIX操作系统概述发展历史 1965年 由AT&T,MIT和GE联合开发Multics ( Multiplexed Information and Computing Service) 1969年 Ken Thompson 和 Dennis Ritchie在PDP7 上用汇编语言开发出UNIX 1970年 在PDP-11系列机上(11/20,11/40,11/45) 用汇编开发出UNIX v.1。在此过程中, 机器的硬件逐渐复杂,UNIX所支持的特 征也不断丰富,增加了文字处理程序。
  • 8. 1975年 发表UNIX v.6 并广泛扩散到大学和科研 单位, 为后期发展奠定了良好的基础 1978年 优化后发布UNIX v.7 ---- UNIX的第一个 商业版本 ---- 我国开始研究应用的最早版 本 1981年 AT&T发布UNIX System III, 完全转向为 社会提供的商品软件 1983年 AT&T发布UNIX System V, 系统功能已 趋于稳定和完善. 此后System V又有一系 列的公布号: 1.0/2.0/2.3/3.5/4.0/4.2 等, 现 在最后版本为 System V Release 4(SVRV)
  • 9. 有代表性的其它版本加州大学伯克利分校的BSD (Berkeley Software Distribution)版本, 主要用于工 程设计和科学计算 Microsoft和SCO公司开发的SCO XENIX SCO UNIX 和 OpenServer等, 主要应用 在基于Inter x86体系结构的系统上 开放源代码的Linux, UNIX的体系结构加 MS Windows形式的图形用户界面,主要 应用在基于Inter x86体系结构的系统上
  • 10. 二. UNIX系统特征可移植性强 . UNIX操作系统大量代码为C语言编写 . C语言具有跨平台特性 2. 多用户、多任务的分时系统 . 人机间实时交互数据 . 多个用户可同时使用一台主机 . 每个用户可同时执行多个任务 3. 软件复用 . 每个程序模块完成单一的功能 . 程序模块可按需任意组合 . 较高的系统和应用开发效率
  • 11. 与设备独立的输入/输出操作 . 打印机、终端视为文件 . 输入/输出操作与设备独立 界面方便高效 . 内部: 系统调用丰富高效 . 外部: shell命令灵活方便可编程 . 应用: GUI 清晰直观功能强大 安全机制完善 . 口令、权限、加密等措施完善 . 抗病毒结构 . 误操作的局限和自动恢复功能
  • 12. 多国语言支持 . 支持全世界现有的几十种主要语言 网络和资源共享 . 内部: 多进程结构易于资源共享 . 外部: 支持多种网络协议 系统工具和系统服务 .100多个系统工具(即命令),完成 各种功能 .系统服务用于系统管理和维护
  • 13. 三、Unix系统的组成
  • 14. Unix系统的组成内核:是Unix系统的核心部分,能与硬件直接交互,常驻内存。 驻留(基本)模块:完成输入/输出、文件、设备、内存和处理器时钟的管理,常驻内存。 系统工具:通常称为shell。是Unix操作系统的一部分,是用户与Unix交互的一种接口。常驻磁盘,在用户登录时即调入内存。
  • 15. 第二章 UNIX使用入门 .预备知识 分时操作系统:支持多个用户同时使用一台计 算机。 组成:一台主机和多台终端构成。 分时操作系统将CPU时间划分为多个时间片,每 个用户一次只能运行一个时间片,时间片一到 就让出处理机供其他用户程序使用。由于CPU 速度很快,而时间片相对较短(为毫级),所 以,每个用户在自己的终端上操作时感觉不到 其他用户的存在,就象他在独占整个计算机系 统一样。
  • 16. 网络操作系统:多台独立工作的计算机用通信线路连接起来,构成一个能共享资源的更大的信息系统。 组成:多台独立的计算机。 Client-Sever结构
  • 17. 一. UNIX的外部运行环境主 机终端1 终端2 终端n网 络 TCP/IP网络终端服务器终 端 主机m 主机nRS2322RS2322RS2322RS2322RS2322RS2322
  • 18. 二. 用户登录和退出1.登录: 用户登录时,SHELL调入内存; UNIX启动完成,在终端显示login: 输入用户名后,启动login程序来完成登录 Login检查下一步要执行的程序名(即shell) 出现系统提示符$ . 登录的三个基本条件: ① 主机启动完毕 ② 通讯端口打开 ③ 终端开电
  • 19. 登录的过程UNIX是多用户操作系统。系统识别用户身份并允许用户使用的过程称为登录过程 当UNIX系统完成登录准备时给出login:提示。 Login: 用户名 password:
  • 20. 2. 修改口令 $ passwd Changing password for student2 Old password: New password: Re-enter new password: 说明: ① 根据系统的安全级别用户口令一直 有效或定期修改 ② UNIX系统不会回显用户输入的口令 即从屏幕上看不到任何字符。
  • 21. 3. 退出系统 $ $ exit Red Hat Linux Release 8.0 login: _ 可用logout退出 可用[Ctrl-d]退出表明: 1. 当前用户已成功退出, 善 后工作已完成 2. 本用户或其他用户可重 新登录进入系统
  • 22. 用户基本信息文件 /etc/passwd root:x:0:3:super user:/:/sbin/sh bin:x:2:2:Admin:/usr/bin: admin:x:101:1:admin:/home/admin:/usr/bin/csh oracle:x:102:101:dbms:/data/oracle:/usr/bin/ksh test:x:103:1::/home/test:/usr/bin/csh teacher:x:104:200::/home/teacher:/usr/bin/vsh student1:x:105:300::/home/student1:/usr/bin/ksh student2:x:105:300::/home/student2:/usr/bin/ksh student3:x:107:300::/home/student3:/usr/bin/ksh student4:x:108:300::/home/student4:/usr/bin/ksh
  • 23. UNIX 内核 INITgettygettygettyLogin:Login:Login:三. UNIX 的启动过程
  • 24. UNIX 内核 INITLoginLoginLoginLogin:david password:Login:Login:
  • 25. UNIX 内核 INITshellgettygettyLogin:david password: $Login:Login:
  • 26. UNIX 的启动过程流程图装入OS内核硬件检查安装rootfs形成0号进程产生子进程对换进程swap产生1号进程init执行inittab初始化各端口gettygetty登录执行命令退出boot父子
  • 27. 基本命令的使用 简单命令 基本规则: ① 在命令提示符后发出命令; ② 命令行输入完并开始执行的标志是回车换 行键; ③ 命令执行完成的标志是出现新的命令 提示符$。 例如: $ date (显示当前系统的日期和时间) Fri Sep 5 18:19:01 EDT 2003 $ _
  • 28. Who 命令(查看系统中所有已登录用户状况) Who命令可列出当前登录到系统的所有用户的登录名,终端号和登录时间。 可用who命令检查系统状态,或某个用户是否正在使用系统
  • 29. 说明: .同一个登录名可以被同一个人或多人同时使 用多次 .终端号通常可以表明使用者的位置,但并不 肯定(对虚终端而言)
  • 30. $ who am i (我是谁) teacher tty02 Sep 05 08:25 $ who –H (显示各列信息标题) NAME LINE TIME teacher tty02 Sep 05 08:25 student1 tty26 Sep 05 10:27 student1 tty15 Sep 05 10:38 student5 ttyp09 Sep 05 10:10 $ who –q (显示简要用户列表和用户总数) teacher student1 student1 student5 # users=4 $_
  • 31. 2. 通用命令格式 $ 命令名 [-命令选项] [命令参数] 命令选项: 可以选择, 也可以不选. 如果选择, 则必 须是由减号开始的一个或多个字母组成. 任选项通常起功能开关的作用. 命令参数: 可以有, 也可以没有; 可以有一个, 也可 以有多个. 参数主要用于指明命令的操 作对象, 通常为文件名(广义). 方括号: 表明其中的内容可以缺省.
  • 32. 举例: $mail -f newmail $mail -  f newmail $who -u $who-u $mail –f newmail $mail newmail -f $mail team01 $team01 mail $who -u $-u who $who –m –u $who –m-u $who –mu $who –m u $mail team01 team02 $mail team01team02
  • 33. 命令行更正和程序终止 . 当命令行输入错误时, 在还未键入换行符时, 可用 BS(BackSpace)键或^h键删除前面字符, 再键入正确的 字符。推荐使用^h键, 因该键的兼容性更好. 当要删除一 整行时, 按^u . 要强行终止当前正在运行的程序时, 可按^C、Del 或Break键来完成。出现命令提示符$, 表明程序 已终止运行.注意: 一个普通用户在一台终端上无论是进行登录系统、退 出系统、发出命令还是终止程序等操作,都不会影响 其他用户的正常操作。
  • 34. 常用命令: date 和 cal命令 查看当前时间 : $date 查看某一个月的月历 : $cal 月 年 查看某一年的各个月的月历: $cal 年
  • 35. Date 命令Date命令显示星期,月,日,时间(美国东部时间)和年。 Unix使用24进制时间
  • 36. Cal 命令Cal命令显示指定年份的日历表。 若同时指定年和月,只显示一个月的日历表。 年和月都是命令参数。 Cal命令的默认参数为当前月。
  • 37. Cal 命令 [说明]1. 年份参数必须写全。如:输入cal 1998,而不能输入 cal 98。 2. 可使用数字表示月份(01~12),而不能使用月份的名字。 3. 不带参数的cal命令显示当前月份的日历表。 4. 只有年份参数的cal显示指定年份的日历表
  • 38. Cal 命令
  • 39. Finger 命令显示一个用户的详细信息。Finger命令。
  • 40. clear, echo, banner命令 clear命令执行清屏动作: $clear echo命令将命令名后跟随的参数显示在屏幕 : $echo hello world banner命令将命令名后跟的ASCII字符串以大字的方式显示在屏幕上: $banner hello
  • 41. wc命令 wc命令用于计算一个指定的文件中的行数,单词数及字符数 命令的格式为: $wc [-c][-l][-w] filename 命令选项: -c 计算字符的数目 -l 计算行的数目 -w 计算单词的数目 举例:wc myfile
  • 42. wc命令 wc命令用于计算一个指定的文件中的行数,单词数及字符数 命令的格式为: $wc [-c][-l][-w] filename 命令选项: -c 计算字符的数目 -l 计算行的数目 -w 计算单词的数目 举例:wc myfile
  • 43. Wc命令计算mvfile文件的行数,单词数,字符数,并给予报告。
  • 44. 一些特殊键的用法
  • 45. 联机手册 联机手册命令man可向用户提供系统中 各种命令、系统调用、库函数和重要系统文 件的详细说明,包括名字、使用语法、功能 描述、应用实例和相关参考文件等。 例如: $ man who 对who命令的详细说明 $ 注: 教材中的learn和help命令为非标准配置命令.
  • 46. shell的种类、提示符和退出命令 Shell的基本功能: . 命令解释器 . 程序设计语言 每一个已登录进入系统的用户都有一个独立的 Shell程序与其对应, 解释其键盘命令. Shell的常用种类: 1. Bourne shell ---- 程序名为 sh, 提示符为 $ 2. C shell ---- 程序名为 csh, 提示符为 % 3. Korn shell ---- 程序名为 ksh, 提示符为 $ 另一常用提示符: # ---- 超级用户(无论何种shell)
  • 47. Shell 的退出命令: exit 主要用于退出B_shell logout 主要用于退出C_shell ^d 可用于退出各类shell. 因^d常含有其它 功能含义, 故尽量不用或少用^d来作退 出命令.注: exit 和 logout 是正规退出系统的命令, 执行时 通常包含许多善后工作, 而^d没有.