【问题标题】:cheapest way to create marker file on unix在 unix 上创建标记文件的最便宜方法
【发布时间】:2013-09-22 05:23:27
【问题描述】:

我需要创建(大量)文件,其唯一目的是通过它们的存在来表示布尔条件。这些文件没有内容,它们的访问/修改时间或所有权无关紧要。只有他们的存在才重要。

我认为最便宜和最快的方法是在文件系统中创建指向某个固定目标的硬链接。

硬链接最大计数(我认为在 ext4 上 = 64000)存在一些不便,但我可以通过编写一个循环来使用可变目标来解决这个问题。

有没有更简单的方法,也许使用硬链接以外的东西来做我想做的事?

谢谢。

【问题讨论】:

  • 为什么需要创建文件?不能用红黑二叉树这样的数据结构吗?

标签: linux file unix marker hardlink


【解决方案1】:

Maildir format 是有用的 Unix 模式的一个很好的参考。如果您的标记引用其他文件或目录,您可以将它们嵌入到文件名中,因为标志会添加到 Maildirs 中的邮件文件中。添加和删​​除标志是健壮的,因为文件重命名在 POSIX 中是原子的,即使在重新启动时也是如此。它还避免了标记文件的额外 i 节点,并且与原始硬链接解决方案一样节省空间。

例如,不使用somefile,然后创建一个空的somefile.marker,只需将somefile 重命名为somefile:M。要删除标记,而不是删除 somefile.marker,只需将 somefile:M 重命名回 somefile。目录也可以这样做。

【讨论】:

  • 很抱歉回答不完整。我指的是“我可以输入什么信息?”部分,它描述了如何向邮件文件添加标记。不是在唯一的文件名。
猜你喜欢
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-07
  • 1970-01-01
  • 2020-12-21
  • 2017-03-09
相关资源
最近更新 更多