在Linux和Unix中,lost + found文件夹的用途是什么?


644

在Linux和Unix操作系统的根目录下有一个文件夹,名为 /lost+found/

这是为了什么 在什么情况下我会与之互动?我将如何与之互动?


请注意,仅ext2(以及ext3和ext4)使用lost+found。如果要隐藏它,请使用其他文件系统或将其安装在其他位置,将所有内容保留在一个子目录中,然后将该子目录符号链接到使用数据的“真实”位置。
亚当·卡兹

4
@吉尔斯(Gilles)有人很客气地添加了它:en.wikipedia.org/wiki/Fsck#Use
David Kennedy

请注意,这lost+found特定于Linux扩展文件系统(ext2-4)。Unices,例如FreeBSD,通常在其文件系统(UFS,ZFS)上没有此目录。
FUZxxl

5
抱歉,但是lost+found在BSD系统上已经存在了很长时间。实际上,我刚刚检查过它,它肯定存在于4.3BSD上,而且我似乎想起来很早了。今天肯定在FreeBSD上。
Bob Eager

@BobEager感谢您确认。我也这么认为,但是我愿意接受也许我记错了...
Pryftan

Answers:


577

如果运行fsck,文件系统检查和修复命令,则可能会找到文件系统中任何地方未引用的数据片段。特别是,fsck可能会找到看起来像完整文件但在系统上没有名称的数据- 没有相应文件名的索引节点。这些数据仍在消耗空间,但无法通过任何常规方式访问。

如果您告诉fsck您修复文件系统,它将把这些几乎删除的文件变回文件。问题是,该文件曾经有一个名称和位置,但是该信息不再可用。因此,fsck将文件存放在一个名为lost+found丢失和找到属性之后)的特定目录中。

出现的lost+found文件通常是在系统突然停止(内核崩溃或电源故障)时已取消链接(即,其名称已被删除)但仍由某些进程打开(因此数据尚未被擦除)的文件。如果这一切都发生了,那么无论如何这些文件都被指定要删除,您无需关心它们。

lost+found由于软件或硬件错误导致文件系统处于不一致状态,因此也可能出现文件。如果是这种情况,这是您查找丢失的文件但系统修复可以挽救的一种方法。这些文件可能包含或可能不包含有用的数据,即使它们确实不完整或已过时;这完全取决于文件系统损坏的严重程度。

在许多文件系统上,该lost+found目录有点特殊,因为它预先分配了一些空间用于fsck在其中存放文件。(该空间不是保留在原处的文件数据fsck;这是必须组成的目录条目fsck。)如果不小心删除了lost+found,请不要mkdir使用创建它,请使用,mklost+found如果有的话。


16
另外,如果不小心删除了fsck,则下次发现文件系统干净时,fsck可能会重新创建它(可能是下一次引导)。
derobert

30
该文件夹是否应该不定期检查和清理?
TheLQ'8

9
@TheLQ仅当您的文件系统遭到严重损坏时才需要这样做fsck,并且该文件系统提到查找文件并将其链接到中lost+found。在使用各种文件系统的20年中,我只见过一次。而那才是记录日志的规范。
Alexios 2012年

6
我认为如果您格式化硬盘,它也会出现(我从NTFS切换到ext4,它出现了)
puk

6
@puk lost+found无论何时创建ext4文件系统(与许多其他文件系统一样),都会创建该目录,无论它是否作为系统安装的一部分完成。“格式化硬盘”只是其中一种情况。什么fsck确实是可能有添加文件。
吉尔斯2013年

64

lost+found目录(未丢失+实测值)是由所使用的构建体fsck时,有到文件系统(未硬件设备,但对FS)的损坏。通常由于目录损坏而丢失的文件将lost+found通过inode编号链接到该文件系统的目录中。其中一些可能丢失了目录,丢失了文件甚至丢失了设备。每个文件系统应具有其自己的lost+found目录,但是您可能正在查看的是只有一个文件系统的系统。通常,您应该希望目录为空。但是如果有损坏,请感谢在许多情况下将文件fsck放在此处后可以将其恢复。


4
但是,有一点很重要:无论如何,这些CAN可能会变得很麻烦。例如,当尝试从非管理员用户帐户find对一个或多个ext[2|3|4]分区进行操作时,您将始终得到这些完全不必要的“权限被拒绝”错误。当然,有很多方法可以规避这些错误-但这有点尴尬,因为该标准find . -name '*whatever*'无法解决问题。
语法错误2012年

2
@syntaxerror:很高兴听到您对find的烦恼:`./lost+found':权限被拒绝。它也时不时地困扰着我……
Johan E

1
@syntaxerror我到达此问题的原因恰好是因为我正在执行查找操作,并且查找一直在生成Permission denied警告。有了这个问题的答案,我知道它lost+found是文件系统的一部分,因此我可以放心地忽略生成的警告(但我希望它不会产生警告)。
Trevor Boyd Smith

1
@JohanE你在告诉我。然而,为什么实际的原因,发表我的评论是因为这个答案是想暗示我们“感谢”lost+found。这种感觉太荒谬了,以至于无法实现(我在这里大笑)坐在可笑的地方,因为我们非常感谢,因为它无法与那些我们宁愿投出“ Begone!”的人竞争。拼写这个令人讨厌的lo + fo东西。
语法错误

36

在“ Linux文件系统层次结构”的/ lost + found节中:

如前面在FSSTND概述中所述,Linux应该始终经过适当的关闭。有时,您的系统可能会崩溃,或者电源故障可能会使计算机宕机。无论哪种方式,在下次启动时,都将使用fsck进行冗长的文件系统检查。Fsck将遍历系统,并尝试恢复找到的任何损坏的文件。恢复操作的结果将放置在此目录中。恢复的文件不太可能是完整的或没有任何意义,但是总有可能恢复了一些有价值的东西。每个分区都有其自己的lost + found目录。如果在其中找到文件,请尝试将其移回其原始位置。如果您发现指向“文件”的符号链接断开了,则必须从相应的RPM重新安装文件,因为您的文件系统损坏得非常严重,以致文件被残破而无法识别。以下是/ lost + found目录的示例。如您所见,此处包含的绝大多数文件都在实际的事实套接字中。至于其他文件,则发现它们是损坏的系统文件和个人文件。这些文件无法恢复。

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.