2013-09-22 25 views
1

我需要創建(大量)文件,其唯一目的是通過它們的存在來表示布爾條件。這些文件沒有內容,並且它們的訪問/ mod時間或所有權不重要。只有他們的存在重要。在unix上創建標記文件的最便宜的方法

我想最便宜最快的方法是創建一個硬鏈接到文件系統中的某個固定目標。

硬鏈接最大數量(= ext4上的= 64000,我認爲)存在一些小的不便,但我可以通過編寫一個循環來使用變量目標來解決這個問題。

有沒有更簡單的方法,也許使用硬鏈接以外的東西來做我想要的?

謝謝。

+0

爲什麼你需要創建文件?你不能使用像紅黑二叉樹這樣的數據結構嗎? – Marichyasana

回答

1

Maildir format是有用的Unix模式的一個很好的參考。如果您的標記引用其他文件或目錄,則可以將它們嵌入文件名中,因爲標記將添加到Maildirs中的郵件文件中。由於文件重命名在POSIX中是原子級的,因此即使在重新啓動時也可以添加和刪除標誌。它還避免了標記文件的額外i節點,並且與原始硬鏈接解決方案一樣具有空間效率。

作爲一個例子,具有insteat somefile然後創建空somefile.marker的,只是重命名somefilesomefile:M。要刪除標記,而不是刪除somefile.marker,只需將somefile:M重命名爲somefile即可。目錄也可以做同樣的事情。

+0

對不完整的答案抱歉。我正指着你說:「我可以在什麼信息?」部分,其中介紹瞭如何向郵件文件添加標記。不在唯一的文件名。 – jop

相關問題