CentOS 輸入輸出重定向


標准輸入重定向(STDIN,文件描述符為 0):默認從鍵盤輸入,也可從其他文件或命令中輸入。(文件描述符可以省略)

標准輸出重定向(STDOUT,文件描述符為 1):默認輸出到屏幕。(文件描述符可以省略)

錯誤輸出重定向(STDERR,文件描述符為 2):默認輸出到屏幕。(文件描述符不可省略)

輸入重定向:
命令 < 文件  將文件作為命令的標准輸入
命令 << 分隔符  從標准輸入中讀入,直到遇見分隔符才停止
命令 < A1 > A2  將文件A1作為命令的標准輸入並將標准輸出到文件A2
輸出重定向:
命令 > 文件  將標准輸出重定向到一個文件中(清空原有文件的數據)
命令 2> 文件  將錯誤輸出重定向到一個文件中(清空原有文件的數據)
命令 >> 文件  將標准輸出重定向到一個文件中(追加到原有內容的后面)
命令 2>> 文件  將錯誤輸出重定向到一個文件中(追加到原有內容的后面)
命令 >> 文件 2>&1 或 命令 &>> 文件 將標准輸出與錯誤輸出共同寫入到文件中(追加到原有內容的后面)

用例:

錯誤信息依然顯示
[es@bigdata-senior01 ~]$ find /opt -name "elastic*.yml" > 1.txt find: ‘/opt/modules/hadoop-3.1.0/logs/userlogs/application_1527345950418_0001_DEL_1527434392341’: 權限不夠 find: ‘/opt/data/tmp/dfs/data’: 權限不夠 find: ‘/opt/data/tmp/nm-local-dir/usercache_DEL_1527434391968/root’: 權限不夠 find: ‘/opt/data/tmp/nm-local-dir/nmPrivate’: 權限不夠 find: ‘/opt/data/tmp/nm-local-dir/usercache/hadoop’: 權限不夠 [es@bigdata-senior01 ~]$ cat 1.txt /opt/elasticsearch-6.5.1/config/elasticsearch.yml
只把錯誤信息定向到2.txt里,正確信息沒有
[es@bigdata-senior01 ~]$ find /opt -name "elastic*.yml" 2> 2.txt
/opt/elasticsearch-6.5.1/config/elasticsearch.yml
[es@bigdata-senior01 ~]$ cat 2.txt
find: ‘/opt/modules/hadoop-3.1.0/logs/userlogs/application_1527345950418_0001_DEL_1527434392341’: 權限不夠
find: ‘/opt/data/tmp/dfs/data’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/usercache_DEL_1527434391968/root’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/nmPrivate’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/usercache/hadoop’: 權限不夠
所有信息都定向到3.txt
[es@bigdata-senior01 ~]$ find /opt -name "elastic*.yml" &> 3.txt
[es@bigdata-senior01 ~]$ cat 3.txt
find: ‘/opt/modules/hadoop-3.1.0/logs/userlogs/application_1527345950418_0001_DEL_1527434392341’: 權限不夠
find: ‘/opt/data/tmp/dfs/data’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/usercache_DEL_1527434391968/root’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/nmPrivate’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/usercache/hadoop’: 權限不夠
/opt/elasticsearch-6.5.1/config/elasticsearch.yml
輸入重定向:
兩個語句效果一致
[es@bigdata-senior01 ~]$ wc < /opt/elasticsearch-6.5.1/config/elasticsearch.yml
 108  420 3761
[es@bigdata-senior01 ~]$ wc  /opt/elasticsearch-6.5.1/config/elasticsearch.yml
 108  420 3761 /opt/elasticsearch-6.5.1/config/elasticsearch.yml

 

➢ 標准輸入重定向(STDIN,文件描述符為 0):默認從鍵盤輸入,也可從其他文件或命
令中輸入。
➢ 標准輸出重定向(STDOUT,文件描述符為 1):默認輸出到屏幕。
➢ 錯誤輸出重定向(STDERR,文件描述符為 2):默認輸出到屏幕。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM