Linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字分别是0,1,2。
标准 | 数字 | 含义 |
STDIN | 0 | 标准输入,默认从键盘读取信息 |
STDOUT | 1 | 标准输出,默认将输出结果输出至终端 |
STDERR | 2 | 标准错误,默认将输出错误输出至终端 |
STDOUT与STDERR都会默认显示在终端上, 数字1和2用于区分二者信息
为什么要重定向?
由上表可以看出,三种标准流都有默认的输入或输出设备。然而在实际工作中,输入信息或输出信息需要来自或输出到指定的源(文件),此时需要将标准输入或输出重定向。
wc -l < test.txt #统计test文件的行数
echo 'OK' > test.py # 以'覆盖'的方式输出
echo 'OK' >> test.py # 以'追加'的方式输出
输出重定向符号应为'1>'或'1>>', 但是一般1可省略,故常用'>'|'>>'
echoo 'ok' 2> test.txt
# 打印test文件中的错误信息
cat test.txt
Command 'echoo' not found, did you mean:
command 'echo' from deb coreutils (8.30-3ubuntu2)
Try: sudo apt install
echoo "OK" > test.txt 2>&1 # 此例错误重定向到了test.txt
echoo "OK" &> test.txt #无论信息为1或2都重定向到test.txt文件中来源:https://www.cnblogs.com/opt-bdd/p/15911141.html
| 留言与评论(共有 0 条评论) “” |