480 likes | 743 Views
Unix 操作系统基础. 电子科技大学 计算机学院 陆 庆 luqing@uestc.edu.cn. 引 言. 一、课程的主要内容: . 介绍 UNIX 操作系统的特点及其使用 . 掌握 UNIX 操作系统的基本结构和应用 . 通过实验熟悉 UNIX 系统的平台配置、 系统设计、系统启动、命令操作、文件 系统操作及 Vi 等编辑环境和工具的使用。. 引 言. 二、学习目的: . 通过对 UNIX 操作系统的学习,认识 多用户、多任务、分时操作系统的使用 . 感性认识进程并发、资源共享、文
E N D
Unix操作系统基础 电子科技大学 计算机学院 陆 庆 luqing@uestc.edu.cn
引 言 一、课程的主要内容: .介绍UNIX操作系统的特点及其使用 .掌握UNIX操作系统的基本结构和应用 .通过实验熟悉UNIX系统的平台配置、 系统设计、系统启动、命令操作、文件 系统操作及Vi等编辑环境和工具的使用。
引 言 二、学习目的: . 通过对UNIX操作系统的学习,认识 多用户、多任务、分时操作系统的使用 .感性认识进程并发、资源共享、文 件等操作系统基本概念和实现原理 .为学习操作系统原理打下基础
引 言 三、教学特点: 本课程注重理论与实践相结合,通 过实验加深对理论知识的认识和理解。 通过对目前流行的一种UNIX系统 (Linux/Aix)作为具体的实验平台,了解 一般的Unix系统的特征及使用,达到举一 反三的目的。
引 言 四、教学安排与要求: • 第一章 UNIX操作系统概述 • 第二章 UNIX使用入门 • 第三章 编辑程序vi • 第四章 UNIX文件系统 • 第五章 UNIX通信 • 第六章 shell的交互功能及进程管理
引言 五、使用教材及参考书: 《UNIX 初级教程》(第三版) [美] Amir Afzal 著 向勇 何浩 李东生 等译 电子工业出版社,2001年4月出版
第一章 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所支持的特 征也不断丰富,增加了文字处理程序。
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)
有代表性的其它版本 • 加州大学伯克利分校的BSD (Berkeley Software Distribution)版本, 主要用于工 程设计和科学计算 • Microsoft和SCO公司开发的SCO XENIX SCO UNIX 和 OpenServer等, 主要应用 在基于Inter x86体系结构的系统上 • 开放源代码的Linux, UNIX的体系结构加 MS Windows形式的图形用户界面,主要 应用在基于Inter x86体系结构的系统上
二. UNIX系统特征 • 可移植性强 . UNIX操作系统大量代码为C语言编写 . C语言具有跨平台特性 2. 多用户、多任务的分时系统 . 人机间实时交互数据 . 多个用户可同时使用一台主机 . 每个用户可同时执行多个任务 3. 软件复用 . 每个程序模块完成单一的功能 . 程序模块可按需任意组合 . 较高的系统和应用开发效率
与设备独立的输入/输出操作 . 打印机、终端视为文件 . 输入/输出操作与设备独立 • 界面方便高效 . 内部: 系统调用丰富高效 . 外部: shell命令灵活方便可编程 . 应用: GUI 清晰直观功能强大 • 安全机制完善 . 口令、权限、加密等措施完善 . 抗病毒结构 . 误操作的局限和自动恢复功能
多国语言支持 . 支持全世界现有的几十种主要语言 • 网络和资源共享 . 内部: 多进程结构易于资源共享 . 外部: 支持多种网络协议 • 系统工具和系统服务 .100多个系统工具(即命令),完成 各种功能 .系统服务用于系统管理和维护
Unix系统的组成 • 内核:是Unix系统的核心部分,能与硬件直接交互,常驻内存。 • 驻留(基本)模块:完成输入/输出、文件、设备、内存和处理器时钟的管理,常驻内存。 • 系统工具:通常称为shell。是Unix操作系统的一部分,是用户与Unix交互的一种接口。常驻磁盘,在用户登录时即调入内存。
第二章 UNIX使用入门.预备知识 分时操作系统:支持多个用户同时使用一台计 算机。 组成:一台主机和多台终端构成。 分时操作系统将CPU时间划分为多个时间片,每 个用户一次只能运行一个时间片,时间片一到 就让出处理机供其他用户程序使用。由于CPU 速度很快,而时间片相对较短(为毫级),所 以,每个用户在自己的终端上操作时感觉不到 其他用户的存在,就象他在独占整个计算机系 统一样。
网络操作系统:多台独立工作的计算机用通信线路连接起来,构成一个能共享资源的更大的信息系统。网络操作系统:多台独立工作的计算机用通信线路连接起来,构成一个能共享资源的更大的信息系统。 • 组成:多台独立的计算机。 • Client-Sever结构
一. UNIX的外部运行环境 主 机 网 络 TCP/IP 网络终端服务器 主机m 主机n RS2322 RS2322 RS2322 RS2322 RS2322 RS2322 终端1 终端2 终端n 终 端
二. 用户登录和退出 1.登录: 用户登录时,SHELL调入内存; UNIX启动完成,在终端显示login: 输入用户名后,启动login程序来完成登录 Login检查下一步要执行的程序名(即shell) 出现系统提示符$ . 登录的三个基本条件: ① 主机启动完毕 ② 通讯端口打开 ③ 终端开电
登录的过程 • UNIX是多用户操作系统。系统识别用户身份并允许用户使用的过程称为登录过程 • 当UNIX系统完成登录准备时给出login:提示。 • Login: 用户名 password:
2. 修改口令 $ passwd Changing password for student2 Old password: New password: Re-enter new password: 说明: ① 根据系统的安全级别用户口令一直 有效或定期修改 ② UNIX系统不会回显用户输入的口令 即从屏幕上看不到任何字符。
3. 退出系统 $ $ exit Red Hat Linux Release 8.0 login: _ 可用logout退出 可用[Ctrl-d]退出 表明: 1. 当前用户已成功退出, 善 后工作已完成 2. 本用户或其他用户可重 新登录进入系统
用户基本信息文件 /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
三. UNIX 的启动过程 Login: Login: Login:
Login Login:david password: Login: Login:
shell Login:david password: $ Login: Login:
boot 产生1号进程init 装入OS内核 UNIX 的启动过程流程图 执行inittab 硬件检查 初始化各端口 安装rootfs getty getty 形成0号进程 登录 子 产生子进程 执行命令 父 对换进程swap 退出
基本命令的使用 • 简单命令 基本规则: ① 在命令提示符后发出命令; ② 命令行输入完并开始执行的标志是回车换 行键<enter>; ③ 命令执行完成的标志是出现新的命令 提示符$。 例如: $ date (显示当前系统的日期和时间) Fri Sep 5 18:19:01 EDT 2003 $ _
Who命令(查看系统中所有已登录用户状况) • Who命令可列出当前登录到系统的所有用户的登录名,终端号和登录时间。 • 可用who命令检查系统状态,或某个用户是否正在使用系统
说明: .同一个登录名可以被同一个人或多人同时使 用多次 .终端号通常可以表明使用者的位置,但并不 肯定(对虚终端而言)
$ 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 $_
2. 通用命令格式 $ 命令名 [-命令选项] [命令参数] 命令选项: 可以选择, 也可以不选. 如果选择, 则必 须是由减号开始的一个或多个字母组成. 任选项通常起功能开关的作用. 命令参数: 可以有, 也可以没有; 可以有一个, 也可 以有多个. 参数主要用于指明命令的操 作对象, 通常为文件名(广义). 方括号: 表明其中的内容可以缺省.
举例: $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
命令行更正和程序终止 . 当命令行输入错误时, 在还未键入换行符时, 可用 BS(BackSpace)键或^h键删除前面字符, 再键入正确的 字符。推荐使用^h键, 因该键的兼容性更好. 当要删除一 整行时, 按^u . 要强行终止当前正在运行的程序时, 可按^C、Del 或Break键来完成。出现命令提示符$, 表明程序 已终止运行. 注意: 一个普通用户在一台终端上无论是进行登录系统、退 出系统、发出命令还是终止程序等操作,都不会影响 其他用户的正常操作。
常用命令:date 和cal命令 • 查看当前时间: • $date • 查看某一个月的月历: • $cal 月 年 • 查看某一年的各个月的月历: • $cal 年
Date 命令 • Date命令显示星期,月,日,时间(美国东部时间)和年。 • Unix使用24进制时间
Cal 命令 • Cal命令显示指定年份的日历表。 • 若同时指定年和月,只显示一个月的日历表。 • 年和月都是命令参数。 • Cal命令的默认参数为当前月。
Cal 命令 [说明] • 1. 年份参数必须写全。如:输入cal 1998,而不能输入 cal 98。 • 2. 可使用数字表示月份(01~12),而不能使用月份的名字。 • 3. 不带参数的cal命令显示当前月份的日历表。 • 4. 只有年份参数的cal显示指定年份的日历表
Finger 命令 • 显示一个用户的详细信息。Finger命令。
clear, echo, banner命令 • clear命令执行清屏动作: • $clear • echo命令将命令名后跟随的参数显示在屏幕 : $echo hello world • banner命令将命令名后跟的ASCII字符串以大字的方式显示在屏幕上: • $banner hello
wc命令 • wc命令用于计算一个指定的文件中的行数,单词数及字符数 • 命令的格式为: • $wc [-c][-l][-w] filename • 命令选项: • -c 计算字符的数目 • -l 计算行的数目 • -w 计算单词的数目 • 举例:wc myfile
wc命令 • wc命令用于计算一个指定的文件中的行数,单词数及字符数 • 命令的格式为: • $wc [-c][-l][-w] filename • 命令选项: • -c 计算字符的数目 • -l 计算行的数目 • -w 计算单词的数目 • 举例:wc myfile
Wc命令 • 计算mvfile文件的行数,单词数,字符数,并给予报告。
一些特殊键的用法 • <Backspace> • <ctrl-c> • <ctrl-d> • <ctrl-s> • <ctrl-q> • <ctrl-u>
联机手册 联机手册命令man可向用户提供系统中 各种命令、系统调用、库函数和重要系统文 件的详细说明,包括名字、使用语法、功能 描述、应用实例和相关参考文件等。 例如: $ man who 对who命令的详细说明 $ 注: 教材中的learn和help命令为非标准配置命令.
shell的种类、提示符和退出命令 Shell的基本功能: . 命令解释器 . 程序设计语言 每一个已登录进入系统的用户都有一个独立的 Shell程序与其对应, 解释其键盘命令. Shell的常用种类: 1. Bourne shell ---- 程序名为 sh, 提示符为 $ 2. C shell ---- 程序名为 csh, 提示符为 % 3. Korn shell ---- 程序名为 ksh, 提示符为 $ 另一常用提示符: # ---- 超级用户(无论何种shell)
Shell 的退出命令: • exit 主要用于退出B_shell • logout 主要用于退出C_shell • ^d 可用于退出各类shell. 因^d常含有其它 功能含义, 故尽量不用或少用^d来作退 出命令. 注: exit 和 logout 是正规退出系统的命令, 执行时 通常包含许多善后工作, 而^d没有.