《复重定向与管道》PPT课件
《《复重定向与管道》PPT课件》由会员分享,可在线阅读,更多相关《《复重定向与管道》PPT课件(17页珍藏版)》请在装配图网上搜索。
1、重定向和管道,薛卫,2,Unix设计准则,每个程序只完成一件事情 当需要新的工具时,最好是对现有工具进行组合,长长的Dmesg输出,3,Unix准则的得失,相似的工具很多 工具功能满足不了需求 基于文本的工具无法处理多媒体,4,1、在Unix系统下需要编译一个比较大的程序,估计要20分钟。在编译过程中可能会出现一些警告或者错误信息。系统工程师不可能这二十分钟都盯着 屏幕看。为此系统工程师希望shell能够把这这些编译过程中出现的警告或者错误信息能够保存在一个文件中,以供系统工程师或者程序开发人员后续查询所 用。 2、在开发程序的时,有时候是根据代码的行数来收费的,在Unix系统中开发应用程序也
2、是如此。为此系统工程师也希望能够有工具能够方便的来统计某个程序文件的行数。 3、有时候系统管理员可能希望能够把几个文本文件合并起来。虽然通过复制、粘贴可以实现类似的功能。但是当需要被合并的文件比较多的时候,通过赋值粘贴来实现合并的目的,并不是很好的处理方法。等等。,5,重定向输出,用符号将命令输出写到文件 Dmesg file(覆盖式) 防止覆盖 set o noclobber (设置) set +o noclobber (取消) 强制覆盖 Dmesg |file Dmesg file(追加式),6,重定向输入,使用 report,7,文件描述符、标准错误,Unix中每个输入、输出源都由一个数
3、字描述文件描述符。 三种系统文件描述符:0(输入)、1(输出)、2(错误) 标准的重定向格式: command 文件描述符 定向符 filename n 原来是输出到文件描述符 n,被重定向到文件filename。 以输入为例 sort 0rawdata sort rawdata 两者效用一样,P316,8,Sort 2errors Sort 0results 2 errors,9,组合标准输出、错误,语法: Command x outfile y&x 将一种类型的输出重定向到一个文件,然后再将另一种类型的输出重定向到同一位置。 执行顺序:自左向右 Sort 1output 2&1 Sort
4、2&1 1output,10,组合标准输出、错误,11,抛弃输出,有时候可能想要完全忽略标准输出或标准错误,可以使用 /dev/null 忽略输出 Ls /dev/null,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并未被清除,因此仍
5、将在屏幕 中显示出来;第二条命令无输出,因为当stdout重定向至/dev/null后,stderr又重定向到了stdout,这样stderr也被输出到了 /dev/null。,13,管道线,一个程序的标准输出可以自动发往另外一个程序的标准输入 Cat file1 file2 | sort Cal 2008 | less,使用无效,14,管道线分流,输入保存并输出 管道线分流命令: tee -a file 例: Cat file1 file2 | sort 1、Cat file1 file2 | tee d1 | sort 2、Cat file1 file2 | tee d1 d2 | sor
6、t 3、Cat file1 file2 | tee -a d1 | sort,d1末尾追加文件,15,管道和重定向区别,左边的命令应该有标准输出 | 右边的命令应该接受标准输入左边的命令应该有标准输出 右边只能是文件左边的命令应该需要标准输入 右边只能是文件,16,条件执行,前一条命令成功执行的条件下执行另一条命令 语法:command1 & command2 grep root a & sort a contact 前一条命令失败时执行另一条命令 语法:command1 | command2,17,重定向符号,重置I/O及错误 2&1重定向错误输出 n 将输出从文件描述符 n 重定向到文件。,P323表,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。