假设我有一个 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 的一次性数据)。