定义
空设备文件:/dev/null
,是个特殊的文件,可读写不可执行,通常结合重定向符号使用。
可以通过把命令的输出重定向到 /dev/null 来丢弃脚本的全部输出。
每个进程默认都会打开三个文件描述符,分别是 0、1 和 2,对应的是标准输入、标准输出和标准错误输出。
丢弃标准输出
1 | echo "Hello, it's me" > /dev/null |
或
1 | echo "Hello, it's me" 1> /dev/null |
丢弃标准错误输出
1 | jiamingling 2> /dev/null |
同时丢弃标准输出和标准错误输出
1> 将标准输出重定向到空设备文件,2> 将标准错误输出重定向到 1,因为标准输出已经被重定向到空设备文件,标准错误输出也输出到空设备文件,即丢弃标准输出和标准错误输出
1 | 1> /dev/null 2>&1 |
清空文件内容
1 | /dev/null > 1.txt |
意义
区分标准输出(stdout)和 标准错误输出(stderr)的意义是:在执行 Linux 命令得到的输出信息中,既有正常内容,也有错误内容,就可以根据需要选择性丢弃输出信息。
如果只关心正常内容,就丢弃错误信息:2> /dev/null,如果只关心报错内容,就丢弃普通信息:> /dev/null