字符界面进阶重定向和管道_第1页
字符界面进阶重定向和管道_第2页
字符界面进阶重定向和管道_第3页
字符界面进阶重定向和管道_第4页
字符界面进阶重定向和管道_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

字符界面进阶重定向和管道第一页,共十五页,2022年,8月28日本章目标学习使用linux流、管道、重定向.第二页,共十五页,2022年,8月28日Linux数据流标准的I/Ostdin 标准输入,命令的默认输入位置stdout 标准输出,命令的默认输出位置stderr 标准的错误输出,命令的另一个输出位置,用于输出错误和各种诊断信息这三种流可以想像成一个有3个元素的数组,stdin,stdout,stderr分别对应0,1,2第三页,共十五页,2022年,8月28日Linux数据流StandardI/Ostdin就是从键盘输入的字符标准的输出会显示在终端屏幕上标准的错误输出也会显示在终端屏幕上第四页,共十五页,2022年,8月28日重定向——改变默认的数据流位置重定向可以改变一个命令的标准输入或输出,使输出的结果不显示在终端屏幕上,而是存入文件中标准输出重定向:在命令的末尾添加:>filenameeg:#ls–a>~/data特点:实际执行命令前,命令解释程序(shell)会自动打开(如果文件不存在则自动创建)且清空文件内容(文件中已有数据将被删除)。Cat的特殊用法(新建并编辑文件):cat>file1hello!

^d第五页,共十五页,2022年,8月28日重定向——改变默认的数据流位置重定向Stderr也是显示到终端,但他和stdout是不同的流,当重定向stdout后,stderr仍输出到终端可以通过2>filename来重定向stderr流Eg:#rmmydir/2>errs可以把错误信息重定向到errs文件中。&>将把错误信息及标准信息重定向到一个文件中第六页,共十五页,2022年,8月28日重定向Redirection/dev/null空设备/dev/null,作为输入时仅产生一个文件结束符(nodata),做为输出时,丢弃所有数据空设备的一个典型用法就是丢弃从greporfind等命令送来的错误信息.$grep“delegate”/etc/*2>/dev/null我们可以只在屏幕上看到有用的输出。第七页,共十五页,2022年,8月28日重定向Redirection输入重定向标准输入流也可以重定向到文件而不是键盘从一个文件重定向标准输入允许事先输入所有要求输入的信息,检查并更正错误,同时还可以重复利用这些信息,对于较长的输入比较有利。重定向标准输入的方法:<filename追加重定向正常重定向会删除文件内容,如果我们想添加内容到其后面。>>filename对于stderr,2>>filename第八页,共十五页,2022年,8月28日管道命令命令简单命令$date复杂命令$ls–l/who为命令,am和i为参数复合命令$date;ls–l/每条命令按顺序执行管道符|;一条命令的结束,另一条命令的开始第九页,共十五页,2022年,8月28日PipesandFilters管道和过滤器管道允许一系列进程的输入输出流连接在一起,而将这些命令连接成为管道管道可以连接2个以上命令,通过过滤器服务程序,多级管道在linux中是非常常见的过滤程序应用于管道,从而实现对管道的过滤第十页,共十五页,2022年,8月28日管道命令Pipes管道如果用户希望通过一个命令来处理另一个命令的输出,可以通过重定向来完成。先重定向到一个临时文件,再把临时文件做为另一命令的输入。who命令显示当前系统已登录用户信息wc统计文件中的单词、行和字符,-w–l–c可看单词、行、字符的数目

$wc–wfilename把这2个命令用重定向的方法结合起来使用:$who>tmpfile$wc–l<tmpfile第十一页,共十五页,2022年,8月28日管道命令Pipes管道通过管道符|,我们就可以把以上命令写为一个$who|wc–l管道符告诉shell将左边的命令输出做为右边命令的输入管道是shell在命令执行前建立起来的过滤器只是一段程序,它从自己标准输入流读入数据,然后写到自己标准输出流中,这样就可以沿着管道过滤数据。第十二页,共十五页,2022年,8月28日管道示例:$who|grep“ttyp“|wc–l假设who命令显示信息中“ttyp”字段代表网络登录,那么就可以统计出当前系统中网络用户人数$who>tmpfile1统计当前登陆系统的用户信息(一行一名用户信息)$grep“ttyp”tmpfile1>tmpfile2刷选出文本中含有匹配字符的行$wc–l<tmpfile2统计行数第十三页,共十五页,2022年,8月28日管道命令Filterstee截获中间命令运行结果时,tee命令非常有用tee命令将管道的输出结果送到标准输出及指定文件中。$who|tee–atmpfile|grep”ttyp“|wc–l

把who的输出送到c文件中,-a代表添加模式,而非清空模式。第十四页,共十五页,2022年,8月28日作业请写出以下命令含义,然后已重定向方式实现同样的功能:$ls-l/usr/bin|more

$ls-l/usr/bin|wc–l

$ls-1/usr/bin|g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论