第一章 Unix系统基础知识
UNIX基础

rwxr-x--x 方
111101001
法 一
75 1
方 法 二
作用 用于非正常中断程序的运行 用于系统通信的中断 用来告诉终端,停止接受输入 告诉终端重新接受输入
# stty -a 显示所有的终端选项
UNIX的基本操作
清除屏幕命令
$ clear
UNIX的基本操作
系统帮助
$ man find
UNIX的基本操作
UNIX系统的关闭
# shutdown –hy 0
UNIX的基本操作 目录操作类命令 文件浏览类命令 文件管理类命令
滤通类命令 系统资源类命令 网络操作类命令
vi的常用命令 系统维护类命令
UNIX的基本操作
内容
UNIX的登录与退出 UNIX用户的切换 UNIX命令行的使用 UNIX控主制机键的的开使机用与关机
清除屏幕 UNIX系统的在线帮助 UNIX系统的重启与关闭
UNIX操作-目录
目录操作命令
ls:显示目录内容 格式:ls [option] [path]
[path]:绝对路径、相对路径
[optin]: -l:显示文件所有属性 -a:显示所有文件含隐含文件 如.profile -s:显示文件占用的block数
UNIX操作-文件的类型与权限
$ ls -l sort -rwxr-x--x 1 myname mygroup 120 Jul 26 10:20 sort
UNIX基础
集成产品部
内容
UNIX操作系统概述 UNIX常用操作命令使用
UNIX简介
内容
UNIX流派与标准 UNIX的特点 UNIX系统组成
UNIX的shell程序 UNIX的用户
unix

1999年,ISO C标准被更新,并被批准为ISO/IEC 9899:1999,它显著改善了对进行数值处理的应用软件的 支持。除了对某些函数原型增加了关键字restrict外,这种改变并不影响本书中描述的POSIX接口。restrict关 键字告诉编译器,哪些指针引用是可以优化的,其方法是指出指针引用的对象在函数中只通过该指针进行访 问。
1999年以来,已经公布了3个技术勘误来修正ISO C标准中的错误,分别在2001年、2004年和2007年公布。 如同大多数标准一样,在批准标准和修改软件使其符合标准两者之间有一段时间延迟。随着供应商编译系统的不 断演化,对最新ISO C标准的支持也就越来越多。
POSIX是一个最初由IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师 学会)制订的标准族。POSIX指的是可移植操作系统接口(Portable Operating System Interfacc)。它原来 指的只是IEEE标准1003.1-1988(操作系统接口),后来则扩展成包括很多标记为1003的标准及标准草案。
常用的类Unix系统服务器硬件检测方法包括基于Linux Live技术的检测方法、基于Windows togo技术的检 测方法和基于类Unix系统硬件检测软件的方法。虽使用Linux Live技术能抽取出开源软件的源代码,灵活定制硬 件自动检测软件及生成所需的精简版检测报告。但由于Linux Live系统自带的软件驱动库版本老旧且不完整,在 不同硬件配置机器间的检测中,需耗费大量时间从系统ISO驱动文件库中查找及安装驱动程序(>30min),且常 由于缺乏与最新服务器硬件匹配的驱动文件,造成系统无法启动。基于Windows togo技术的检测方法虽拥有完整 的系统,但相较于基于Linux Live技术的检测方法需要占用的U盘空间大(16GB以上),且对于U盘的读取速度要 求过高。而基于类Unix系统硬件检测软件的方法又存在检测功能单一、兼容性不足和操作难度大的问题。
UNIX基础

