1. 程式人生 > >IO重定向及管道

IO重定向及管道

也有 禁止 特殊 set 管道 init pat echo $? 可用

程序:指令+數據 程序也有IO

可用輸入的設備:文件
    鍵盤設備,文件相同上的常規文件,網卡等
可用於輸出的設備:文件
    顯示器,文件相同上的常規文件,網卡等

程序的數據流有三種:
        輸入的數據流:<--標準輸入,鍵盤;
        輸出的數據流:-->標準輸出,顯示器;
        錯誤輸出流:-->錯誤輸出,顯示器;

fd:文件描述符
    標準輸入:0
    標準輸出:1
    錯誤輸出:2

IO重定向:          >大於號 <小於號
    輸出重定向:>
        特性:覆蓋輸出
    輸出重定向:>>
        特性:追加輸出

~]# set -C 
    禁止覆蓋輸出重定向至已存在的文件;
    此時可使用強制覆蓋輸出:>|
~]#set +c
    關閉上述特性

錯誤輸出流重定向:2>, 2>>

合並正常輸出流和錯誤輸出流:
(1)&> , &>>
(2) COMMAND > /path/to/somefile 2>&1
COMMAND >> /path/to/somefile 2>&1

特殊設備:/dev/null
~]# ls /var/ &> /dev/null
~]# echo $?
0
~]# ls /vard/ &> /dev/null
~]# echo $?
2

輸入重定向:<

實例:
~]# cat /etc/fstab &> /tmp/fstad.out 2>&1
~]# cat /etc/fstab3 &>> /tmp/fstad.out 2>&1

~]# cat /etc/rc.d/init.d/functions2 > /tmp/function.out 2>&1

~]# cat /etc/rc.d/init.d/functions2 >> /tmp/function.out 2>&1

~]# cat /etc/passwd | tee /tmp/issue.tee | tr ‘a-z‘ ‘A-Z‘ | tr -d ‘0-9‘

IO重定向及管道