张芷铭的个人博客

/dev/null 是 Unix/Linux 的特殊设备文件,写入的数据被立即丢弃,读取返回空,用于屏蔽输出。

核心特性

  • 写入数据立即丢弃,无法恢复
  • 读取立即返回空(EOF)
  • 纯内存设备,无磁盘 IO

常用场景

丢弃输出

1
2
3
命令 > /dev/null       # 丢弃标准输出
命令 2> /dev/null      # 丢弃错误输出
命令 > /dev/null 2>&1  # 丢弃所有输出

静默执行

1
2
# Conda 配置示例
__conda_setup="$('conda' 'shell.zsh' 'hook' 2> /dev/null)"

判断命令成败

1
2
3
if ping -c 1 baidu.com > /dev/null 2>&1; then
    echo "网络通"
fi

清空文件

1
> logs.txt  # 清空文件,保留文件本身

对比

操作结果
写入 /dev/null数据销毁
读取 /dev/null返回空
写入普通空文件占用磁盘

注意

  • 不是回收站,数据无法恢复
  • 重要输出不要丢入 /dev/null
  • 所有用户可读写,无需 sudo

Comments