目录是否可以在其包含的文件保留时取消链接?


1

我曾经想知道为什么通过PHP或shell删除目录并不像在Windows中那样简单地点击删除。我现在意识到删除只是从文件分配表中取消链接文件,因此要删除目录,必须取消链接其中的所有文件。

是否有可能删除目录的条目,但不删除其中的文件?操作系统是否定期检查文件系统中无法访问的文件?

Answers:


4

许多UNIX系统有一个unlink命令,这将允许用户root以解除目录,但它并不会递归断开链接的目录的内容,所以这是非常危险的。如果发生这种情况,请使用fsck恢复断开连接的目录,该目录将以lost+found随机名称出现在文件系统的文件夹中(因为名称在unlink发生时丢失)。


2

是的,这是可能的,而且不太可能,因为操作系统中有适当的程序来防止这种情况发生,但磁盘错误和怪异可能导致事情发生。

这通常是chkdskfsck和一系列其他实用程序的设计目的。他们读取分配表并将它们与已知的文件条目进行匹配......任何错误都会导致采取某些措施。

在Windows中,当您右键单击驱动器图标时,通常可以通过查看“ 属性”选项向Windows发送您想要检查的信号。它可能会进行检查,虽然Windows似乎有利于启动磁盘检查,它会告诉你它会在下次重启时执行。

在Linux中,...你可能会严重伤害自己在活动系统上使用fsck实用程序,这就是为什么Linux机器在启动时通常总是使用文件系统ChecK(fsck!)。只需重新启动通常会导致检查。(虽然我知道当UPS发生故障时从家用服务器上断电也会触发一个!)(文件系统标记为脏)

OS X?不是线索。有点只是想你在机器附近啜了一个Latté,它通过链接到最近的GeniusBar修复了自己的错误。(你可能也需要在星巴克™附近或附近)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.