定义

空设备文件:/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