Unix程序设计环境课件:第1章 Unix基础_第1页
Unix程序设计环境课件:第1章 Unix基础_第2页
Unix程序设计环境课件:第1章 Unix基础_第3页
Unix程序设计环境课件:第1章 Unix基础_第4页
Unix程序设计环境课件:第1章 Unix基础_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Unix程序设计环境教学目的Unix是一个历史悠久、功能强大的操作系统。Unix在计算机操作系统发展历史上具有里程碑作用。Unix是计算机专业教学和学术研究的首选操作系统之一。Unix广泛应用于各种计算机、工作站和服务器上。学习和研究Unix,对从事计算机和其他相关专业工作具有实际意义。通过本课程,熟悉Unix知识和文化,培养Unix专业人才。课程教材课程教材:Unix编程环境 , 美Brian W. Kernigham等著,陈向群等译,机械工业出版社,1999.10参考教材:1.Unix 环境高级编程, 美W.Richard Stevens著,尤晋元等译,机械工业出版社,2000.22.实用

2、Unix教程,美 Steve Moritsugu著,安捷等译,清华大学出版社,2001.7教学内容第1章 Unix基础第2章 shell使用第3章 文件系统第4章 shell编程初步第5章 过滤程序及编程第6章 shell编程进阶第1章 Unix基础 1.1 Unix历史和现状1.2 Linux介绍1.3 Unix基本操作1.4 文件和常用命令1.5 目录和常用命令什么是Unix?Unix系统组成Unix系统主要特性Unix系统发展历史和现状 1.1 Unix历史和现状1.1.1 什么是Unix?Unix是一个操作系统的“家族”AIX IBM公司HP-UX HP公司SOLARIS SUN公司I

3、RIX SGI公司LINUX 类Unix.Unix是一个支持多任务的操作系统同时运行多个程序一个繁忙的系统在同一时间内能运行上百个甚至上千个程序Unix是一个支持多用户的操作系统在同一时间内,许多用户能同时使用同一个计算机系统Unix是为网络而设计的操作系统被设计来连接其他的计算机系统,并允许人们在网络上工作1.1.2 Unix系统组成内核(Kernel): Unix系统的核心部分,包括硬件管理,进程管理,多用户管理,内部命令等shell: shell命令解释程序(用户和Unix内核的接口)实用程序(Utilities): Unix系统提供的各类软件工具,如文本编辑器,编译程序,开发工具等应用

4、程序(Applications):用户开发的各种应用程序内核shell实用程序应用程序1.1.3 Unix 系统主要特性 强大的shell功能 完善的安全机制具备网络特性用一个简单的shell命令可以完成其它操作系统需要花费时间编写程序来实现的功能。把一些shell命令组合在一就起可以完成别的操作系统需要花费几条或几十条命令才能完成的功能。Unix基于多用户的环境,具有较好的安全机制,包括用户的管理、系统结构的保护以及文件的使用权限的管理等。在现代Unix系统中,强调内部通信机制以及外部设备的易接入性,增加的对TCP/IP协议的支持。使网络连接更加容易、更加敏捷。1.1.3 Unix 系统主要

5、特性用简单的设计技术和方法去完成较复杂、较全面的功能支持多用户多任务的运行文件系统可以随意装卸具备良好的开放性和可移植性Unix系统中,所采用的最基本的设计思想是将复杂的问题进行分解,用最简单、最基本的功能模块的堆积、联合、组装来解决复杂的问题。多用户分时多任务调度管理策略。支持一个用户多种请求,支持几百个用户同时进行数据处理。 文件系统是可以裁剪的,可根据需要构筑独特的文件系统并对其应用于某个硬件设备,使用时加载、用完后卸载。 同时具备良好的安全性可移植性是指软件系统在不同的硬件平台上通过简单的重新编译即可运行,将操作系统从一个平台转移到另一个平台仍然能按其自身的方式运行的能力。开放性是指操

6、作系统提供开放的编程模式,使用户能够根据领域的特性优化(增加或修改)操作系统的支撑机制。Unix系统发展历史Unix系统版本演化过程Unix系统主要商业版本Unix系统发展现状1.1.4 Unix系统发展历史和现状Unix系统发展历史1969年,Ken Thompson 建议AT&T Bell实验室在Multics 操作系统的基础上开始开发Unix系统。1971年, AT&T Unix Version 1运行在DEC公司PDP-11/20计算机上。1973年,Dennis Ritchie用C语言重写了Unix系统的核心部分,产生了AT&T Unix Version 3。1974年,Thomps

