Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章

上传人:E**** 文档编号:89155689 上传时间:2019-05-19 格式:PPT 页数:23 大小:193.51KB
返回 下载 相关 举报
Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章_第1页
第1页 / 共23页
Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章_第2页
第2页 / 共23页
Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章_第3页
第3页 / 共23页
Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章_第4页
第4页 / 共23页
Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章》由会员分享,可在线阅读,更多相关《Linux操作系统教程 教学课件 ppt 作者 汪荣斌 第4章(23页珍藏版)》请在金锄头文库上搜索。

1、第4章 任务自动化,本章主要内容: Linux过滤器 标准文件 重定向 管道 实现Linux操作自动化,Linux过滤器,标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以制作自己的工具,过滤器就是其中一类。,Linux过滤器,Linux的过滤器(Filter)读取从用户文件或其他地方的输入,检查和处理数据,然后输出结果。从这个意义上说,它们过滤了经过它们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一个被编辑的文件,另外一些过滤器是按模式寻找文件并以这种模式输出部分数据,还有一些执行字处理操作,检测一个文件中的格式

2、,输出一个格式化的文件。过滤器的输入可以是一个文件,也可以是用户从键盘键入的数据,还可以是另一个过滤器的输出。过滤器可以相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户可以编写自己的过滤器程序。,Linux过滤器,grep过滤器 grep寻找特定字符模式的文件,并显示含有此模式的所有行,被寻找的模式称为正则表达式。 grep不能在没有正则表达式的情况下使用。 grep的用法如下: # grep -nv match_pattern file1 file2 . 如果grep过滤器没有指明过滤文件,它将从标准输入读取数据,并且输出到标准输出。grep命令十分有用,它通常使

3、用一个模型作为它的第一个参数,使用任何数目的文件名作为它剩下的参数。,Linux过滤器,wc过滤器 wc功能是计数磁盘文件中或标准输入中的行、单词及字符的个数。用法如下: # wc -lwcfile. 各选项含义如下: -l :选项会显示行数。 w: 选项会显示字数。 -c :选项会显示字符数。 选项的顺序没有要求,输出的结果都是按行、字和字符数排列。 由于wc从标准输入接收输入,并且将其结果写到标准输出,所以wc是一个过滤器。对一个文件执行wc不会影响到文件的内容。,Linux过滤器,cut过滤器 cut过滤器功能是让用户从标准输入,或者一个文件中抽取出文本的列或者是字段,然后将结果送到标准

4、输出。语法格式如下: # cut 选项表单文件名 选项中可选的有: -c :表示剪切列。 -f :表示剪切字段。 表单是一个数字列表,用来告诉cut要抽取得哪些列或字段。定义列或者字段列表有以下的格式:p A-B: 从A到B的列或者字段 A: 从A到列或字段的最后一行 -B: 从列或字段的开头到B A,B: 字段A或者B,Linux过滤器,tr过滤器 tr过滤器的功能是转换字符,它可以接收标准输入也可以接收文件名作为参数;因此它能被用在管道中。命令格式如下: # tr string1 string2 tr命令同样能够被用来替代字符或者转换文本的大小写。,Linux过滤器,sort过滤器 sor

5、t过滤器强大而灵活,它能够依靠数字或字母来对一个文件的行排序。通过sort也能选择一行中的一个特殊的字段;sort也能从标准输入接收数据,但是它也会对作为命令行参数而提供的文件的内容进行排序,操作格式如下: # sort 选项文件名 可选的选项有: -d:代表目录(不处理非字母,数字,或空白的目录)。 -n :数字,代表sort将要排序的的字段号。 u:唯一的(删除所有的双倍行)。 sort命令支持多个选项来执行更复杂的操作。请使用man 来查找其具体用法。,标准文件,当执行一个Shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(std

6、out)和标准错误文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。,标准文件,1 标准输入文件 标准输入文件是程序输入数据的来源,标准输入文件通常称为 stdin。通常,由键盘输入数据来提供标准输入。 让我们用cat命令做例子。如果后面跟了个文件名,那么文件里的所有行都被显示,但是如果没有文件名,cat命令从标准输入文件里取出数据,如下所示: # cat cat命令等待键盘输入。当你从键盘输入字符并按,字符在屏幕上显示出来,如下所示: # cat This is a test to depi

7、ct This is a test to depict 你可以随意输入,用 键来标志输入结束,#提示符随后显示在屏幕上。,标准文件,2 标准输出文件 标准输出文件是程序输出数据的目的地,标准输出文件通常称为 stdout,除非将其定向到其他地方,否则标准输出通常出现在显示器上。 例如,当你发出如下命令: # ls Shell执行命令并把它的结果目录列表送到标准输出文件里去。 不是所有的命令都有输出结果。比如,mkdir命令就不使用标准输出文件。 标准输出文件的文件描述号是1。,标准文件,3 标准错误文件 标准错误文件是程序发出错误和特殊消息的目的,用于诊断消息。标准错误输出通常称为 stder

