《 輸入與輸出 》重定向
? ? ? ? 1. 輸出重定向,改變輸出內容的位置。輸出重定向有如下幾種方式,如下:
? ? ? ? ? ? ? ? ? 類型? ? ? ? ? ? ? ? ? ? 操作符? ? ? ? ? ? ? ? ? ? 用途
? ? ? ? 標準覆蓋輸出重定向? ? ? ? ? ? >? ? ? ? ? ? ? ? 將程序輸出的正確結果輸出到指定文件中 會覆蓋文件原有的內容
? ? ? ? 標準追加輸出重定向? ? ? ? ? ? >>? ? ? ? ? ? ? 將程序輸出的正確結果以追加的方式輸出到指定文件 不會覆蓋原有的文件
? ? ? ? 錯誤覆蓋輸出重定向? ? ? ? ? ? 2>? ? ? ? ? ? ? ? 將程序錯誤的結果輸出到執行的文件中 會覆蓋原有的文件
? ? ? ? 錯誤追加輸出重定向? ? ? ? ? ? 2<<? ? ? ? ? ? ? 將程序輸出錯誤結果以追加的方式輸出到指定文件 不會覆蓋原有文件
? ? ? ? 標準輸入重新定向? ? ? ? ? ? ? ? <<? ? ? ? ? ? ? ? 將命令中接收輸入的路徑由默認的鍵盤更改為指定的文件或命令
? ? ? ? 2. 標準輸出重定向 先清空 后寫入 如果文件不存在則創建
? ? ? ? ? ? ? ? ? 例如:ifconfig 查看網卡? 把網卡信息不在桌面顯示
? ? ? ? ? ? ? ? ? ? 則:ifconfig > ameng.txt 把輸出信息存在ameng.txt文件中
? ? ? ? 3. 標準追加輸出重定向 向配置文件末尾追加內容? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? 例如: echo "123" >> am.txt
? ? ? ? ? ? ? ? ? ? 則: 把數字123寫入到ameng.txt的文件里 并不在桌面顯示輸出信息
? ? ? ? 4. 錯誤的信息輸出重定向? ?
? ? ? ? ? ? ? ? ? 例如: find? /etc/? 2>>am.txt
? ? ? ? ? ? ? ? ? ? 則:把 find? /etc/ 錯誤信息保存到am.txt文件里
? ? ? ? ? 5. 合并兩個文件內容至一個文件
? ? ? ? ? ? ? ? ? 例如:echo "abc" >1.txt? ? #將abc寫入 1.txt
? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "eee" >2.txt? ? #將abc寫入 2.txt
? ? ? ? ? ? ? ? ? ? ? ? ? ? cat 1.txt 2.txt? ? ? ? ? ? #查看 1.txt與2.txt的文件內容
? ? ? ? ? ? ? ? ? ? ? ? ? ? cat 1.txt 2.txt? > 3.txt? ? #將1.txt與2.txt 寫入3.txt
? ? ? ? ? 6. 正確和錯誤都輸入到相同位置
? ? ? ? ? ? ? ? ? 例如:ls /root/ /errou? ? ? # ls /root/正確命令 /errou 錯誤命令
? ? ? ? ? ? ? ? ? ? ? ? ? ? ls /root/ /errou >> 8.txt 2>&1? ? #將正確與錯誤的信息全部保存至8.txt文件內
? ? ? ? ? 7. 重定向到空設備 /dev/null
? ? ? ? ? ? ? ? ? 例如:ll /root/ /errror? 2>/dev/null
? ? ? ? ? ? ? ? ? ? 則:把正確的輸出桌面 錯誤的 /dev/null
? ? ? ? ? ? ? ? ? 例如:ll /root/ /errror 1>amm.txt 2>/dev/null
? ? ? ? ? ? ? ? ? ? 則:把正確的輸出到amm.txt 錯誤的 /dev/null