7、on和Ritchie基于AT&T Unix Version 5在ACM上发表了其经典论文Unix分时系统。1976年,AT&T Unix Version 6出现,被广泛应用于世界各地大学中。1979年,Bell实验室发布了著名的AT&T Unix Version 7,被认为是现代Unix系统的起点。Unix系统发展历史1982年,AT&T修改Unix版本命名方法,推出了第一个Unix商用版本Unix System V1。1983年,因为Unix的成就,ACM将图灵奖授予Thompson和Ritchie。1980年代后期,由USL(Unix Systems Laboratories)负责开发各种

8、面向工业界的Unix System V 各种派生版本,相继推出了Unix System V2和V3版本。1989年,UI(Unix国际组织)发布了Unix标准版本 System V4。1990年,发布了Unix System V Release 4.2 (SRV4.2)Unix系统发展历史1970年代末到1980年代初,加州大学Berkeley分校就对Unix系统进行了系统的研究和扩展,产生了BSD(Berkeley Software Distribution)Unix版本。在AT&T Unix Version 7的基础上,开发出了BSD Unix版本,包括BSD 3和BSD 4。BSD Un

9、ix版本增加了C shell、 vi编辑器、 Pascal语言、 网络支持、虚拟内存,以及GUI工具。BSD Unix版本对UNIX最重要的贡献之一是TCP/IP。BSD Unix有8个主要的发行版本中包含了TCP/IP:BSD4.1c、BSD4.2、BSD4.3、BSD4.3-Tahoe、BSD4.3-Reno、BSDNet2、BSD4.4以及 BSD4.4-lite。Unix系统发展历史在Unix两大系列的基础上,一些其他软件公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统。有些基于System V版本,如IBM,HP公司。有些基于BSD版本,如Sun公司。Linux是一种自由

10、和开放源码的类Unix操作系统,最初是由芬兰人Linus Torvalds出于个人爱好编写的,1991年9月Linux的第1个版本出现。目前,Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Unix系统版本演化过程Unix系统主要商业版本软件公司Unix类型硬件平台IBMAIXIBM RS/6000系列计算机HPHP/UXHP7000/HP9000系列计算机,HP VISBALIZE B/C/J-Class工作站SUNSolarisSun SPARC和Ultra SPARC工作站, Sun Enterprise系列计算机SCO

11、 OpenServer,Unix WareIntel系列CPU芯片SGIIrixIntel系列CPU芯片LinuxLinuxIntel系列CPU芯片Unix系统发展现状目前Windows系列的操作系统已经占据了桌面计算机统治地位。但是在高端工作站和网络服务器领域,Unix系统仍然具有无可替代的作用。作为Unix系统的一种替代产品,Linux已经成功安装在各种平台上。Linux系统可作为Unix系统普及和延伸的平台。Linux发行版本安装Linux系统1.2 Linux介绍1.2.1 Linux发行版本1、Arch Linux是朝向轻量及简单的Linux发行版本,是面向开发者角度定义,而非面向用

12、户角度思考。2、RedHat Linux最早的Linux发行版本之一,拥有较高的市场占有率。3、Debian Linux迄今为止最遵循GNU规范的Linux系统。目前最好的Linux发行版本之一,拥有超过14,000的软件安装包。4、Turbo LinuxTurbo Linux是拓林思公司发行的Linux版本,已在日本和中国取得了巨大成功,在美国也有一定业绩。5、SuSE LinuxSuSE是一家德国公司, SuSE Linux在欧洲市场拥有第一的市场占有率,具有界面美观、操作简易的特点。6、国产Linux:中科红旗Linux,中标普华Linux 。Linux发行版本安装统计1.2.2 安装L

13、inux系统方案一:安装一个独立的Linux系统,如SuSE方案二:在一台计算机上安装Linux系统,其它计算机通过putty软件登录该计算机方案三:用CD或U盘直接启动Live CD Linux, 如Slax方案四:在Windows环境中安装:虚拟机+Linux方案五:在Windows环境中安装cygwin-一个在windows平台上运行的Unix模拟环境方案一 安装SuSe LinuxSuSe Linux桌面配置界面SuSe Linux打印机配置界面SuSe Linux终端窗口SuSe Linux终端窗口方案二 利用Putty远程登录Unix普通用户登录方案三 Slax LiveCD Li

