linux 输入输出重定向以及管道
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-03-28
输入/输出重定向,管道 1、标准输入:/dev/stdin(键盘), 描述符号是0 2、标准输出:/dev/stdout(屏幕), 描述符号是1 3、错误输出:/dev/stderr(错误消息输出到屏幕上),描述符号是2 COMMAND_OUTPUT > OUTPUT_FILENAME #重定向stdout到一个文件 #如果没有这个文件就创建一个,否则就覆盖原文件里面的内容 :> OUTPUTFILENAME #如果文件没有,就创建一个0长度的文件(==touch) #:是一个占位符,不产生任何输出 #>会把文件“FILENAME”截断为0长度 > FILENAME #>会把文件“FILENAME”截断为0长度 #如果文件没有,就创建一个0长度的文件(==touch) #(与上面的“:>”效果相同,但是在某些shell下可能不能工作) 如图所示 COMMAND [options] > file.list #创建一个包含目录树列表的文件 如图所示: COMMAND_OUTPUT >> OUTPUT_FILENAME #重定向stdout到一个文件 #如果没有这个文件就创建一个,否则就追加到文件后边 如图所示: 1>filename #重定向stdout到文件filename中 1>>filename #重定向并且追加stadout到文件filename中 如图所示 2>filaname #重定向stderr到文件filename中 2>>filename #重定向并且追加staderr到文件filename中 如图所示 &>filename #把stdout和stderr都重定向到文件filename中 如图所示 2>&1 #重定向stderr到stdout #得到的错误的消息与stdout一样,发送到一个地方 如图所示: i>&j 拥有帝国一切,皆有可能。欢迎访问phome.net #重定向文件描述符i到j中 #指向i文件的所有的输出都发送到j中去 >&j #默认的重定向文件描述符1 #所有传递到stdout的传输都送到j中去 0<filename >filename #从文件中接受输入 #与“>”是成对命令 #eg:grep "mota" < filename [j]<>filename #为了读写filename,把文件filename打开,并分配文件描述符“j”给他 #如果文件filename不存在,就创建他 #如果文件描述符“j”没指定,默认是fd 0,stdin. #这种应用通常是为了写到一个文件指定的地方 下面看一个脚本: 这个实验 就是在指定的字符串的指定位置添加一个指定的符号,实验结果如下图所示 关闭文件描述符 n<&- 关闭输入文件描述符n 0<&-或<&— 关闭stdin n>&- 关闭输出文件描述符n 1>&- 或>&- 关闭stdout 自定义输出重定向: 自定义重定向符号:>& exec 3~9 filename #定义n为自定义的重定向文件 COMMAND >&3 #输出到自定义重定向文件中 exec 3>&- #撤销自定义 管道:用于连接多个命令,把前一个命令的输出结果当作第二个命令的输入结果 COMMAND1 | COMMAND2 | COMMAND3 eg: echo "123456" | passwd --stdin user 本文出自 “IT梦-齐-分享” 博客,请务必保留此出处http://roqi410.blog.51cto.com/2186161/620917 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Linux使用中常见问题下一篇: dns视图
关于linux 输入输出重定向以及管道的所有评论