UNIX的内核(Kernel)
. UNIX操作系统的组件 . 内核的主要功能
UNIX 文件系统
. UNIX文件系统 . 树型目录结构 . UNIX 文件权限
UNIX的壳(Shell)
. Shell的功能 . Vi
UNIX操作系统的历史 :
1960 年 1969 年 1970 年 1973年 70年代中期 AT&T公司开发MULTICS系统,Ken Thompson AT&T 发布UNIX的第一个试用版 AT&T 开发有技术支持的UNIX版本 C编写的 UNIX 加州大学柏克莱分校(BSD)及其他大学 也开发了相应的UNIX版本 80年代早期 商业版本的UNIX发布 90年代早期 IEEE制定新的UNIX标准(POSIX)
Aug 23 2000 Aug 23 2000 Aug 23 2000 Oct 20 2000 Dec 20 16:06
lib -> ./usr/lib lost+found mnt mytemp a.txt
drwxr-xr-x -rw-r--r--
2 root 1 root
other other
drwxr-xr-x -rw-r--r--
2 root 1 root
other other
512 23
Oct 20 2000 mytemp Dec 20 16:06 a.txt
UNIX系统树型目录结构 :
/
b i n
c l i u b s r d e e v t
s t s u y 1 b a s e
相对路径
s t u 1 s y b a s e
a t a p ra o g r m d
it n s a l l
《unix-os教学课件》第一章-绪论

1.2.2 处理器单元——指令处理操作
❖取指令期
CU将指令从内存读到CPU的指令寄存器 CU增加指令指针寄存器的值,以指向内存中下一条指令
的位置 CU给ALU发信号,通知ALU执行该指令
1.2.2 处理器单元——指令处理操作
❖指令执行期
ALU访问指令寄存器中的指令操作码,以确定要执行的 功能并得到指令的输入数据
(3)
: 为一次只执行一个进程设计Leabharlann ,用于单用户环境(4)
: 一次能执行一个用户的多个程序
(5)
: 多个用户可以使用同一个主机
(6)理解分时和虚拟空间的概念
3、UNIX系统的主要特性 了解
❖ 可移植性 可运行各种类型的计算机上,支持不同的硬件
❖ 多用户性能 多个用户同时共享计算机资源
❖ 多任务性能 允许多个任务同时运行,前台、后台
❖ 寄存器、内存、外部存储器的区别
存储器类型
在系统中的位置
寄存器 速度最快的是?
内存
外部存储器
用途 存储哪些数据?
1.2 计算机硬件
❖1.2.5 输出设备 显示器、打印机、声音设备、绘图仪等
1.2 计算机硬件
❖1.2.6 性能评价指标 针对每台计算机的组成部件、各部件间的通信能力 和所有性能指标的综合测量 CPU速度: 指令的执行速度,MIPS/MFLOPS 访问时间: 反映CPU从存储器或I/O设备检索数据 的速度,us/ns 通道容量: 数据传输速率反映CPU与设备间的通 信通道支持的数据传输能力 总体性能指标: 指CPU速度、存储器和I/O设备的 访问时间,以及存储器和I/O设备与CPU间传送 通道的通道容量的综合。
补充1:Unix/Linux环境搭建
UNIX操作系统概述

1、进入和退出UNIX系统 2、登入 3、改变口令 4、注销
返回
1、 UNIX 的体系结构 UNIX及其变种XENIX是一个多用户、多任务的操作系统, 其系统结构大致可分为3个层次
(1)最内层是UNIX内核(Kernel),运行UNIX后,内核长驻内存。 (2)中间一层是命令解释程序,称为外壳(Shell)。外壳只是在输 入命令时才调入内存,当执行完这条命令后就释放外壳所占的内存空间 。因此外壳是用户与内核的接口。用户可以根据需要编制一些功能程序 来扩充Shell命令。 (3)最外层是应用程序,它包括众多的应用软件和除UNIX系统以外 的其他系统软件。
硬盘:hd(1号盘hd0a,1分区hd00,2分区hd01,2号盘hd1a);
软盘:fd(a盘fd0,b盘fd1);
终端:tty(tty00,tty01,tty02);
主控台:console; 打印机;lp(lp,lp0,lp,lp2) 盘交换区:swap; 盘根分区:root; 盘用户分区:usr; 存储器:mem; 时钟:clock.
2、UNIX的文件 文件是UNIX文件系统的基本单位,共有三种不同类型的UNIX文件。 分别是:普通文件 就是我们通常所指的程序文件和文本文件
特殊文件 就是指磁带、磁盘等外部设备 目录文件。 文件与目录的命名规则 通配符
3.UNIX命令 UNIX命令是一些可执行的程序,在用户输入一条命令后,操作系统
这条命令中的-rl表示这条命令将以长列表的格式以及倒字母顺序 的排列列出目录中的全部文件。当然,在某些情况多个选择必须分开 表示,如:
copy –a –v source destination 在命令中还可以给出一些别的变量,例如: grep ”all right ”recorder.txt
Unix

