cut*_*tjm 5 linux filesystems lost-found
我在根方向,无论出于何种原因,/
我都这样做ls -lah
并查看了文件夹大小。我注意到该文件夹lost+found
的大小为 16K,而所有其他目录的大小为 4K。/dev
, /proc
, 和/sys
也是不同的尺寸,但这lost+found
是我最初好奇的那个。
人们指出这/dev
是因为它是一个不同的文件系统,/proc
并且/sys
是虚拟文件系统,因此它们不遵循与正常文件系统相同的规则。
有没有人对此(lost+found
目录)有解释?从快速谷歌我似乎无法找到答案
-rw-r--r-- 1 root root 152 Jul 2 11:47 extlinux.conf
drwxr-xr-x 3 root root 4.0K Nov 7 01:51 home
lrwxrwxrwx 1 root root 30 Jul 2 11:47 initrd.img -> /boot/initrd.img-3.2.0-4-amd64
-r--r--r-- 1 root root 32K Jul 2 11:47 ldlinux.sys
drwxr-xr-x 12 root root 4.0K Jul 2 11:46 lib
drwxr-xr-x 2 root root 4.0K Nov 7 01:43 lib64
drwx------ 2 root root 16K Jul 2 11:44 lost+found
drwxr-xr-x 2 root root 4.0K Jul 2 11:46 media
drwxr-xr-x 2 root root 4.0K Dec 24 2014 mnt
drwxr-xr-x 4 root root 4.0K Nov 14 22:00 opt
dr-xr-xr-x 85 root root 0 Nov 9 19:51 proc
drwx------ 3 root root 4.0K Nov 15 21:01 root
drwxr-xr-x 15 root root 480 Nov 15 23:26 run
drwxr-xr-x 2 root root 4.0K Nov 7 01:43 sbin
Run Code Online (Sandbox Code Playgroud)
编辑:我看到“ls -l”命令的输出中目录的大小意味着什么?哪一种回答了这个问题,但我制作的所有新目录都是 4.0K,据lost+found
我所知,其中从来没有任何信息来保证更大的尺寸(这是一个相对较新的安装,没有不必要的关机)。另外,为了澄清起见,文件系统类型是 ext3。
编辑 2:这些文件可能对可以实际解释它们的人更有帮助,但它们仍然没有解释为什么 /run 不同,但有人建议这是因为它已安装(用 验证df -h
)。它也是由mklost+found
命令创建的,但是当该命令运行时,目录大小显示为 49K(12 个块)而不是 16K(4 个块)。mke2fs.c 文件用 行解释 16K 文件if ((lpf_size += fs->blocksize) >= 16*1024)
,但不解释 49k。
@cas 的假设是正确的,“对于 fsck 来说,创建一个为找到的文件保留更多空间的丢失+找到的目录比在需要时扩展它更简单。对于某些类型的 fs 损坏,甚至可能不可能或者在 fsck 修复错误时安全地扩展丢失+找到的目录。”
我不知道为什么我之前没有这样做,但是如果您查阅mklost+found
手册页,它会为您提供以下信息:
mklost+found 预先将磁盘块分配给lost+found 目录,这样当运行e2fsck(8) 来恢复文件系统时,就不需要在文件系统中分配块来存储大量未链接的文件。这确保了 e2fsck 在恢复期间不必在文件系统中分配数据块。
对于具体问题的更深入的答案,即为什么文件大小为 49,152 字节(或 48 KiB,或 12 个扇区),位于以下文件中的某个位置。这就是我很好奇的原因,但我仍然没有找到它(我不太懂C)。如果有人有空闲时间,并且认识我,并且可以解释原因,我会接受你对此的回答: