版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 UNIX使用基础,操作系统,9.1 登录和退出系统,UNIX用户只有通过login才能进入工作期 (也称注册) 口令(passwd)是用户进入系统的一把钥匙。 口令应当选取自己容易记忆而别人又难以猜测的字符串。 一旦用户进入了系统以后,就好比打开了保险箱,不能随便离开终端,即使银行在送钱也不能不顾一切地冲出去。 不执行退出命令,而采用粗暴地关闭终端电源 ,急冲冲地离开的方法是不行的。接下来的用户一打开终端,就回到了你的工作环境,你的命运就掌握在这下一位的“君子”或“强盗”手中了。,9.2 Shell 基础,9.2.1 Shell的家族,UNIX操作系统的外壳 Shell,是一个功能强大
2、的命令处理器,它作为用户与操作系统交互的界面,接受用户输入的命令,分析、解释、执行该命令,并将结果显示出来。 有三种主要的Shell : 由AT&T贝尔实验室 S.R, Bourne 1975写的 Bourne Shell ,该Shell的程序名为sh ; 由加利弗尼亚大学贝克利分校的学生 Bill Joy 开发的 C Shell ,其程序名为csh (它的编程类似于C语言形式而得名); 在八十年代中期由贝尔实验室的 David G.Koun 开发的 Bourne Shell 的扩充版本 ksh 。,三种shell的主要特点,Bourne Shell 是这三个Shell 中使用最普遍的,几乎所
3、有的Unix 操作系统都将 B Shell 作为它们的标准配置之一。它比另两个Shell要小,执行效率也高。 C Shell 提供了某些比 B Shell 更高级的特性,包括历史命令,别名机制和作业控制。C Shell 的控制结构和运算符与C程序设计语言十分相似,因此对程序设计员来说,倍感亲切。 K Shell 保留了实现 B Shell 的全部功能,并且吸取了 C Shell 的许多高级功能。,9.2.2 简单命令和命令表,简单命令的格式为 命令名 选择项.参数. 选项由一个连字符-后面紧跟一个(或数个)字母组成,用于告诉命令要完成任务的细节差别 如显示文件信息命令 ls -l file1
4、file2 一个命令行也可包含多个用分号;分开的简单命令,用;分开的一组简单命令称为命令表。如进入一个doc目录,并显示该目录中内容的命令行 cd doc ; ls,9.2.3 标准输入和标准输出,标准输入和标准输出的基本思想就是编制程序时无需考虑输入和输出的各种情况,只要按UNIX的规定,从标准的输入源读数据并将数据写至标准的输出目的地即可,可由另外的机构决定具体的输入源和输出目的地。 在用户登录时,Shell自动地将标准输入连接到键盘上,将标准输出连接到屏幕上,所以也可以说,程序的标准输入是键盘,标准输出是屏幕,或简单地说,标准输入和标准输出是终端。,例:cat 的标准输入和标准输出,UN
5、IX的cat程序就是从标准输入读入数据并将其内容写到标准输出上,所以用户键入了命令cat后,该程序就从键盘上读入你的输入,并将输出内容显示在屏幕上,直至用户按下CTRL-D键(文件结束符)后终止。由于用户所键入的内容也在屏幕上回显出来,所以用户每输入一行,屏幕显示两行。 $ cat abcd abcd $,9.2.4 输入/输出转向,Shell向用户提供了改变程序输入输出方向的手段,即输入输出转向,或称输入输出重定向。 希望程序的输出不要显示在屏幕上,而是送到文件中。就可以使用输出转向符号 cat file 如果用户希望程序的标准输出转到文件后,不要覆盖原先的内容,而是添加到文件的尾部,则可以
6、使用附加输出转向符“”,如命令 cat file 将标准输入的内容添加到文件file的尾部。,如果用户希望cat命令不要从键盘上读取数据,而是从一个文件中读取数据,那就要使用输入转向符 file2 可以省略输入转向符 file2,9.2.5 后台命令与后台进程,为了提高用户和系统的效率,可以在后台执行这种命令,例如 command & & 就是后台命令符,它表示Shell将前一个命令放在后台执行,用户就不必等到这条命令执行结束。Shell在显示后台进程的进程号后,就立即显示Shell提示符,等待用户输入下一条命令,如: 12 1244 $ 这样就可以在后台命令运行的同时,做其它的工作,也可用后
7、台方式再启动另一个程序。,用后台方式运行程序要注意,应当采用输入转向方式,使后台进程从指定的输入文件中读;否则,要么后台命令会在这一点上等啊等的,而你对此却漠然无知,不予配合;要么后台命令和Shell或用户在前台执行的程序将在终端上“抢读”,不能预测哪个进程将得到输入数据。 类似,如果后台命令如有标准输出,那么它的输出将和Shell或前台命令的输出在屏幕上交织在一起,使用户看得眼花缭乱。,9.2.6 管道,Shell提供了功能更为强大的“管道”。用户可用|符连接两个命令,使前一个命令的输出通过管道连续地送至后一个命令,作为其输入。如在下面命令行中, cat file1 file2 | sort
8、 cat命令把两个文件file1和file2的数据连接起来,并将输出送至管道的一端; sort命令从管道的另一端读入cat命令输出的数据,将其排序。 在一个命令行中,可以用多个管道符连接数个命令,这象工厂里的流水生产线。,9.2.7 特殊字符,某些字符对Shell来说,具有特殊的含义,它们是: ( ) $ # - 对于C Shell, % 和 !也是特殊字符。此外,分隔命令行中各项元素的空格符和制表符及结束一命令行的回车符也是特殊字符。,转义符 “”,如果你想把一个特殊字符当作普通字符来使用,就应当在每一个特殊字符前用特殊字符反斜线 标记它,如 |、* 等。反斜线 又称作转义符,因为它改变了下
9、一个字符的通常含义。如果你希望一个反斜线不作为转义符,那末也应象标记其它特殊字符一样,在反斜线前面再加一个反斜线()。 标记特殊字符的另一个方法是用一对单引号“ ”将一个或多个特殊字符括起来。在一对单引号之间的所有字符都解释为普通字符,不管原先它们是特殊字符,还是普通字符。,元字符,元字符可用于构成匹配现有文件名的模式,它们是 * 、?、 、和方括号中的 -。 元字符 ?可匹配除 / 外的单个字符,故chapter? 可匹配chapter1,chapter2,chapter?等,但不能匹配chapter和chapter10。 元字符 * 可匹配任何字符串(包括空串),故chapter* 可匹配
10、所有以chapter开头的任意文件名字符串。如 *.c 匹配任何的c程序。 *ab* 匹配含有子串ab的任何字符串。,方括号匹配 规则,一对方括号使Shell匹配出现在方括号内的字符,如fileabc匹配filea、fileb和filec。 连字符 - 可在方括号内表示字符的范围,因此fileabc也可写成filea-c。注意,file0-13并不匹配file0,file1,file13,而只匹配file0,file1和file3。 应当分成两个部分写:file0-9、file10-3。 连字符 - 仅在方括号内作为元字符,而在方括号外只认作普通字符。 相反,符号 * 和 ?出现在方括号内时,
11、就失去了作为元字符的意义,故a-b*?仅匹配两个固定字符串a-b*和a-b?。,匹配文件名的其它规则,*c能匹配所有以c结尾的文件名,包括所有类似于file.c的c程序文件,但文件名中第一个点必须显式匹配。*visible不能匹配 .invisible,而 .*visible能匹配它。 这是因为UNIX把以点开头的文件作为隐式文件,使得ls或ls * 命令不能列出此类文件。 元字符只能在一个目录内匹配文件名,也即 * 或 ?不能匹配目录分隔符 / 。 如“/doc*.c”不能与/doc目录下的所有以 .c为后缀的文件名匹配,欲达到这个目的,你只能写成 /doc/*.c的形式。这一限制是非常合理
12、的,否则象“ls *”这样的命令将列出系统中所有目录下的所有文件。,9.3 文件系统基本知识,在一般的计算机系统中,文件是存储在外存储器中的具有名字的信息集合,这些信息包括程序、文档、数据、声音和图象信息等。 在UNIX中,文件具有更为广泛的意义。凡是可以从中读取数据的任何资源,或可以向其写入数据的任何目标都可称为“文件”。 磁盘、磁带和光盘文件、终端(包括输入源键盘和输出目标屏幕),打印机,绘图仪,发声设备等都可称为文件。 向文件写数据和向屏幕输出,操作方法是一致的,如此极大地方便了用户使用各种外部设备。,9.3.1 文件的类型,普通文件 存储在磁盘、磁带或光盘上的普通意义的文件。普通文件中
13、的源程序文件、Shell程序和文本文件等可以使用编辑器输入或修改,这类文件也常称为正规文件(regular files )。其它的文件为二进制文件,典型的有可执行码文件和二进制数据文件。 目录文件 目录文件的存储介质与普通文件相同,但目录是指向其它文件的文件,用于组织、管理和访问其它文件的特殊文件。目录文件不能用普通编辑器编辑。,特别文件 特别文件并不是信息的存储体。它们只不过是为了I/O设备的读写提供了方便的通道,并提供用户与文件操作相同的存取界面。 特别文件又称为设备文件,又可分为块设备文件和字符设备文件。 特别文件一般存放在 /dev目录中,如 /dev/tty0是终端的特别文件,/de
14、v/lp是行式打印机的特别文件。 当程序把数据写到诸如 /dev/lp那样的文件中去时,操作系统截取该数据,并将它送向行式打印机。 由于UNIX操作系统使I/O硬件接口与普通文件的接口一致,用户就不必知道任何有关I/O设备的细节。 命名管道 命名管道是一种用文件实现的先进先出机构。,9.3.2 目录结构,UNIX目录系统具有无限层次的树状结构。其根目录是root,并用符号 / 指代。 一个完整的文件名包括文件的路径名(path name)和文件的基名(base name)。 路径名中以/ 开头的是绝对路径名,不以/ 开头的是相对路径名。例如 /home/you/source/test.c是一个
15、完整的文件名。 使用完整的路径名非常麻烦,系统查找文件耗时也多。UNIX允许用户设定一个目录作为工作目录(working directory),也称为当前目录(current directory)。 如当前工作目录为/home/you,那么可用相对路径名source/test.c存取同一个test.c文件。,路径名的简便方法表示,在一个目录中允许用“.”向根目录方向攀登一级,.表示父目录,./.表示父目录的父目录。 .表示当前目录的绝对路径名,如当前目录是/home/you,那么访问test.c时可以使用相对路径名source/test.c,也可以使用简单的绝对路径名 ./source/tes
16、t.c。 在某些必须指定绝对路径名的场合,可使用.代指工作目录。 (波浪号)表示你的HOME目录(主目录)。如命令 ls /bin 就列出了你主目录下bin目录中的文件。,9.3.3 文件存取控制模式,对文件的操作有读、写和执行三种,文件的存取控制就是对不同的用户分配不同的操作许可权。UNIX文件系统将用户分成三类,即文件主、同组用户和其他用户,它们可分别用u、g和o表示。用文件的长列表命令 ls -l 可以看出一个文件的存取控制模式。 一个文件的存取控制权可以用图9-1所示的二进制模式表示。图中用r(读)、w(写)、x(执行)分别表示相应的二进制位置位,这同用ls -l命令列出的第二列至第十
17、列文件存取控制信息相同。,其他用户存取控制字段 同组用户存取控制字段 文件主存取控制字段,存取控制权的二进制模式表示,如文件存取控制模式的值为0644,表示允许文件主读和写该文件,只允许同组用户和其他用户读该文件,在ls -l命令中相应的显示信息为: r w - r - - r - - 其中 - 表示该类用户对本文件无读、写或执行权。 用“ls -l”命令列出的文件存取控制模式中最左边一列为 -、d、b、c、p或六个字符之一,它们分别表示该文件的类型为 - 普通文件 d 目录 b 块设备特别文件 c 字符设备特别文件 p 命名管道 l 软连接,9.3.4 目录存取方式,对目录的读、写和执行许可
18、的解释与普通文件的许可不同。 对目录的读许可意味着能读取目录的信息,也就是可以用ls命令看出目录中的文件名,但不能列出有关文件的其它管理信息。仅有这种许可不能访问目录中的文件。 对目录的写许可意味着允许在该目录中创建或删除目录中的文件。 对目录的执行许可意味着用户在指定一个路径名时可以检索该目录。如对一个目录没有检索许可,用户就不能用cd命令进入该目录。,9.4 UNIX文件系统结构,usr,/(root),dev,tmp,home,bin,etc,lib,9.4.1 根文件系统结构,/usr 是装配在根目录下的独立的文件系统。 /bin 包含UNIX标准实用程序。在不少UNIX版本中,/bin实际连接到/usr/bin中。 /dev 包含各种设备文件,如tty01(终端),console(系统控制台),rdsk(磁盘),等设备文件。 /dev/null 当程序向该文件写数据时,输出结果无声无息地永远地消失了,就象掉进了无底洞。用户可以将不需要看的输出信息送至/dev/null文件。 /etc 包含系统管理程序,系统配置程序,系统文件,最著名的是用户注册文件passwd。 /home 含有服务器和它客户的起始目录树。 /lib 包含程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文物保护工程从业资格专项练习题(含答案)
- 西师大版小学二年级数学上册《乘法综合计算题》专项教案
- 商场扶梯逆转事故应急演练脚本
- 虚拟化技术应用项目教程 课件 第四章 Xen虚拟化技术
- 病房消毒隔离制度及措施
- 农药化工企业铣工装卸作业安全操作规程
- 危重症患者护理安全管理
- 初中健康快乐减肥课件
- 危险化学品使用单位维修工定期维护安全操作规程
- 2026年公共政策研究专业考试试题及答案
- 2026年陕甘青宁高考历史真题含答案
- 2026年教师招聘面试试讲真题(高中政治)
- 医院消毒供应室工作制度、职责、操作流程
- 2026年云南省第一人民医院医护人员招聘笔试参考题库及答案详解
- mckinsey -2026 人力资源监测报告:人力职能迎来转折点 HR Monitor 2026 A turning point for the people function
- 2026年中式烹调师高级技师考试题
- 慢性肾脏病的代谢紊乱与干预
- 护理基础操作标准化流程
- 塔顶钢架结构施工方案(3篇)
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.6-2025)
- 2025年江苏盐城港控股集团有限公司招聘21人备考题库及答案详解1套
评论
0/150
提交评论