我正在制作一个应用程序来保存某些文件的信息。我想知道跟踪文件的最佳方式是什么。我正在考虑使用文件的绝对路径,但如果文件被重命名,这可能会改变。我发现如果你运行ls -i,每个文件都有一个唯一的id(?)。可以使用唯一的文件ID吗?唯一文件ID?
Q
唯一文件ID?
0
A
回答
2
inode的每个设备唯一的,但是,我不建议使用它,因为想象你的箱子崩溃,你的所有文件移动到一个新的文件系统现在所有的文件有新的ID。
这真的取决于你所选择的语言,但他们几乎都包括用于生成UUID的图书馆。尽管碰撞在理论上是可能的,但它确实是一个非问题。生成UUID会将其前置到您的文件的前面,并且您处于业务中。随着实现的增长,它还将允许您创建文件的HashTable索引,以便稍后快速查找。
0
的问题是,“跨什么独特之处?”
如果你在特定的时间点需要某个给定机器上唯一的东西,那么是的,inode号码+设备号码几乎总是唯一的 - 这些可以从stat()或类似的C,os.stat ()在python中。但是,如果删除文件并创建另一个文件,则可以重新使用inode编号。另外,两个不同的主机可能对于该设备,inodeo对是什么有完全不同的想法。
如果你需要的东西来描述文件的内容(这样两个文件具有相同的内容具有相同的ID),你可能会考虑的SHA或RIPEMD功能之一。这将是非常独特的 - 意外碰撞的可能性是天文数字低。
如果您需要独特的一些其他形式,请详细说明。
相关问题
- 1. Dropbox的唯一文件ID
- 2. 是否有文件的唯一ID?
- 3. Dropbox API - 文件ID是唯一的吗?
- 4. CSV文件的“唯一ID” - 读写
- 5. 唯一事件ID生成
- 6. Android唯一ID
- 7. 唯一ID
- 8. LINQ和唯一ID
- 9. paypal IPN唯一ID
- 10. 唯一元素ID
- 11. Android的唯一ID
- 12. mysql的唯一ID
- 13. 关联唯一ID
- 14. 集团唯一ID
- 15. 返回唯一ID
- 16. 列的唯一ID
- 17. MySQL“非唯一ID”
- 18. 全球唯一的Google云端硬盘文件ID是唯一的吗?
- 19. Shopify metafield ID是唯一的唯一用户或唯一吗?
- 20. VB.NET上的唯一硬件ID
- 21. 通过唯一ID来计数事件
- 22. SMTP邮件ID全局唯一吗?
- 23. 从PC获取唯一的硬件ID
- 24. 哪个硬件ID是唯一的?
- 25. 使用Java在Windows中获取唯一的文件ID?
- 26. 如何通过其唯一的ID获取文件名?
- 27. PHP文件上传到基于唯一用户ID的目录
- 28. 如何设置滚动文件名是唯一的进程ID
- 29. 在C#中找到基于路径的唯一文件ID
- 30. 使用熊猫在csv文件中计数唯一的ID(python)
设备编号+索引节点号应该是唯一的。 – wildplasser