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):默认输出到屏幕。

原文地址:https://www.cnblogs.com/asker009/p/10238027.html