0
A
回答
1
号
当一个文件是“感动”,什么是真正发生的是,参考文件命名层i节点被改变,仅此而已。实际上,文件不会被复制。
认识到文件命名层纯粹是为了您的方便。文件系统本身只关心inode。即使目录通常是文件命名层的虚构。 (确实有些文件系统实际上在文件系统层上组织目录,例如ext2和ext3就不是这样)。
虽然技术上是这样的:在极短的时间内,在命名层中没有引用或两个对文件的引用,从系统调用的角度来看,这实际上是一个原子事务正在制定中,所以它对你而言并不重要,也不会成为竞争条件。
相关问题
- 1. 添加引用时在设计时更新配置文件
- 2. 用迁移文件更新数据库
- 3. 我如何在用户移动时更新MKMapView上的引脚
- 4. 当使用FTP更新文件时,Alfresco不会将旧文件移动到contentstore.deleted
- 5. 计算文件副本/移动的估计时间?
- 6. 更新文件(在特定的索引更新数组属性)
- 7. 的WinForms - 引用更新配置文件
- 8. 如何在移动到新版本时更新.ism和.rul文件?
- 9. MS Access倒数计时器更新和文件夹触发器
- 10. 滑动条移动时更改文字
- 11. 移动时更新fabricjs对象坐标
- 12. 移动时的Android位置更新
- 13. 当b2Body移动时更新CCSprite位置?
- 14. NSURLSessionDownloadTask移动临时文件
- 15. 写入时移动文件?
- 16. 如何在移动一个文件时移动多个文件
- 17. 不使用特定文件上的自动引用计数
- 18. 在ruby中移动数组引用的文件
- 19. clearTimeout动态更新计时器
- 20. 自动引用计数
- 21. 在系统重新启动时移动文件
- 22. 更改迁移文件的表后,如何更新数据库?
- 23. 添加文件时更新数据库
- 24. 更新倒计时
- 25. 使用java.nio在文件更改中引发创建/移动/删除事件
- 26. 文件对象在其引用计数为零时是否自动关闭?
- 27. 根据文件数量将文件从文件夹移动到新文件夹
- 28. 动态更新RDF文件
- 29. 更新WSDL文件动态
- 30. 自动更新.edmx文件?
谢谢,你能更准确地说明这一点:如果文件保存在同一个文件夹,如果我将文件移动到另一个文件夹,则inode的引用会发生更改,那么我必须删除dir项并添加dir项在一个新的目录中。在这个过程中,我会更新inode的引用计数吗?此外,这是一个操作系统明智的原子操作,但它不会硬件明智,对吗? – nick
“移动”的唯一内容是文件名。实际文件(inode)不会移动或更改。唯一的一次,如果你将文件移动到另一个分区。试试这个实验:使用'ls -i'来查看目录中文件的索引节点。使用'mv'将其中的一个移动到另一个目录,并在新目录中的该文件上尝试'ls -i'。你会看到inode号码有* not *改变。 –
@nick:根据文件系统的实现情况,可能会有一段短的时间间隔,在这段时间内,源文件的索引节点引用计数可能会增加。保证是,与目标文件名关联的inode如果在调用之前已经存在,则会被原子地替换。 – chqrlie