UNIX课件八:重定向.ppt

上传人:本田雅阁 文档编号:2977472 上传时间:2019-06-17 格式:PPT 页数:23 大小:214.51KB
返回 下载 相关 举报
UNIX课件八:重定向.ppt_第1页
第1页 / 共23页
UNIX课件八:重定向.ppt_第2页
第2页 / 共23页
UNIX课件八:重定向.ppt_第3页
第3页 / 共23页
UNIX课件八:重定向.ppt_第4页
第4页 / 共23页
UNIX课件八:重定向.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《UNIX课件八:重定向.ppt》由会员分享,可在线阅读,更多相关《UNIX课件八:重定向.ppt(23页珍藏版)》请在三一文库上搜索。

1、,第七章 重定向与管道,重定向与管道,标准文件概述 输入与输出重定向 标准错误重定向 UNIX管道,标准文件,标准文件 shell为每个命令打开三个文件(流),用于 读取输入标准输入键盘 输出结果标准输出显示屏(控制台) 输出错误消息标准错误显示屏(控制台) 当shell发现命令行中存在特殊字符(,|)时,shell就把流从它的默认设备上断开,连接到磁盘文件或另一个命令。,重定向与管道,标准文件概述 输入与输出重定向 标准错误重定向 管道,1、输入重定向,当命令后不带 任何参数时,它从标准输入文件中读取数据。该文件可以代表三个输入源: 键盘,默认输入源 文件,要用 重定向符 其他命令,要用 |

2、(管道符) 例子:wc不带参数时,也没有和 或|特殊字符连接时,wc就从默认设备(键盘)获取输入 wc hello, how are you? Im fine. ctrl+d,1、输入重定向,语法 command input file 语义 如果command从标准输入读取输入,则该输入来自于input file,而不是键盘 例 wc tmp: shell扫描到 符号时,就打开tmp文件, 然后shell断开标准输入的默认源,把它连接到tmp文件,cat命令从标准输入读取数据,标准输入已经由shell重定向到tmp文件 wc tmp:wc命令打开tmp文件,读取数据显示到屏幕上。,1、输入重定

3、向,!注意: 当标准输入重定向到一个文件时(用) ,shell打开此文件,而命令不会知道shell为他的输入所做的一切。但是如果命令后面跟一个文件名作为参数,则由命令自己打开文件,shell不管此文件的打开。 同时从文件和标准输入读取数据 必须用“-”符号 如:cat aa - bb /cat先打开aa,显示,然后从标准输入读数据,ctrl+d, 打开bb,显示。 cat aa - bb /显示什么?,2、输出重定向,类似输入重定向,结果输出到屏幕上的命令,实质是把结果以字符流的形式输出到标准输出文件里,而不是直接输出到终端上。输出流有三个目标对象: 终端,默认目标 文件,用 或 重定向 来自

4、于另一个命令的输入,用管道符| 说明: 是在文件末尾添加,2、输出重定向,语法: command output file 语义:将命令command的输出发送到文件output file,而不是屏幕 例 date date apple /当shell扫描到符号时,创建一个新文件apple为写入做准备;然后shell断开标准输出文件的默认目标设备,并连接到apple文件;date把结果写入到已重定向到apple文件的标准输出。 !不要覆盖文件:重定向输出到一个文件时要小心,确信文件名不存在,否则将被覆盖!,3、带文件描述符的重定向,三个标准文件都对应一个称为文件描述符的数字代码。当文件打开进行读

5、写操作则需要用到文件描述符。标准文件描述符: 0:标准输入 1:标准输出 2:标准错误 重定向与文件描述符使用可以显式说明重定向 等价于1,表示输出重定向 如:cat aa 1 bb 与 cat aa bb 一样的意思 2,显式指定错误重定向,重定向与管道,标准文件概述 输入与输出重定向 标准错误重定向 UNIX管道,1、标准错误重定向,标准错误重定向 command 2 error-file 命令的错误信息与普通返回区分 标准错误重定向将错误信息单独输出 例 cat foo cat:foo:no such file or directory cat foo error cat:foo:no

6、such file or directory /可见,错误信息并没有保存到error文件 cat foo 2error cat error,2、重定向标准输出与标准错误,标准输出与标准错误可以重定向到同一个文件中 ls /etc res.log 2res.log 很多时候需要分开 ls /etc 1 res.log 2 err.log,3. 连接标准输入和标准输出的过滤器,unix命令分为四种: 既不需要标准输入,也不需要标准输出的命令:如mkdir, cd , cp,mv 不从标准输入读取数据,但把结果写入到标准输出,如:ls ,pwd, who 从标准输入读取数据,但不把结果写入到标准输出

7、,如:lp 既从标准输入读取数据,也使用标准输出,如:cat,wc,od,gzip。这一类UNIX中称为过滤器。由于过滤器具有双重流处理功能,因此他们是功能强大的文本处理器,可以极大提高性能。,实例,例:从文件input得到标准输入,并发送输出到result文件,可以使用下列任意命令: cat result result catresult result input cat 输入源和输出目标在一个命令行中的次序和位置并不重要,以及他们前后的空格个数并没有严格限制。这正是UNIX系统最强大的功能之一。,重定向实例练习,#cat aa bb cc #cat aa bb #cat calc 3*8

8、33+44 ctrl+d #bc out #cat out 6. #catt aa 2 /dev/null 7. #cat aa /按下回车后,用ctrl+c中断,重定向实例练习,/dev/null like a black hole. Whatever is sent to the /dev/null never returns. Neither does one know where it goes. It simple disappears. Isnt that fantastic ! So remember whenever you want to remove something s

9、omething that you dont want .you could just send it to /dev/null,重定向与管道,标准文件概述 输入与输出重定向 标准错误重定向 UNIX管道,1、管道概述,标准输入和标准输出是shell可以单独使用的两个独立流。shell把这两个流连接起来,让一个命令的输出作为另一个命令的输入,就是管道。 管道可以在命令行上组装出专门的程序 管道按次序把命令连接起来,前一个命令的输出作为后一个命令的输入 缺点:像是黑箱子。如果把命令连接在一起,那么只有序列中最后一个命令生成的输出能够反映管道的进度 管道符号:|,2、管道连接两个 进程,3、管道连接命令,4、管道使用示例,ls /etc | less ls l | wc ps -A | grep n gnome gnome.count cat gnome.count,试验安排,下周一(4/23) 试验4 高级文件处理和重定向试验,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1