是否有一种“/dev/null”来伪造输出文件路径?

是否有一种“/dev/null”来伪造输出文件路径?

假设我有一个 CLI 可以转换文件_a变成一个文件_b像这样:

transform --input /path/to/file_a --ouptut /path/to/file_b

我开发了一个使用此 CLI 的程序,并且需要在执行 CLI 时对其进行单元测试。但我不希望我的测试处理磁盘写入操作。

Linux 上是否存在假驱动器,可以让我在没有持久性的情况下写入无用的文件?

答案1

/tmp甚至比数量还要好tmpfs。它们的行为类似于真正的文件系统,但实际上是“RAM 驱动器”。他们提供:

  • 读取、写入和删除速度非常快
  • 在断电和卸载时清除

发行版(至少 Debian 是这样)通常会为您设置一个(或多个)。列出它们:

mount | grep tmpfs

或者 :

df -h | grep tmpfs

它还显示了可用空间。/dev/shm是我最喜欢的候选人。

编辑 :

正如评论中所说:

写入 tmpfs 文件仍然会填满您的内存和交换区。

这是完全正确的。与所有其他卷一样,这些tmpfs卷并不是一种可以无限制存储数据的“神奇”区域。它们有一个定义的大小(由上面的命令报告df ...),填充它们可能最终会减慢你的计算机速度(我说“可能”而不是“将”,因为我实际上从未经历过这种情况:从来不需要写超过几 MB 的一次性数据)。

相关内容