我曾经想知道为什么通过PHP或shell删除目录并不像在Windows中那样简单地点击删除。我现在意识到删除只是从文件分配表中取消链接文件,因此要删除目录,必须取消链接其中的所有文件。
是否有可能删除目录的条目,但不删除其中的文件?操作系统是否定期检查文件系统中无法访问的文件?
我曾经想知道为什么通过PHP或shell删除目录并不像在Windows中那样简单地点击删除。我现在意识到删除只是从文件分配表中取消链接文件,因此要删除目录,必须取消链接其中的所有文件。
是否有可能删除目录的条目,但不删除其中的文件?操作系统是否定期检查文件系统中无法访问的文件?
Answers:
是的,这是可能的,而且不太可能,因为操作系统中有适当的程序来防止这种情况发生,但磁盘错误和怪异可能导致事情发生。
这通常是chkdsk,fsck和一系列其他实用程序的设计目的。他们读取分配表并将它们与已知的文件条目进行匹配......任何错误都会导致采取某些措施。
在Windows中,当您右键单击驱动器图标时,通常可以通过查看“ 属性”选项向Windows发送您想要检查的信号。它可能会进行检查,虽然Windows似乎有利于启动磁盘检查,它会告诉你它会在下次重启时执行。
在Linux中,...你可能会严重伤害自己在活动系统上使用fsck实用程序,这就是为什么Linux机器在启动时通常总是使用文件系统ChecK(fsck!)。只需重新启动通常会导致检查。(虽然我知道当UPS发生故障时从家用服务器上断电也会触发一个!)(文件系统标记为脏)
OS X?不是线索。有点只是想你在机器附近啜了一个Latté,它通过链接到最近的GeniusBar修复了自己的错误。(你可能也需要在星巴克™附近或附近)