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