标准输入、标准输出、标准错误简介

如题所述

第1个回答  2022-07-08
标准输入 :0 (默认是键盘)
标准输出 :1(默认是屏幕)
标准错误 :2(默认是屏幕)

比如现有文件 a.log
文本内容为: this is a.log
当我们执行命令 cat a.log 时,系统默认将其输出到标准输出也就是 屏幕 ,通过符号 > 我们可以将其输出重定向到另一个文本里:
cat a.log > copya.log
此时我们可以看到copya.log里的文本内容为: this is a.log
事实上,上述命令实际是 cat a.log 1> copya.log 的缩写,表示把命令 cat a.log 的标志输出重定向到 copya.log
注意 1> 是紧挨着的 不能分开写

cat notexist.log 2> err.log
因为 notexist.log 不存在,直接执行cat notexist.log报错如下:
cat: notexist.log: No such file or directory
我们打开 err.log 会发现内容和上面一样,表示把命令的 cat: notexist.log 的标志错误输入到 err.log 里面了

> 等价于 1> 也就是代表命令的标准输出
/dev/null 可以看作 黑洞 ,等价于一个只写文件。所有写入它的内容都会永远丢失,尝试从它那儿读取内容则什么也读不到。
2 表示stderr标准错误
& 表示等同于的意思, 2>&1 ,表示2的输出重定向等同于1
相似回答
大家正在搜