重庆邮电大学
数理学院
CPU。在一个分时系统中,通常会有多个程序在同一时刻试图使用 CPU。 操作系统控制应用程序有序地使用 CPU ,就好象一个交通警察在一个复杂的十字路口指挥交通。十 字路口就象是 CPU;每一条在路口交汇的支路好比一个程序,在同一时间,只有一条路的车可以通过这个 路口,而交通警察的作用就是指挥让哪一条路的车通过路口,直到让所有路口的车辆都能通过路口。
重庆邮电大学
数理学院
的工具,而打字员会使用字处理,文档管理的工具。有趣的是:程序员用来修订程序的工具同时也被打字 员用来文档的修订。因此,他们的系统看上去十分相似,但是,每一个用户选择模块都与他或她的应用要 求密切相关。 UNIX 系统的流行很大程度可以归结与: � UNIX 系统的完整性与灵活性使其能适应许多的应用环境。 � 众多的集成的工具提高了用户的工作效率。 � 能够移植到不同的硬件平台。 SHELL Shell 是一个交互的命令解释器。命令是在 SHELL 提示符下键入,shell 会遵照执行键入的命令。用户 通过 shell 与计算机交互。shell 从键盘获得用户键入的命令,然后将命令翻译为内核能够理解的格式。然 后系统就会执行这个命令。 你会注意到 shell 与内核是分离的两部分。如果你不喜欢当前 shell 提供的特性,你能很容易地用另一 种 shell 代替当前的 shell。 一些 shell 是命令行方式,一些提供菜单界面。 UNIX 系统支持的普通的 shell 都包括一个命令解释器 和一个可编程的接口。 有四个最通用的 shell,分别是: Bourne shell --- 由 AT&T 提供的最原始的 shell,由贝尔实验室的 Stephen Bourne 开发。可提供命令的 解释,支持可编程接口,提供诸如变量定义,变量替代,变量与文件测试,分支执行与循环执行等功能。 C Shell (/usr/bin/csh)----C Shell 是在 California Berkeley 大学的 Bill Joy 开发,一般存 在于 BSD 系统 中,于是被称为 California shell,简写名称为 C Shell 。它被认为是 Bourne Shell 的一个改进版本。因为它 提供拉交互的特征例如命令堆栈(-允许简单地调用和编辑以前输入的命令, )别名(提供对已有命令取 个人的别名) Korn Shell(/usr/bin/ksh)---- 贝尔实验室最新的开发成果,由 David Korn 开发成功。它被认为是是一种 增强型的 Bourne Shell,因为它提供对简单可编程的 Bourne Shell 界面的支持,同时提供 C Shell 的简便交 互的特征。它的代码也被优化来提供一种更快,更高效的 shell。 POSIX Shell: POSIX 是一种命令解释器和命令编程语言,这种 shell 同 Korn Shell 在许多方面都很相 似,它提供历史机制,支持工作控制,还提供许多其他有用的特性 表 1-1 shell 特征的比较
UNIX环境高级编程中文版(文字版带目录)

