中南大学数学院计算机操作系统第九章课件 UNIX使用基础.ppt
《中南大学数学院计算机操作系统第九章课件 UNIX使用基础.ppt》由会员分享,可在线阅读,更多相关《中南大学数学院计算机操作系统第九章课件 UNIX使用基础.ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第九章第九章 UNIX使用基础使用基础 9.1 登录和退出系统登录和退出系统 nUNIX用户只有通过用户只有通过login才能进入工作期才能进入工作期(也称注(也称注册)册)n口令(口令(passwd)是用户进入系统的一把钥匙。)是用户进入系统的一把钥匙。n口令应当选取自己容易记忆而别人又难以猜测的字口令应当选取自己容易记忆而别人又难以猜测的字符串。符串。n一旦用户进入了系统以后,就好比打开了保险箱,一旦用户进入了系统以后,就好比打开了保险箱,不能随便离开终端,即使银行在送钱也不能不顾一不能随便离开终端,即使银行在送钱也不能不顾一切地冲出去。切地冲出去。n不执行退出命令,而采用粗暴地关闭终端电
2、源不执行退出命令,而采用粗暴地关闭终端电源,急,急冲冲地离开的方法是不行的。接下来的用户一打开冲冲地离开的方法是不行的。接下来的用户一打开终端,就回到了你的工作环境,你的命运就掌握在终端,就回到了你的工作环境,你的命运就掌握在这下一位的这下一位的“君子君子”或或“强盗强盗”手中了。手中了。9.2 Shell 基础基础 9.2.1 Shell的家族的家族 v UNIX操作系统的外壳操作系统的外壳Shell,是一个功能强大的命令处,是一个功能强大的命令处理器,它作为用户与操作系统交互的界面,接受用户输入的命理器,它作为用户与操作系统交互的界面,接受用户输入的命令,分析、解释、执行该命令,并将结果显
3、示出来。令,分析、解释、执行该命令,并将结果显示出来。v有三种主要的有三种主要的Shell:v由由AT&T贝尔实验室贝尔实验室S.R,Bourne1975写的写的BourneShell,该,该Shell的程序名为的程序名为sh;v由加利弗尼亚大学贝克利分校的学生由加利弗尼亚大学贝克利分校的学生BillJoy开发的开发的CShell,其程序名为,其程序名为csh(它的编程类似于(它的编程类似于C语言形式而得名);语言形式而得名);v在八十年代中期由贝尔实验室的在八十年代中期由贝尔实验室的DavidG.Koun开发的开发的BourneShell的扩充版本的扩充版本ksh。三种三种shell的主要特
4、点的主要特点n Bourne Shell 是这三个是这三个Shell 中使用最普遍的,中使用最普遍的,几乎所有的几乎所有的Unix 操作系统都将操作系统都将 B Shell 作为它作为它们的标准配置之一。它比另两个们的标准配置之一。它比另两个Shell要小,执行要小,执行效率也高。效率也高。n C Shell 提供了某些比提供了某些比 B Shell 更高级的特性,更高级的特性,包括历史命令,别名机制和作业控制。包括历史命令,别名机制和作业控制。C Shell 的控制结构和运算符与的控制结构和运算符与C程序设计语言十分相似,程序设计语言十分相似,因此对程序设计员来说,倍感亲切。因此对程序设计员
5、来说,倍感亲切。n K Shell 保留了实现保留了实现 B Shell 的全部功能,并的全部功能,并且吸取了且吸取了 C Shell 的许多高级功能。的许多高级功能。9.2.2 简单命令和命令表简单命令和命令表 n简单命令的格式为简单命令的格式为 命令名命令名 选择项选择项.参数参数.选项由一个连字符选项由一个连字符-后面紧跟一个(或数个)后面紧跟一个(或数个)字母组成,用于告诉命令要完成任务的细节差别字母组成,用于告诉命令要完成任务的细节差别 n如显示文件信息命令如显示文件信息命令 ls-lfile1file2 n一个命令行也可包含多个用分号一个命令行也可包含多个用分号;分开的简分开的简单
6、命令,用单命令,用;分开的一组简单命令称为命令分开的一组简单命令称为命令表。如进入一个表。如进入一个doc目录,并显示该目录中内容的目录,并显示该目录中内容的命令行命令行 cddoc;ls 9.2.3 标准输入和标准输出标准输入和标准输出 n标准输入和标准输出的基本思想标准输入和标准输出的基本思想就是编制程序时就是编制程序时无需考虑输入和输出的各种情况,只要按无需考虑输入和输出的各种情况,只要按UNIX的规定,从标准的输入源读数据并将数据写至标的规定,从标准的输入源读数据并将数据写至标准的输出目的地即可,可由另外的机构决定具体准的输出目的地即可,可由另外的机构决定具体的输入源和输出目的地。的输
7、入源和输出目的地。n在用户登录时,在用户登录时,Shell自动地将标准输入连接到键自动地将标准输入连接到键盘上,将标准输出连接到屏幕上,所以也可以说,盘上,将标准输出连接到屏幕上,所以也可以说,程序的程序的标准输入是键盘,标准输出是屏幕标准输入是键盘,标准输出是屏幕,或简,或简单地说,标准输入和标准输出是终端。单地说,标准输入和标准输出是终端。例:例:cat cat 的标准输入和标准输出的标准输入和标准输出nUNIXUNIX的的catcat程序就是从标准输入读入数据并将其内程序就是从标准输入读入数据并将其内容写到标准输出上,所以用户键入了命令容写到标准输出上,所以用户键入了命令catcat后,
8、后,该程序就从键盘上读入你的输入,并将输出内容该程序就从键盘上读入你的输入,并将输出内容显示在屏幕上,直至用户按下显示在屏幕上,直至用户按下CTRL-DCTRL-D键(文件结键(文件结束符)后终止。由于用户所键入的内容也在屏幕束符)后终止。由于用户所键入的内容也在屏幕上回显出来,所以用户每输入一行,屏幕显示两上回显出来,所以用户每输入一行,屏幕显示两行。行。$cat abcd abcd$9.2.4 输入输入/输出转向输出转向 nShellShell向用户提供了改变程序输入输出方向的手段,向用户提供了改变程序输入输出方向的手段,即即输入输出转向输入输出转向,或称输入输出重定向。,或称输入输出重定
9、向。n希望程序的输出不要显示在屏幕上,而是送到文希望程序的输出不要显示在屏幕上,而是送到文件中。就可以使用输出转向符号件中。就可以使用输出转向符号 cat file cat file n如果用户希望程序的标准输出转到文件后,不要如果用户希望程序的标准输出转到文件后,不要覆盖原先的内容,而是添加到文件的尾部,则可覆盖原先的内容,而是添加到文件的尾部,则可以使用附加输出转向符以使用附加输出转向符“”,如命令,如命令 cat filecat file 将标准输入的内容添加到文件将标准输入的内容添加到文件filefile的尾部。的尾部。n如果用户希望如果用户希望catcat命令不要从键盘上读取数据,而
10、命令不要从键盘上读取数据,而是从一个文件中读取数据,那就要使用输入转向符是从一个文件中读取数据,那就要使用输入转向符 ,如命令,如命令 cat file cat file 这个命令相当于显示一个文件的内容。这个命令相当于显示一个文件的内容。n 可以同时转向一个程序的输入和输出。命令可以同时转向一个程序的输入和输出。命令 cat file2cat file2n可以省略输入转向符可以省略输入转向符 file2cat file1 file29.2.5 后台命令与后台进程后台命令与后台进程 n为了提高用户和系统的效率,可以在后台执行这为了提高用户和系统的效率,可以在后台执行这种命令,例如种命令,例如
11、commandcommand&n&就是后台命令符,它表示就是后台命令符,它表示ShellShell将前一个命将前一个命令放在后台执行,用户就不必等到这条命令执行令放在后台执行,用户就不必等到这条命令执行结束。结束。ShellShell在显示后台进程的进程号后,就立即在显示后台进程的进程号后,就立即显示显示ShellShell提示符,等待用户输入下一条命令,如:提示符,等待用户输入下一条命令,如:12 124412 1244$n这样就可以在后台命令运行的同时,做其它的工这样就可以在后台命令运行的同时,做其它的工作,也可用后台方式再启动另一个程序。作,也可用后台方式再启动另一个程序。用后台方式运行
12、程序要注意用后台方式运行程序要注意 n应当采用输入转向方式,使后台进程从指定的应当采用输入转向方式,使后台进程从指定的输入文件中读;否则,要么后台命令会在这一输入文件中读;否则,要么后台命令会在这一点上等啊等的,而你对此却漠然无知,不予配点上等啊等的,而你对此却漠然无知,不予配合;要么后台命令和合;要么后台命令和ShellShell或用户在前台执行或用户在前台执行的程序将在终端上的程序将在终端上“抢读抢读”,不能预测哪个进,不能预测哪个进程将得到输入数据。程将得到输入数据。n类似,如果后台命令如有标准输出,那么它的类似,如果后台命令如有标准输出,那么它的输出将和输出将和ShellShell或前
13、台命令的输出在屏幕上交或前台命令的输出在屏幕上交织在一起,使用户看得眼花缭乱。织在一起,使用户看得眼花缭乱。9.2.6 管道管道 n Shell Shell提供了功能更为强大的提供了功能更为强大的“管道管道”。用户可用。用户可用|符连接两个命令,使前一个命令的输出通过符连接两个命令,使前一个命令的输出通过管道连续地送至后一个命令,作为其输入。如在下管道连续地送至后一个命令,作为其输入。如在下面命令行中,面命令行中,cat file1 file2 cat file1 file2|sortsortncatcat命令把两个文件命令把两个文件file1file1和和file2file2的数据连接起来,
14、的数据连接起来,并将输出送至管道的一端;并将输出送至管道的一端;nsortsort命令从管道的另一端读入命令从管道的另一端读入catcat命令输出的数据,命令输出的数据,将其排序。将其排序。n在一个命令行中,可以用多个管道符连接数个命令,在一个命令行中,可以用多个管道符连接数个命令,这象工厂里的流水生产线。这象工厂里的流水生产线。9.2.7 特殊字符特殊字符 n某些字符对某些字符对ShellShell来说,具有特殊的含义,来说,具有特殊的含义,它们是:它们是:&|*?&|*?;()$#-()$#-n对于对于C ShellC Shell,%和和 !也是特殊字也是特殊字符。此外,分隔命令行中各项元
15、素的空符。此外,分隔命令行中各项元素的空格符和制表符格符和制表符及结束一命令行的回车符及结束一命令行的回车符也是特殊字符。也是特殊字符。转义符转义符“”n如果你想把一个特殊字符当作普通字符来使用,如果你想把一个特殊字符当作普通字符来使用,就应当在每一个特殊字符前用特殊字符反斜线就应当在每一个特殊字符前用特殊字符反斜线 标记它,如标记它,如|、*等。反斜线等。反斜线 又称又称作转义符,因为它改变了下一个字符的通常含义。作转义符,因为它改变了下一个字符的通常含义。如果你希望一个反斜线不作为转义符,那末也应如果你希望一个反斜线不作为转义符,那末也应象标记其它特殊字符一样,在反斜线前面再加一象标记其它
16、特殊字符一样,在反斜线前面再加一个反斜线(个反斜线()。)。n标记特殊字符的另一个方法是用一对单引号标记特殊字符的另一个方法是用一对单引号“”将一个或多个特殊字符括起来。在一对单引将一个或多个特殊字符括起来。在一对单引号之间的所有字符都解释为普通字符,不管原先号之间的所有字符都解释为普通字符,不管原先它们是特殊字符,还是普通字符。它们是特殊字符,还是普通字符。元字符元字符 n元字符可用于构成匹配现有文件名的模式,它们元字符可用于构成匹配现有文件名的模式,它们是是 *、?、?、和方括号中的和方括号中的 -。n元字符元字符?可匹配除可匹配除 /外的单个字符,故外的单个字符,故chapter?cha
17、pter?可匹配可匹配chapter1chapter1,chapter2chapter2,chapter?chapter?等,但不能匹配等,但不能匹配chapterchapter和和chapter10chapter10。n 元字符元字符 *可匹配任何字符串(包括空串),可匹配任何字符串(包括空串),故故chapter*chapter*可匹配所有以可匹配所有以chapterchapter开头的任意文开头的任意文件名字符串。如件名字符串。如 *.c .c 匹配任何的匹配任何的c c程序。程序。*ab*ab*匹配含有子串匹配含有子串abab的任何字符串。的任何字符串。方括号匹配方括号匹配 规则规则n
18、一对方括号使一对方括号使ShellShell匹配出现在方括号内的字符,如匹配出现在方括号内的字符,如filefile abcabc 匹配匹配fileafilea、filebfileb和和filecfilec。n连字符连字符 -可在方括号内表示字符的范围,因此可在方括号内表示字符的范围,因此fileabcfileabc也可写成也可写成fileafilea-cc。注意,。注意,file0-13file0-13并不匹配并不匹配file0file0,file1file1,file13file13,而只匹配,而只匹配file0file0,file1file1和和file3file3。n应当分成两个部分写
19、:应当分成两个部分写:file0-9file0-9、file10-3file10-3。n连字符连字符 -仅在方括号内作为元字符,而在方括仅在方括号内作为元字符,而在方括号外只认作普通字符。号外只认作普通字符。n相反,符号相反,符号*和和?出现在方括号内时,出现在方括号内时,就失去了作为元字符的意义,故就失去了作为元字符的意义,故a a-bb*?*?仅匹配两个仅匹配两个固定字符串固定字符串a-b*a-b*和和a-b?a-b?。匹配文件名的其它规则匹配文件名的其它规则 n*c*c能匹配所有以能匹配所有以c c结尾的文件名,包括所有类似于结尾的文件名,包括所有类似于file.cfile.c的的c c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南大学数学院计算机操作系统第九章课件 UNIX使用基础 中南 大学 学院 计算机 操作系统 第九 课件 UNIX 使用 基础
限制150内