I/O重定向及管道

打开的文件都有一个fd:file descriptor (文件描述符)
标准输入:keyborad,0
标准输出:monitor,1
标准错误输出:monitor,2

I/O重定向:改变标准位置
输出重定向:COMMAND > NEW_POS , COMMAND >> NEW_POS

:覆盖重定向,目标文件中的原有文件内容会被清除
>:追加重定向,新内容会追加至目标文件尾部
set -C :禁止将内容覆盖输出至已有文件
| :强制覆盖
set+C:撤销

        2>:覆盖重定向错误输出数据流(命令执行失败,或命令不存在)
        2>>:追加重定向错误输出流数据

        标准输出和错误输出各自定向至不同的位置:
            COMMAND > /path/to/file.out 2> /path/to/error.out
    合并标准输出和错误输出为同一个数据流进行重定向
        &>:覆盖重定向
        &>>:追加重定向

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

    输入重定向: <
        tr命令:转换或删除字符
            tr -d  abc :删除数据中的abc
            tr ab AB < /etc/fstab  将/etc/fstab文件中a变成A,b变成B, 输出到屏幕上

    HERE Documentation:<< 
                # cat << EOF
                                    >EOF终止
                # cat > /path/to/somefile  <<EOF

管道: |
            把前一个命令的输出结果当后一个命令的输入
        tee命令:
            将结果打到屏幕上,并保存至文件中

猜你喜欢

转载自blog.51cto.com/12950413/2140255