第1章U N I X基础知识1.1 引言所有操作系统都向它们运行的程序提供服务。
典型的服务有执行新程序、打开文件、读文件、分配存储区、获得当前时间等等,本书集中阐述了U N I X操作系统各种版本所提供的服务。
以严格的步进方式、不超前引用尚未说明过的术语的方式来说明U N I X几乎是不可能的(可能也会是令人厌烦的)。
本章从程序设计人员的角度快速浏览U N I X,并对书中引用的一些术语和概念进行简要的说明并给出实例。
在以后各章中,将对这些概念作更详细的说明。
本章也对不熟悉U N I X的程序设计人员简要介绍了U N I X提供的各种服务。
1.2 登录1.2.1 登录名登录U N I X系统时,先键入登录名,然后键入口令。
系统在其口令文件,通常是/ e t c/p a s s w d文件中查看登录名。
口令文件中的登录项由7个以冒号分隔的字段组成:登录名,加密口令,数字用户I D(224),数字组I D(20),注释字段,起始目录( /h o m e/s t e v e n s),以及s h e l l 程序( /b i n/k s h)。
很多比较新的系统已将加密口令移到另一个文件中。
第6章将说明这种文件以及存取它们的函数。
1.2.2 shell登录后,系统先显示一些典型的系统信息,然后就可以向s h e l l程序键入命令。
s h e l l是一个命令行解释器,它读取用户输入,然后执行命令,用户通常用终端,有时则通过文件(称为s h e l l脚本)向s h e l l进行输入。
常用的s h e l l有:• Bourne shell, /bin/sh• C shell, /bin/csh• KornShell, /bin/ksh系统从口令文件中登录项的最后一个字段中了解到应该执行哪一个s h e l l。
自V 7以来,Bourne shell得到了广泛应用,几乎每一个现有的U N I X系统都提供Bourne shell。
UNIX操作系统

