標准輸入重定向(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):默認輸出到屏幕。