I (input) 输入
O (output) 输出
程序:指令 + 数据
打开的文件都有 fd :(file descripfor)文件描述符
标准输入 (STDIN) -0 默认输入是键盘
标准输出 (STDOUT) -1 默认输出是终端窗口
标准错误 (STDERR) -2 默认错误是终端窗口
标准输出 ls 1> /data/ls.out (假如没有ls.out,就先创建ls.out)(1也可以省略不写)
标准错误 用一个不存在的命令 cmd > /data/ls.out
错误命令直接显示到终端窗口
分别重定向 (用不存在的命令和一个真命令) ls /eeror /data >f1 2>f2
分别吧正确的定向到 f1 错误定向到f2里面
也可以追加 用>> ls /eeror /data >>f1 2>>f2 显示2遍内容
也可以把错的和对的放在一个文件中 ls /error /data >all.log 3 2>&1
也可以写成 ls /error /data &>all.log3
把标准输出和标准错误重新定向到文件中
(STDOUT)标准输出和(STDERR)标准错误可以被重定向到文件中
命令 + 操作符 + 文件名
> : 把标准输出重定向到文件
2>: 把标准错误重定向到文件
&>:把所有的输出定向到文件
“>” 文件内容会被覆盖
set -C 禁止将内容覆盖已有的文件,但可以追加
>| 强制覆盖
set +C 允许覆盖
>> 在原有的基础上追加内容
多命令的重定向 ls >all.log3 pwd >>all.log3
也可以(ls;pwd) >all.log3 和上面显示的是一样的
>>f1 创建新文件,但不会覆盖,它是追加
>f1 和 touch f1 创建已有的文件会改变创建的时间
标准输入命令(STDIN)
< 把标准输入重定向到文件
cat 即有标准输出也有标准输入
把输出和错误重新定向到文件
2> 覆盖错误重定向输出流数据
2>>追加错误重定向输出流数据
合并标准输出和错误输出为同一个数据流进行重定向
&> 覆盖重定向
&>> 追加重定向
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95913