I\O重定向及管道

1.程序的数据流有三种:
                输入的数据流;<-- 标准输入(stdin),键盘;
                输出的数据流:--> 标准输出(stdout),显示器;
                错误输出流:  --> 错误输出(stderr),显示器;

2.fd: file descriptor,文件描述符,是动态的;打开文件后会分配一个临时文件描述符;每个运行的进程都会对其打开的文件都会分配以下这三个临时文件描述符,用一个整数表示,对每个程序而言打开的文件都会有这三个数据流;        
        stdin:0
        stdout:1
        stderr:2

3.IO重定向:
                   1.输出重定向:>
                            特性:覆盖输出
                      输出重定向:>>
                            特性:追加输出
                    注:# set -C,禁止覆盖输出重定向至已存在的文件;此时可使用强制覆盖输出:>|
                           # set +C,关闭上述特性
                    错误输出流重定向:2>, 2>>
                    合并正常输出流和错误输出流的两种方式:
                               (1) &>, &>>
                               (2) COMMAND > /path/to/somefile 2>&1
                                    COMMAND >> /path/to/somefile 2>&1
                     2.输入重定向:<
                                COMMAND < /PATH/FROM/SOMEFILE
                                
                      
                                          

猜你喜欢

转载自blog.csdn.net/weixin_39924535/article/details/84862379