/dev/null是 Unix/Linux 的特殊设备文件,写入的数据被立即丢弃,读取返回空,用于屏蔽输出。
核心特性
- 写入数据立即丢弃,无法恢复
- 读取立即返回空(EOF)
- 纯内存设备,无磁盘 IO
常用场景
丢弃输出
命令 > /dev/null # 丢弃标准输出
命令 2> /dev/null # 丢弃错误输出
命令 > /dev/null 2>&1 # 丢弃所有输出静默执行
# Conda 配置示例
__conda_setup="$('conda' 'shell.zsh' 'hook' 2> /dev/null)"判断命令成败
if ping -c 1 baidu.com > /dev/null 2>&1; then
echo "网络通"
fi清空文件
> logs.txt # 清空文件,保留文件本身对比
| 操作 | 结果 |
|---|---|
写入 /dev/null | 数据销毁 |
读取 /dev/null | 返回空 |
| 写入普通空文件 | 占用磁盘 |
注意
- 不是回收站,数据无法恢复
- 重要输出不要丢入
/dev/null - 所有用户可读写,无需 sudo