管道命令与重定向_第1页
管道命令与重定向_第2页
管道命令与重定向_第3页
管道命令与重定向_第4页
管道命令与重定向_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

管道命令(pipe)使用及与重定向区别

管道命令使用说明:

command1正确输出,作为command2的输入然后comand2的输出作为,comand3的输入,comand3输出就会直接显示在屏幕上面了。通过管道之后:comand1,comand2的正确输出不显示在屏幕上面注意:

1、管道命令只处理前一个命令正确输出,不处理错误输出2、管道命令右边命令,必须能够接收标准输入流命令才行。实例:[chengmo@centos5shell]$cattest.sh|grep-n'echo'5:

echo"verygood!";7:

echo"good!";9:

echo"pass!";11:

echo"nopass!";#读出test.sh文件内容,通过管道转发给grep作为输入内容

[chengmo@centos5shell]$cattest.shtest1.sh|grep-n'echo'cat:test1.sh:没有那个文件或目录5:

echo"verygood!";7:

echo"good!";9:

echo"pass!";11:

echo"nopass!";#cattest1.sh不存在,错误输出打印到屏幕,正确输出通过管道发送给grep[chengmo@centos5shell]$cattest.shtest1.sh2>/dev/null|grep-n'echo'

5:

echo"verygood!";7:

echo"good!";9:

echo"pass!";11:

echo"nopass!";#将test1.sh没有找到错误输出重定向输出给/dev/null文件,正确输出通过管道发送给grep

[chengmo@centos5shell]$cattest.sh|lscatfile

httprequest.txt

secure

test

testfdread.sh

testpipe.sh

testsh.sh

testwhile2.shenvcron.txt

python

sh

testcase.sh

testfor2.sh

testselect.sh

test.txt

text.txtenv.txt

release

sms

testcronenv.sh

testfor.sh

test.sh

testwhile1.sh#读取test.sh内容,通过管道发送给ls命令,由于ls不支持标准输入,因此数据被丢弃标准输入,输出和错误

---------------------------------

文件文件

描述符

---------------------------------

输入文件—标准输入

0

输出文件—标准输出

1

错误输出文件—标准错误

2

---------------------------------command>filename把标准输出重定向到一个新文件中

command>>filename把标准输出重定向到一个文件中(追加)

command1>fielname把标准输出重定向到一个文件中

command>filename2>&1把标准输出和标准错误一起重定向到一个文件中

command2>filename把标准错误重定向到一个文件中

command2>>filename把标准输出重定向到一个文件中(追加)

command>>filename2>&1把标准输出和标准错误一起重定向到一个文件中(追加)

command<filename>filename2把command命令以filename文件作为标准输入,以filename2文件作为标准输出

command<filename把command命令以filename文件作为标准输入

command<<delimiter把从标准输入中读入,直至遇到delimiter分界符

command<&m把文件描述符m作为标准输入

command>&m把标准输出重定向到文件描述符m中

command<&-把关闭标准输入管道命令与重定向区别:区别是:1、左边的命令应该有标准输出|右边的命令应该接受标准输入

左边的命令应该有标准输出>右边只能是文件

左边的命令应该需要标准输入<右边只能是文件

2、管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行[chengmo@centos5shell]$cattest.sh|grep-n'echo'5:

echo"verygood!";7:

echo"good!";9:

echo"pass!";11:

echo"nopass!";#"|"管道两边都必须是shell命令[chengmo@centos5shell]$grep-n'echo'<test.sh

5:

echo"verygood!";7:

echo"good!";9:

echo"pass!";11:

echo"nopass!";#"重定向"符号,右边只能是文件(普通文件,文件描述符,文件设备)

[chengmo@centos5shell]$lstest.shtest1.shtestsh.sh2>err.txt|grep'test'test.shtestsh.sh#目录下面有:test,testsh文件,test1.sh不存在,因此将ls命令错误输出输入到err.txt正确输出,还会通过管道发送到grep命令。[chengmo@centos5shell]$lstest.shtest1.shtestsh.sh&>err.txt|gre

温馨提示

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

评论

0/150

提交评论