码迷,mamicode.com
首页 > 其他好文 > 详细

bash的I/O 重定向和管道

时间:2016-07-31 16:08:30      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:linux   显示器   程序   管道   定向   


一、标准输入和输出

     1.程序:指令加数据 或者说:数据结构加算法

      2.读入数据:Input

       输出数据:Output

      3.文件描述符 fd

          在Linux中一切皆文件,因此我们要通过文件来对设备进行访问,对于用户来说,访问文件就是通过文件名来进行的,用户看到的是一个文件名,但对于内核来讲是一个数字,这个数字叫文件描述符,内核就是通过文件描述符来访问文件

     4.Linux给程序提供三种I/O设备

          标准输入(STDIN):0    键盘  (默认来自键盘输入)

          标准输出(STDOUT);1   显示器(默认来自终端窗口

          标准错误(STDERR):2  显示器 (默认来自终端窗口

  技术分享


二、I/O重定向:改变默认位置

     1.输出重定向   

          格式:COMMAND > NEW_POS  COMMAND >> NEW_POS

        > :覆盖重定向,目标文件汇总的原有内容会被清除

          >> : 追加重定向,新内容会追加至目标文件尾部

     

    (1)重定向内容到指定终端

技术分享

    (2)覆盖重定向至文件中

技术分享

   (3)追加重定向到文件中

技术分享


     2.错误输出重定向

         2> :覆盖重定向错误输出流

         2>> :追加重定向错误输出数据流

技术分享


     3.标准输出和错误输出各自定向至不同位置

         COMMAND > /path/to/somfile 2> /path/to/err.out

技术分享


     4.合并标准输出和错误输出为同一个数据流进行重定向

       &> :覆盖重定向

         &>> :追加覆盖重定向   

       或:

        COMMAND > /path/to/file.out 2>&1 (顺序很重要)

        COMMAND >> /path/to/file.out 2>>&1

技术分享


     5.# set -C 禁止将内容覆盖已有文件但可以追加

             如果需要强制覆盖,则使用:>|

      # set +C 允许覆盖

技术分享


     6.():合并多个程序的STDOUT

        (cal2007;cal2008) > all.txt

技术分享


bash的I/O 重定向和管道

标签:linux   显示器   程序   管道   定向   

原文地址:http://1992tao.blog.51cto.com/11606804/1832295

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!