欢迎来到天天文库
浏览记录
ID:48564292
大小:214.50 KB
页数:23页
时间:2020-01-23
《UNIX课件八:重定向.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七章重定向与管道重定向与管道标准文件概述输入与输出重定向标准错误重定向UNIX管道标准文件标准文件shell为每个命令打开三个文件(流),用于读取输入——标准输入——键盘输出结果——标准输出——显示屏(控制台)输出错误消息——标准错误——显示屏(控制台)当shell发现命令行中存在特殊字符(<,>,
2、)时,shell就把流从它的默认设备上断开,连接到磁盘文件或另一个命令。重定向与管道标准文件概述输入与输出重定向标准错误重定向管道1、输入重定向当命令后不带任何参数时,它从标准输入文件中读取数据。
3、该文件可以代表三个输入源:键盘,默认输入源文件,要用<重定向符其他命令,要用
4、(管道符)例子:wc不带参数时,也没有和<或
5、特殊字符连接时,wc就从默认设备(键盘)获取输入#wchello,howareyou?I’mfine.[ctrl+d]1、输入重定向语法command6、cat命令从标准输入读取数据,标准输入已经由shell重定向到tmp文件#wctmp:wc命令打开tmp文件,读取数据显示到屏幕上。1、输入重定向!注意:当标准输入重定向到一个文件时(用<),shell打开此文件,而命令不会知道shell为他的输入所做的一切。但是如果命令后面跟一个文件名作为参数,则由命令自己打开文件,shell不管此文件的打开。同时从文件和标准输入读取数据必须用“-”符号如:cataa-bb//cat先打开aa,显示,然后从标准输入读数据,ctrl+d,打开bb,显示。#cat7、或>>重定向来自于另一个命令的输入,用管道符8、说明:>>是在文件末尾添加2、输出重定向语法:command>outputfile语义:将命令command的输出发送到文件outputfile,而不是屏幕例#date#date>apple//当shell扫描到>符号时,创建一个新文件apple为写入做准9、备;然后shell断开标准输出文件的默认目标设备,并连接到apple文件;date把结果写入到已重定向到apple文件的标准输出。!不要覆盖文件:重定向输出到一个文件时要小心,确信文件名不存在,否则将被覆盖!3、带文件描述符的重定向三个标准文件都对应一个称为文件描述符的数字代码。当文件打开进行读写操作则需要用到文件描述符。标准文件描述符:0:标准输入1:标准输出2:标准错误重定向与文件描述符使用可以显式说明重定向<等价于0<>等价于1>,表示输出重定向如:cataa1>bb与cataa>bb一样10、的意思2>,显式指定错误重定向重定向与管道标准文件概述输入与输出重定向标准错误重定向UNIX管道1、标准错误重定向标准错误重定向command2>error-file命令的错误信息与普通返回区分标准错误重定向将错误信息单独输出例#catfoocat:foo:nosuchfileordirectory#catfoo>errorcat:foo:nosuchfileordirectory//可见,错误信息并没有保存到error文件#catfoo2>error#caterror2、重定向标准输出与标准错11、误标准输出与标准错误可以重定向到同一个文件中#ls/etc>res.log2>res.log很多时候需要分开#ls/etc1>res.log2>err.log3.连接标准输入和标准输出的过滤器unix命令分为四种:既不需要标准输入,也不需要标准输出的命令:如mkdir,cd,cp,mv不从标准输入读取数据,但把结果写入到标准输出,如:ls,pwd,who从标准输入读取数据,但不把结果写入到标准输出,如:lp既从标准输入读取数据,也使用标准输出,如:cat,wc,od,gzip。这一类UNIX中称12、为过滤器。由于过滤器具有双重流处理功能,因此他们是功能强大的文本处理器,可以极大提高性能。实例例:从文件input得到标准输入,并发送输出到result文件,可以使用下列任意命令:#cat>resultresult#cat>resultresultcc#cataa>>bb#
6、cat命令从标准输入读取数据,标准输入已经由shell重定向到tmp文件#wctmp:wc命令打开tmp文件,读取数据显示到屏幕上。1、输入重定向!注意:当标准输入重定向到一个文件时(用<),shell打开此文件,而命令不会知道shell为他的输入所做的一切。但是如果命令后面跟一个文件名作为参数,则由命令自己打开文件,shell不管此文件的打开。同时从文件和标准输入读取数据必须用“-”符号如:cataa-bb//cat先打开aa,显示,然后从标准输入读数据,ctrl+d,打开bb,显示。#cat
7、或>>重定向来自于另一个命令的输入,用管道符
8、说明:>>是在文件末尾添加2、输出重定向语法:command>outputfile语义:将命令command的输出发送到文件outputfile,而不是屏幕例#date#date>apple//当shell扫描到>符号时,创建一个新文件apple为写入做准
9、备;然后shell断开标准输出文件的默认目标设备,并连接到apple文件;date把结果写入到已重定向到apple文件的标准输出。!不要覆盖文件:重定向输出到一个文件时要小心,确信文件名不存在,否则将被覆盖!3、带文件描述符的重定向三个标准文件都对应一个称为文件描述符的数字代码。当文件打开进行读写操作则需要用到文件描述符。标准文件描述符:0:标准输入1:标准输出2:标准错误重定向与文件描述符使用可以显式说明重定向<等价于0<>等价于1>,表示输出重定向如:cataa1>bb与cataa>bb一样
10、的意思2>,显式指定错误重定向重定向与管道标准文件概述输入与输出重定向标准错误重定向UNIX管道1、标准错误重定向标准错误重定向command2>error-file命令的错误信息与普通返回区分标准错误重定向将错误信息单独输出例#catfoocat:foo:nosuchfileordirectory#catfoo>errorcat:foo:nosuchfileordirectory//可见,错误信息并没有保存到error文件#catfoo2>error#caterror2、重定向标准输出与标准错
11、误标准输出与标准错误可以重定向到同一个文件中#ls/etc>res.log2>res.log很多时候需要分开#ls/etc1>res.log2>err.log3.连接标准输入和标准输出的过滤器unix命令分为四种:既不需要标准输入,也不需要标准输出的命令:如mkdir,cd,cp,mv不从标准输入读取数据,但把结果写入到标准输出,如:ls,pwd,who从标准输入读取数据,但不把结果写入到标准输出,如:lp既从标准输入读取数据,也使用标准输出,如:cat,wc,od,gzip。这一类UNIX中称
12、为过滤器。由于过滤器具有双重流处理功能,因此他们是功能强大的文本处理器,可以极大提高性能。实例例:从文件input得到标准输入,并发送输出到result文件,可以使用下列任意命令:#cat>resultresult#cat>resultresultcc#cataa>>bb#
此文档下载收益归作者所有