/dev/null 与 /dev/zero

/dev/null/dev/zero 是 Linux 的特殊设备文件:

  • 写入两者的数据都会被丢弃。
  • 读取 /dev/null 会立即得到文件结束。
  • 读取 /dev/zero 会持续得到值为零的字节。

丢弃命令输出

# 丢弃标准输出
command > /dev/null
 
# 丢弃标准错误
command 2> /dev/null
 
# 同时丢弃标准输出和标准错误
command > /dev/null 2>&1

丢弃错误输出会隐藏诊断信息。排查问题时应保留日志,或先确认命令能够正常执行。

读取零字节

/dev/zero 是无限数据源,读取时必须限制数量,避免命令持续运行或写满磁盘。

# 读取 16 个零字节并以十六进制显示
head -c 16 /dev/zero | od -An -t x1

参考资料