8、r。除非将其定向到其他地方,否则标准错误通常出现在显示器上。 例如,cat命令后面跟一个不存在的文件名会导致出错信息,另一个例子是使用命令cp file1 dir1,如果你没有在dir1上的写权限或file1上的读权限,则屏幕上会出现出错信息。虽然命令是正确的,但是因为你没有文件的权限而出错。 标准错误文件的文件描述号是2。,重定向,输入重定向 输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。所以,输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。 用于输入重定向的操作符有:和。例如:用wc统计输

9、入给它的文件/etc/passwd的行数、单词数和字符数,操作如下: # wc /etc/passwd 例如:通过输入重定向对temp文件的内容进行排序,并将结果送到标准输出,操作如下: #sort temp,重定向,输出重定向 输出重定向是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。 输出重定向比输入重定向更常用,很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,那么将输出重定向到一个文件中,然后再用文本编辑器打开这个文件,就可以查看输出信息;如果想保存一个命令的输出,也可以使

10、用这种方法。还有,输出重定向可以用于把一个命令的输出当作另一个命令的输入(还有一种更简单的方法,就是使用管道,将在4.4节介绍)。 用于输出重定向的操作符有:“”和“”,例如: # ls l /home files,重定向,错误重定向 和程序的标准输出重定向一样,程序的错误输出也可以重新定向。使用符号2(或追加符号2)表示对错误输出设备重定向。例如下面的命令: # ls /usr/tmp 2 err.file 可在屏幕上看到程序的正常输出结果,但又将程序的任何错误信息送到文件err.file中,以备将来检查用。若err.file文件不存在,则新建它;若存在,则原文被覆盖。 例如: # ls /

11、home 2 err.file 可以将程序的任何错误消息追加到文件err.file中,而不破坏原文。 有一种重定向操作符“&”或追加符“&”,可以将标准输出和错误输出同时进行重定向,例如: # ls /home & output.file 该命令将程序的正常输出结果及程序的任何错误信息都送到文件output.file中。,管道,有两种方法可以将一个程序或命令的输出作为另一个程序或命令的输入,一种是通过一个临时文件将两个命令或程序结合在一起;另一种是Linux所提供的管道功能。这种方法比前一种方法更好。 管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输

12、出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出(如果命令行中未使用输出重定向)。,管道,管道的作用是把一个命令的输出接到另一个命令的输入,而不经过任何中间文件。管道行是指连接两个或更多个命令管道的通路。 通过使用管道符“|”来建立一个管道行。例如: # ls l /bin | more 将ls命令的输出结果逐屏显示。 下面用管道代替临时文件,重做上一节的最后两个例子: # who | wc l 计算注册用户数目 # who | grep zhang 查询用户zhang是否上机,实现Linux操作自动化,Linux系统一直都表现出高效率与智能化,体现在流程化作业

13、方面,而对于GUI模式的工作方式Linux的特长并不在此,对Linux流程控制的实现主要通过Shell来实现,Shell是一种脚本,不需要经过特殊的编译处理可以在当前系统平台上直接运行,类似MS-DOS的自动批处理文件,使用Shell可以合任务自动化,特长在于系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务,使得系统的维护管理变化简单而轻松。,实现Linux操作自动化,1 Shell简介 Shell俗称操作系统“外壳”,实际上就是命令解释程序,负责用户和操作系统之间的沟通,把用户输入的指令解释给系统执行,并将系统返回的信息进行了解释,它提供了用户与Linux核心接口。对于前

14、面我们讲的命令执行、输出重定向和管道等都由Shell功能实现。 由于Shell是用户与系统核心的接口,所以当创建用户时,每个用户都会被指派一个可选的Shell。Linux下常用的Shell有:bash、ash、csh、tcsh、zsh和sh等。 Shell应用通常用于完成智能化的系统管理维护操作,用户可以用Shell来快速创建自己的应用程序,也可以用它来定制环境。,实现Linux操作自动化,2 编写Shell脚本 脚本文件以文本方式存储,可用Linux系统命令或可执行文件及Shell特有命令完成脚本的编写,支持高级语言中的变量、操作符和控制结构。 Shell脚本的编写和执行是以行为单位的,每一

15、行可以是命令、注解,或是流控制指令等。在bash中使用符号“#”作为注解符(但“#!”不是注解符),并且可以在脚本的任何地方作注解。 例如: echo The current directory is pwd #Display the current directory #This is the end of the program 执行以上脚本,输出如下结果: The current directory is /root,实现Linux操作自动化,3 执行Shell脚本 脚本只是包含命令的文本文件,为了顺利执行该脚本,我们还须指定脚本特定的解释器执行脚本文本。由于不同的Shell其脚本之间存

16、在着一些差异,因此,不能将一种Shell的脚本文件用另外一种Shell来解释执行。不同的Shell解释器,其语法是存在差异的,并且也各有优缺点,RedHat Linux默认Shell解释器为bash。 执行Shell脚本常用的方法有两种: (1) 将脚本文件的访问权限设置为可执行后,在Shell提示符下直接执行。 (2)将脚本作为命令行的参数传递到指定的解释器中,实训,试编写一个Shell程序,调试并执行它。,习题,1.linux都有哪几种过滤器,分别有什么功能? 22.简述什么是重定向,什么是管道? 33.试说明下列命令的执行结果。 sort text 2 ls | wc -l 4.简述如何执行Shell脚本?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号