三个标准文件描述符:
1. stdin 0 - Standard input to the program. 2. stdout 1 - Standard output from the program. 3. stderr 2 - Standard error output from the program.
目的 | 命令 |
---|---|
将 std 输出重定向到文件名 | > filename or 1> filename |
将标准输出附加到文件名 | >> filename |
将 std out 和 std err 附加到文件名 | >> filename 2> & 1 or 1>> filename 2> & 1 |
从文件名中获取输入 | < filename or 0 & filename |
将 std 错误重定向到文件名 | 2> filename |
将标准输出和标准错误重定向到文件名 | 1> filename 2> & 1 or > filename 2> & 1 |
使用 I/O 重定向的一些示例
# cat goodfile badfile 1> output 2> errors
此命令将正常输出(goodfile 的内容)重定向到文件输出,并将任何错误(例如,关于 badfile 不存在)发送到文件错误。
# mail user_id < textfile 2> errors
此命令将 mail 命令的输入重定向为来自文件 textfile 并且任何错误都重定向到文件错误。
# find / -name xyz -print 1> abc 2>&1
此命令将正常输出重定向到文件 abc。
构造“2>&1”表示“将错误输出发送到我们引导正常输出的同一个地方”。
# ( grep Bob filex > out ) 2> err
grep 命令的任何输出都被发送到文件 out 并且任何错误被发送到文件 err。
# find . -name xyz -print 2>/dev/null
这会运行 find 命令,但会将任何错误输出(例如由于无法访问的目录)发送到 /dev/null。
小心使用,除非错误输出确实无关紧要。
日期:2020-09-17 00:14:48 来源:oir作者:oir