14、nuxSlax LiveCD Linux浏览器1.3 Unix基本操作Unix用户登录Unix在Unix系统中工作退出UnixUnix关机和重新启动Unix程序员手册1.3.1 Unix用户Unix系统中有两类用户: 1) root用户:命令提示符“#” 超级用户,系统的拥有者,在系统中有且只有一个root用户,它可以在系统中完成任何操作。 2) 普通用户:命令提示符“$” 系统可以创建许多普通用户,并为其指定相应的权限,使其有限地使用系统。Unix系统用户信息文件: /etc/passwd创建Unix用户创建新用户: # useradd d /home/user001 user001改变用户

15、目录属主: # chown user001:other /home/user001为用户设置口令: # passwd user001删除用户 # userdel user0011.3.2登录Unix用户登录步骤: 1) 输入用户名,系统根据该用户名来识别用户; 2) 输入口令,该口令是用户自己选择的一个字符串,是登录系统时识别用户的唯一根据。登录方法(1) 直接登录Unix:login: johnpassword: *You have mail$登录方法(2) 在Unix系统中,切换成另一用户:$su切换成root用户password: $su l user切换成另一用户password: 1

16、.3.3在Unix系统中工作$ date Thr Sep 31 14:10:25 EDT 2000$1.3.4退出Unix退出Unix:3种方法$ exit 或$ 或$ logout退出后系统显示:login: 退出Unix$ date Wed Sep 23 10:15:25 EDT 2009$ exitlogin:超级用户登录普通用户登录1.3.5 Unix关机和重新启动1.shutdown命令2.halt命令3.reboot命令1. Shutdown命令 Shutdown命令是用来关闭Unix操作系统的。关闭系统或者是重新启动系统的操作只有管理员才有权执行。Unix系统在工作时会使用部分内

17、存作缓存区,如果内存上的数据还没有写入硬盘,就把电源拔掉,内存就会丢失数据,如果这些数据是和系统本身有关的,那么会对系统造成极大的伤害。所以在关机之前执行三次同步指令sync,可以用分号“;”来把指令合并在一起执行,如:# sync;sync;sync举 例# shutdown (内置2分钟关机,并发送消息用户)# shutdown h now (系统立刻关机)# shutdown r now (系统立刻重启,相当于reboot)# shutdown h 20:25 (系统会在今天的20:25关机)# shutdown h +10 (系统会在十分钟后关机)如果在关机之前,要传送信息给正在机器上

18、的使用者,可以加“-q”的参数,则会输出系统内置的shutdown信息给使用者,通知他们退出Unix。2. halt命令# halt 输入halt命令,系统就会开始进入关闭过程,其效果和shutdown h now是完全一样的。3.reboot命令# reboot 输入reboot命令后,系统会将一个一个的服务都关闭掉,然后再关闭文件系统和硬件,接着机器开始重新自检,重新引导,再次进入Unix系统。1.3.6 Unix程序员手册在Unix系统中,一般都有相应的联机帮助手册,查阅方法:man 命令名 man 命令名 Unix程序员手册手册共分为8个分册,各分册用数字1至8表示,在每个分册中的各项

19、则按字母顺序排列。1.命令2.系统调用3.函数4.特殊文件5.文件格式及转换6.游戏7.宏和语言8.维护Unix程序员手册举例:$ man cp = man 1 cp $ man 1 ls$ man 2 open$ man 3 printf $ man 4 tty$ man 5 /etc/passwd 1.4 文件和常用命令Unix文件文件相关命令命令提示符1) root用户:#2) 普通用户: $Unix命令文件相关命令目录相关命令进程管理命令显示状态命令磁盘管理命令系统管理命令1.4.1 Unix文件文件: Unix文件是一个字符流,没有文件结束符。命名规则:文件名组成:字母,数字,下划线

20、特殊字符可以用,但最好不用。Unix文件类型(1)普通文件(Regular file)文件内容可以是文本或二进制格式数据。(2)目录文件(Directory file)包含其它文件的名字以及指向与这些文件有关信息的指针。(3)字符特殊文件(Charocter special file)用于系统中的某些类型的设备。(4)块特殊文件(Block special file)用于系统中的磁盘设备。Unix文件类型(5) 管道文件(FIFO)这种文件用于进程间的通信,有时也将其称为命名管道。(6)套接字文件(socket)这种文件用于进程间的网络通信。套接口也可用于在一台宿主机上的进程之间的非网络通信。

