标准输入重定向(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):默认输出到屏幕。