UNIX操作系统UNIX(Unix-like)是一种类Unix操作系统(Operating System)称为类Unix操作系统(Unix-like Operating System,又称为类Unix或类Unix系统)。
它是指基于Unix原始版本的设计思想或完全实现了Unix标准的操作系统。
Unix是由贝尔实验室(AT&T Bell Labs)的肯·汤普逊(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)在20世纪70年代早期开发的。
它是一种多用户、多任务操作系统,因其稳定性、安全性、灵活性和可移植性而受到广泛使用。
Unix操作系统具有许多优点。
首先,它具有很高的可移植性,可以轻松地在不同的硬件平台上运行。
其次,它稳定可靠,能够长时间运行而不会崩溃或出现错误。
此外,Unix还具有较高的安全性,采用了强大的访问控制机制来保护用户数据和系统资源。
它还支持多用户和多任务,允许多个用户同时使用系统,并在同一时间执行多个任务。
Unix操作系统在许多领域有着广泛的应用。
它是互联网的基石之一,许多服务器和网络设备都使用Unix操作系统。
此外,它还被广泛应用于科学研究、大型计算和数据存储。
由于Unix的模块化设计和可定制性,许多不同的Unix-like操作系统得以开发,如Linux、BSD、Solaris等。
Linux是一个开源的Unix-like操作系统,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)在1991年创建。
Linux具有和Unix相似的设计和功能,但是它是免费和开源的。
Linux经过了多年的发展,现在已成为最受欢迎的操作系统之一、它支持多种硬件平台,包括个人计算机、服务器、移动设备等。
它还拥有庞大的开源社区,为用户提供了丰富的软件和工具。
许多企业和组织选择使用Linux操作系统,因为它提供了高度的可定制性和安全性。
总之,UNIX操作系统是一种基于Unix原始版本设计思想或完全实现了Unix标准的操作系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-12-27
Cla.R
7
UNIX历史
1971年,肯·汤普逊和丹尼斯·里奇发明了C语言, 并重写UNIX系统 1982 年,AT&T基于版本7开发了第一个商业 版UNIX System Ⅲ,随后发布了UNIX System V Release 1,成为一个重要参考版本 1991年,System V Release 4(SVR4) 发布, 结束了UNIX版本混乱的局面 1993年以后,大多数商业UNIX发行商都基于 SVR4开发自己的UNIX变体。
2010-12-27 Cla.R 17
UNIX下若干重要常识
用户标识
用户ID
用户ID是一个数值,他向系统标识各个不同的用户。用户 不能更改其用户ID,通常每个用户有一个唯一的用户ID 用户ID为0的用户为根用户(root)或者超级用户 (superuser)
组ID
组ID是一个数值,由系统管理员在指定用户登录名时分配 组被用于将若干用户分到不同的项目组或部门去,进而允 许同组的各个成员之间共享资源 组文件(/etc/group)将组名映射为数字组ID 使用getuid()和getgid()函数获取user ID和group ID。
(美)Bruce Molay 著,杨宗源等译
《UNIX环境高级编程 UNIX环境高级编程 环境高级编程》(第2版)
(美)W.Richard Stevens,Stephen A.Rago著,尤晋元等译
《Windows核心编程 核心编程》(第5版) 核心编程
(美)Jeffrey, J.,(法)Christophe, N.著,葛子昂等译
UNIX研究版本 UNIX分时系统V8,V9,V10
2010-12-27 Cla.R 31
UNIX标准化及实现
SVR4
UNIX system V release 4 前身是AT&T的UNIX Software Operation 集成了多个系统的功能和特色
度量一个进程的执行时间,UNIX系统使用三个进程时间值 时钟时间-进程运行的时间总量 用户CPU时间-执行用户指令所用的时间 系统CPU时间-为该进程执行内核程序所经历的时间
2010-12-27
Cla.R
20
UNIX下若干重要常识
系统调用和库函数
UNIX版本的实现都提供定义明确、数量有限、可直 接进入内核的入口点,被称作系统调用(system call) UNIX还为用户提供了通用函数,这些库函数可能会 使用一个或多个系统调用。 从实现者的角度观察,系统调用和库函数有质的不 同,但是从使用者的角度来看,二者都是以C函数 的形式出现。必要的时候,库函数可以被替换,但 是系统调用,却不行。 系统调用通常提供一个最小接口,库函数通常提供 比较复杂的功能
2010-12-27 Cla.R 26
示例(4)
从标准输入读命令并执行,类shell功能
2010-12-27
Cla.R27Fra bibliotek示例(5)
从标准输入读命令并执行
2010-12-27
Cla.R
28
UNIX标准化及实现
1989年,C语言的ANSI标准X3.159-1989获得批准,后 被采纳为ISO/IEC9899:1990国际标准
掌握UNIX系统编程基础知识 掌握WINDOWS系统程序设计基础知识 掌握UNIX系统环境下编程技术 通过实际程序设计, 通过实际程序设计,掌握开发程序的基本过程
2010-12-27 Cla.R 4
课程介绍
课程教材及参考资料
《Unix/Linux编程实践教程 Unix/Linux编程实践教程 编程实践教程》
13
UNIX下若干重要常识
文件和目录
UNIX文件系统是目录和文件组成的一种层次结构,目录的起 点称为根(root,’/’),目录是一个包含许多目录项的文件 在逻辑上,可以认为每个目录项都包含一个文件名,同时还 包含该文件的属性信息,文件属性包括:文件的类型(目录/ 文件?),文件大小、所有者、权限、被修改时间,使用stat 和fstat函数可以获取文件属性的一个信息结构
ANSI: American National Standards Institute ISO: International Organization for Standardization IEC: International Electronical Commission
IEEE POSIX指的是可移植的操作系统接口
基本定义,系统接口,Shell和实用程序,基本理论
2002年,ISO采纳为ISO/IEC 9945:2002成为国际标准
2010-12-27
Cla.R
30
UNIX标准化及实现
UNIX实现有三个重要的分支
AT&T
System III和System V,用于商业版
加州大学伯克利分校
4.x BSD实现
AT&T贝尔实验室的计算科学研究中心
2010-12-27
Cla.R
16
UNIX下若干重要常识
出错处理
UNIX函数出错时,常返回一个负值,而且 整型变量errno常被设置为含有附加信息的 一个值 文件<errno.h>中定义了符号errno以及可以 附给它的各种常量,这些常量都以字符’E’ 开头 使用strerror和perror两个函数可以通过 errno的值获取并打印出错信息
2010-12-27 Cla.R 19
UNIX下若干重要常识
时间值
UNIX下两种不同的时间值
日历时间。从1970年1月1日00:00::00以来国际标准时间 (UTC)所经过的秒数累积值。使用time_t类型保存 进程时间(CPU时间)。用以度量进程使用的CPU资源, 以CPU时钟的滴答(click)计算。使用clock_t类型保存。
2010-12-27
Cla.R
14
UNIX下若干重要常识
输入和输出
文件描述符(file descriptor)
是一个小的非负整数,Kernel用它标识一个特定 进程正在访问的文件
标准输入、标准输出、标准出错
每当运行新程序,shell都会为其打开三个文件描 述符:标准输入(standard input)、标准输出 (standard output)、标准出错(standard error) 通常,这三个描述符都链向终端
2010-12-27 Cla.R 15
UNIX下若干重要常识
程序和进程
程序(program)是存放在磁盘 上,处于某个目录的一个可执行 文件。可以使用6个exec函数中 的一个由内核将程序读入存储器 (RAM) 进程(process)是程序的执行 实例。UNIX系统确保每一个进 程都有一个唯一的数字标识符- 进程ID,进程ID是一个非负整数。 使用fork,exec和waitpid三个主 要函数实现对进程的控制
2010-12-27
Cla.R
29
UNIX标准化及实现
Single UNIX Specification(单一UNIX规范)是 POSIX.1标准的一个超集,相应的系统接口全集被称为 X/Open系统接口(XSI, X/Open System Interface), 只有遵循XSI的实现才能称为UNIX系统 Single UNIX Specification(SUS)由Open Group发布, 2001年出版了第三版,与IEEE1003.1-2001规范相同, 分成4部分
基于操作系统编程技术
王 勇 cla@ 电子科技大学 计算机科学与工程学院
第一章 UNIX系统基础知识
提
纲
课程介绍 UNIX体系结构 UNIX下的若干重要常识 UNIX下的常用命令 UNIX标准化及实现 程序实例分析 问题讨论
2010-12-27 Cla.R 3
课程介绍
课程名称:《基于操作系统编程技术 基于操作系统编程技术》 基于操作系统编程技术 上课地点:清水河校区 A310 上课时间:第1~17周,周一第7,8节,共48学时 课程目标:
2010-12-27
Cla.R
12
UNIX下若干重要常识
Shell
Shell是一个命令行解释器,它读取用户输入,然后执行命令, 用户可以通过终端(交互式shell)或者通过文件(shell脚本, shell script)向shell进行输入 UNIX系统常见的shell
2010-12-27
Cla.R
课程需要的前序知识
C++语言程序设计基础,操作系统基础,计算机组成原理和 体系结构,数据结构等
2010-12-27 Cla.R 5
课程介绍
考核方式:
笔试(60%)+ 平时作业(10%)+ 期中 考试(10%) + 课外实验(20%)
2010-12-27
Cla.R
6
UNIX历史
迄今为止最有生命力的OS! 1969年起源于一个失败的项目-Multics
2010-12-27
Cla.R
22
示例(1)
列出一个目录中的所有文件,类ls命令
2010-12-27
Cla.R
23
示例(2)
将标准输入复制到标准输出
2010-12-27
Cla.R
24
示例(3)
用标准I/O将标准输入复制到标准输出
2010-12-27
Cla.R
25
标准I/O
标准I/O提供了一种对不用缓冲I/O函数的带缓 冲的接口,使用标准IO函数可以无需担心如何 选取最佳的缓冲区大小,例如示例2中的 BUFFSIZE常量 标准IO函数的另一个优点是简化了对输入行的 处理,例如fgets函数读完整的行,而read函数 读指定字节数,不知道何时是行结束。 标准I/O函数库提供了能够控制该库所使用的 缓冲风格的函数。