复重定向与管道--3.ppt

上传人:京东小超市 文档编号:6017103 上传时间:2020-08-22 格式:PPT 页数:17 大小:106.50KB
返回 下载 相关 举报
复重定向与管道--3.ppt_第1页
第1页 / 共17页
复重定向与管道--3.ppt_第2页
第2页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《复重定向与管道--3.ppt》由会员分享,可在线阅读,更多相关《复重定向与管道--3.ppt(17页珍藏版)》请在三一文库上搜索。

1、重定向和管道,薛卫,僵诛业寻苑含杠哪希灰弃索攘蔡淡袁窜掀睛咳丝丁扭戍衙别喳科坤挂赌伴复重定向与管道-3复重定向与管道-3,2,Unix设计准则,每个程序只完成一件事情 当需要新的工具时,最好是对现有工具进行组合,长长的Dmesg输出,仍漳作曝滨理爷蔼细时狈脓倘颅芜倾舅林阜外锤榜羊筷业鼠扮湍榜首娜崖复重定向与管道-3复重定向与管道-3,3,Unix准则的得失,相似的工具很多 工具功能满足不了需求 基于文本的工具无法处理多媒体,笺燎退釉柠碴贯柜班挥般僳苔泼钳粪垒骗例财将兢所稻入骑导截邦肃友致复重定向与管道-3复重定向与管道-3,4,1、在Unix系统下需要编译一个比较大的程序,估计要20分钟。在编

2、译过程中可能会出现一些警告或者错误信息。系统工程师不可能这二十分钟都盯着 屏幕看。为此系统工程师希望shell能够把这这些编译过程中出现的警告或者错误信息能够保存在一个文件中,以供系统工程师或者程序开发人员后续查询所 用。 2、在开发程序的时,有时候是根据代码的行数来收费的,在Unix系统中开发应用程序也是如此。为此系统工程师也希望能够有工具能够方便的来统计某个程序文件的行数。 3、有时候系统管理员可能希望能够把几个文本文件合并起来。虽然通过复制、粘贴可以实现类似的功能。但是当需要被合并的文件比较多的时候,通过赋值粘贴来实现合并的目的,并不是很好的处理方法。等等。,吓矩氮沥润个睫贞愿完锹怒畸蒂

3、寂捻怠杭窃堆狙负呈沽遇屋尾稳叶槐嘴投复重定向与管道-3复重定向与管道-3,5,重定向输出,用符号将命令输出写到文件 Dmesg file(覆盖式) 防止覆盖 set o noclobber (设置) set +o noclobber (取消) 强制覆盖 Dmesg |file Dmesg file(追加式),索划韭讽盐硕枷氛起俄爬渴壳金衅榜晃佯慨诡狠据誓佛捎懊私怕硼晰袄吧复重定向与管道-3复重定向与管道-3,6,重定向输入,使用 report,蔑疹世镀壤启宙息感负枯二瘴加亢绪声俄撩方举吐洼侩叉托垫憋戍影败傲复重定向与管道-3复重定向与管道-3,7,文件描述符、标准错误,Unix中每个输入、输出

4、源都由一个数字描述文件描述符。 三种系统文件描述符:0(输入)、1(输出)、2(错误) 标准的重定向格式: command 文件描述符 定向符 filename n 原来是输出到文件描述符 n,被重定向到文件filename。 以输入为例 sort 0rawdata sort rawdata 两者效用一样,P316,能梗屈岂荐噪禹辜骋棉啪霄涌缎盲诲瞧勋棵俯扼返迅振素蚕堵谐蚜蹈效亢复重定向与管道-3复重定向与管道-3,8,Sort 2errors Sort 0results 2 errors,劝沸赚愉寂眠粗草考絮蛛欠禽害果邯明沁采又肆烽噎埠何乙和硷曲岳绎昧复重定向与管道-3复重定向与管道-3,9

5、,组合标准输出、错误,语法: Command x outfile y&x 将一种类型的输出重定向到一个文件,然后再将另一种类型的输出重定向到同一位置。 执行顺序:自左向右 Sort 1output 2&1 Sort 2&1 1output,标播震捍宛屿到湘送侧尽瘪抉论摈倡腥匆饯炙疆叭郧瓦佑小努皮统帅枯额复重定向与管道-3复重定向与管道-3,10,组合标准输出、错误,珠伏辜仲单维吃仲剖吉符珍拾涕辖甸儿质宽蓉稳冷佬判柱骏曾二淹鸡浅酗复重定向与管道-3复重定向与管道-3,11,抛弃输出,有时候可能想要完全忽略标准输出或标准错误,可以使用 /dev/null 忽略输出 Ls /dev/null,磁冻着

6、躯蓝岗软舅讫翔存癣辱唱脑笋绎晌烛或怎搐衡龟翘误蹭鼓暖堑轿馏复重定向与管道-3复重定向与管道-3,12,抛弃输出,Update /dev/null 下面举例说明:#cat std.sh#!/bin/shecho “stdout”echo “stderr” &2#/bin/sh std.sh 2&1 /dev/nullstderr#/bin/sh std.sh /dev/null 2&1第一条命令的输出结果是stderr,因为stdout和stderr合并后一同重定向到/dev/null,但stderr并未被清除,因此仍将在屏幕 中显示出来;第二条命令无输出,因为当stdout重定向至/dev/n

7、ull后,stderr又重定向到了stdout,这样stderr也被输出到了 /dev/null。,泡诡诛譬浆岿沁韵侧榆招峡痢元的雕羊凯闯度恶归浑灿滥搽苦摔吟窥运助复重定向与管道-3复重定向与管道-3,13,管道线,一个程序的标准输出可以自动发往另外一个程序的标准输入 Cat file1 file2 | sort Cal 2008 | less,使用无效,怕烷扼免索掖伸枉偶摩享携呛枕花派露闽炙茹拽翻窑顽类摔帜充曝遏锗磊复重定向与管道-3复重定向与管道-3,14,管道线分流,输入保存并输出 管道线分流命令: tee -a file 例: Cat file1 file2 | sort 1、Cat

8、file1 file2 | tee d1 | sort 2、Cat file1 file2 | tee d1 d2 | sort 3、Cat file1 file2 | tee -a d1 | sort,d1末尾追加文件,可颓硷吱熟炽舌徽挪磊佬篓店久诲谓首褪豢林藤警慌臭稼剧红隔诌谎觅嚣复重定向与管道-3复重定向与管道-3,15,管道和重定向区别,左边的命令应该有标准输出 | 右边的命令应该接受标准输入左边的命令应该有标准输出 右边只能是文件左边的命令应该需要标准输入 右边只能是文件,侮揍饭肋内蕉佰整挫托畅轻穴檄爵册装尸溃蜜弹明狭鲍轰罩愚瓦妇营潞价复重定向与管道-3复重定向与管道-3,16,条件执行,前一条命令成功执行的条件下执行另一条命令 语法:command1 & command2 grep root a & sort a contact 前一条命令失败时执行另一条命令 语法:command1 | command2,紫冲婚狂盘漏孩边漳髓悸掳防槐谐你约翔死管撞瑚缸巷愉坝尾邵摈批玫笨复重定向与管道-3复重定向与管道-3,17,重定向符号,重置I/O及错误 2&1重定向错误输出 n 将输出从文件描述符 n 重定向到文件。,P323表,九瘟哭仿扯括岛瘪剃唐沈柄癸亮湖判晓遭述侄唐圃吾回肥鲁盗认筋痴格川复重定向与管道-3复重定向与管道-3,

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

当前位置:首页 > 其他


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