21、(7)符号连接文件(Symbolic link)这种文件指向另一个文件。 1.4.2文件相关命令ls 文件列表cat 显示文件 pr 格式化文件cp 拷贝文件mv 移动文件rm 删除文件wc 计算文件字数grep 查找字符串sort 文件排序tail 显示文件末尾cmp 比较文件diff 显示文件差异 ls列表命令$ ls -ltolal 2rwrr 1 you you 19 Sep 31 14:10 junkrwrr 1 you you 22 Sep 31 14:30 test$ls列表命令格式:ls 选项 目录或文件 常用选项: -a 显示指定目录下所有的子目录与文件,包括隐藏文件; -c

22、 按文件的修改时间排序; -l 用长格式来显示文件的详细信息,每个文件一行信息。文件长格式列表$ ls -l类型与权限 链接数 文件主 文件组 大小 修改时间 文件名 $ ls -ltolal 2rwrr 1 you you 19 Sep 31 14:10 junkrwrr 1 you you 22 Sep 31 14:30 book$文件类型与存取权限由10个字符,分2部分、4个字段: rw rw r 第一部分:第1个字符表示文件类型。第二部分:第2-10个字符表示存取权限。文件类型第一部分:文件类型由第1个字符(第1个字段)表示。 rw rw r -普通文件 d 目录文件 b块设备文件 c

23、字符设备文件存取权限第二部分:存取权限由第2-10个字符(后三个字段)表示。 rw r r 分为三组: (2-4字符):文件主权限 (5-7字符):同组用户权限 (8-10字符):其它用户权限4种权限: 禁止r 读w 写x 行文件类型与存取权限举例: - rwx r-x r- 文件类型:-表示普通文件。第1组:rwx表示文件主可读、可写、可执行第2组:r-x表示同组用户可读、不可写、可执行第3组:r-表示其它用户可读、不可写、不可执行$ cat 文件名$ cat文件名1文件名2 $文件内容文件1 内容文件2 内容 cat显示文件命令$ pr文件名 $ pr文件名1文件名2 $文件内容文件1 内

24、容文件2 内容 pr格式显示文件命令$ cp 选项 源文件或目录 目标文件或目录 选项: -a 该选项常在复制目录时使用,它保留链接、文件属性,并递归地复制目录。 -f 如果目标文件或目录已存在,就覆盖它,并且不做提示。 -i 与f选项正好相反,它在覆盖时,会让用户回答“Y”来确认 -p 使用该选项,复制文件时将保留修改时间和存取权限。 -r 若给出的源是一个目录,那么cp将递归复制该目录下所有的子目录和文件,不过这要求目标也是一个目录名。 cp拷贝文件命令举例:如果源是文件名,目标是目录名的话,那么使用cp命令可以指定多个源文件名。$ cp a.txt b.txt /usr/home/use

25、r01 该命令将把a.txt和b.txt文件复制到/usr/home/usr01目录中。 cp拷贝文件命令$ mv 选项 源文件或目录 目标文件或目录 选项: -f 如果操作要覆盖某已有的目标文件时不给任何提示。 -i 交互式的操作,如果操作要覆盖某已有的目标文件时会询问用户是否覆盖。 mv文件移动(换名)命令参数类型与mv命令的执行效果:第一参数(源) 第二个参数(目标) 结果 文件名 文件名 将源文件名改为目标文件名 文件名 目录名 将文件移动到目标目录 目录名 目录名(存在) 源目录移动到目标目录 目录名 目录名(不存在) 源目录换名 目录名文件名出错mv文件移动(换名)命令$ rm 选

26、项 文件名或目录名 选项: -f 在删除过程中不给任何指示,直接删除。 -r 指示rm将参数中列出的全部目录和子目录都递归地删除。 -i 交互式的删除,每个文件在删除时都给出提示。 rm删除文件命令$ wc -lwc 文件名-l 计算文件行数-w 计算文件字数-c 计算文件字符数举例:$ wc poem846263poem$ wc计算文件的行/字/字符数grep是最为常用字符查询命令,可用固定字符串来查询,也可用正则表达式来查询。格式:$grep 选项 字符串或正则表达式 文件列表 grep模式查找命令举例:$ grep 字符串 文件名 查找带该字符串的行$ grep v 字符串 文件名 查找不带该字符串的行$grep root /etc/passwd 查找带root的行grep模式查找命令$sort 文件名按ASCII字符排序$sort r 文件名按ASCII字符反向排序$sort n 文件名按数字排序$sort nr 文件名按数字反向排序$sort f 文件名大小写字符混合排序$sort +n 文件名从第n+1个字段开始排序 sort排序命令举例:$ ls -s | sort -n$ ls -s | sort -nr$ ls -l | sort +4nr注:“|”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论