Linux inode 之我见
Linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtory block).其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置.但是索引结点中不包括文件的名字,文件名是放在目录块里的.目录块里包含有文件的名字以及此文件的索引结点编号
硬盘盘片为圆形,每个硬盘盘片都有一个可以读写的磁头(Head),将这个磁头固定,使硬盘盘片旋转一周,所走轨迹就是磁道(Track)。硬盘内所有盘片的相同磁道号的集合成为磁柱(Cylinder)。每一磁道被划分成许多区域,每个区域叫一个扇区(Sector)硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。block的大小在格式化分区的时候就确定了。
硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。此时, inode 与 block 规划好了,除非重新格式化(或者利用 resize2fs 等命令变更文件系统大小),否则 inode 与 block 固定后就不再变动。
关于block
• SuperBlock:如前所述, Superblock 是记录整个 filesystem 相关信息的地方, 没有 Superblock ,就没有这个 filesystem 了。他记录的信息主要有:
o block 与 inode 的总量;
o 未使用与已使用的 inode / block 数量;
o 一个 block 与一个 inode 的大小;
o filesystem 的挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等档案系统的相关信息;
o 一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1 。
• Group Description:纪录此 block 由由何处开始记录;
• Block bitmap:此处记录那个 block 有没有被使用;
• Inode bitmap:此处记录那个 inode 有没有被使用;
• Inode table:为每个 inode 数据存放区;
• Data Blocks:为每个 block 数据存放区。
inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
eg:
6816307 -rw-r--r-- 1 workherd root 1073741824 Sep 10 11:22 test1126
File: `test1126'
Size: 1073741824 Blocks: 2097160 IO Block: 4096 regular file
Device: 802h/2050d Inode: 6816307 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ workherd) Gid: ( 0/ root)
Access: 2017-09-10 11:22:08.607120512 +0800
Modify: 2017-09-10 11:22:19.665120370 +0800
Change: 2017-09-10 11:28:02.053153370 +0800
inode 要记录的数据非常多,但偏偏又只有 128bytes 而已, 而 inode 记录一个 block 号码要花掉 4byte。 inode 记录 block 号码的区域定义为12个直接,一个间接, 一个双间接与一个三间接记录区。 12 个直接指向 block 号码的对照,这 12 笔记录就能够直接取得 block 号码啦! 至于所谓的间接就是再拿一个 block 来当作记录 block 号码的记录区,如果文件太大时, 就会使用间接的 block 来记录编号。如果文件持续长大,那么就会利用所谓的双间接,第一个 block 仅再指出下一个记录编号的 block 在哪里, 实际记录的在第二个 block 当中。依此类推,三间接就是利用第三层 block 来记录编号。
inode 本身并不纪录文件名,而是记录档案的相关属性,至于文件名则是记录在目录所属的 block 区域。所以当我们要读取一个档案的内容时,我们的 Linux 会先由根目录 / 取得该档案的上层目录所在 inode , 再由该目录所记录的档案关连性 (在该目录所属的 block 区域) 取得该档案的 inode , 最后在经由 inode 内提供的 block 指向,而取得最终的档案内容。读取 /etc/crontab 的流程为:
1. 操作系统根据根目录( / )的相关资料可取得 /etc 这个目录所在的 inode ,并前往读取 /etc 这个目录的所有相关属性;
2. 根据 /etc 的 inode 的资料,可以取得 /etc 这个目录底下所有档案的关连数据是放置在哪一个 Block 当中,并前往该 block 读取档案的关连性内容;
3. 由上个步骤的 Block 当中,可以知道 crontab 这个档案的 inode 所在地,并前往该 inode ;
4. 由上个步骤的 inode 当中,可以取得 crontab 这个档案的所有属性,并且可前往由 inode 所指向的 Block 区域,顺利的取得 crontab 的档案内容。
Linux通过文件元信息中的Blocks和Size参数就能定位文件在磁盘的位置了
可使用命令dumpe2fs /dev/sda1 查看分析信息
Filesystem volume name: <none>
Last mounted on: /
Filesystem UUID: 66b58b73-59ce-41ba-af77-5de77824f4bf
Filesystem magic number: 0xEF53
Filesystem revision #: (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count:
Block count:
Reserved block count:
Free blocks:
Free inodes:
First block:
Block size:
Fragment size:
Reserved GDT blocks:
Blocks per group:
Fragments per group:
Inodes per group:
Inode blocks per group:
Flex block group size:
Filesystem created: Wed Jun ::
Last mount time: Sun Aug ::
Last write time: Wed Jun ::
Mount count:
Maximum mount count: -
Last checked: Wed Jun ::
Check interval: (<none>)
Lifetime writes: GB
Reserved blocks uid: (user root)
Reserved blocks gid: (group root)
First inode:
Inode size:
Required extra isize:
Desired extra isize:
Journal inode:
First orphan inode:
Default directory hash: half_md4
Directory Hash Seed: fc4e3a8c-8a9a---10a6d880e11d
Journal backup: inode blocks
Journal features: journal_incompat_revoke
Journal size: 128M
Journal length:
Journal sequence: 0x0047b425
Journal start: Group : (Blocks -) [ITABLE_ZEROED]
Checksum 0x8cdb, unused inodes
Primary superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories
Free blocks: , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x8896, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x450c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: , -, -, -, -, -, -, -, -, -, -, -, -, -, -, , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90df, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x33a6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, , -,
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb3de, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7131, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x139f, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0705, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7e07, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x488e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd5a7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbd33, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf752, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x50b0, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xef1f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa577, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf9f3, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x589d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf846, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5a42, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xfa99, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa520, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x134d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb79d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc3b6, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa39a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc203, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb4f7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x142c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb542, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1599, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x304d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x84a8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x25c6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90af, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x2719, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x87c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x26ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe290, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xcac6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6a1d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xcb73, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6ba8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc9ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6977, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc819, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x68c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x435b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3aec, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbeb1, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1e6a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbc6e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1cb5, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbddb, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3637, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4ed4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x190b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb865, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x283f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5ecb, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1a61, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbb0f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x1bd4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x5a3a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x06be, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x90d2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x070b, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa50f, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x05d4, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa4ba, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0461, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa0b1, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x006a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa104, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x01df, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa3db, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0300, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xa26e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x02b5, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x292c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x509b, unused inodes
Backup superblock at , Group descriptors at -
Reserved GDT blocks at -
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd4c6, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x741d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd619, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x76c2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd7ac, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7777, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd3a7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x737c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd212, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x72c9, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd0cd, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x7016, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd178, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x71a3, unused inodes
Block bitmap at (+), Inode bitm
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [ITABLE_ZEROED]
Checksum 0x792e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x35a2, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: , -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x41fc, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe127, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4323, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe3f8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4296, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe24d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x469d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe646, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4728, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe7f3, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x45f7, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xe52c, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Checksum 0x799d, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xb86a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xbdc9, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x952e, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xd6b8, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x231a, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0e65, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at - (+)
free blocks, free inodes, directories, unused inodes
Free blocks:
Free inodes: -
Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xaebe, unused inodes
Block bitmap at (+), Inode bitmap at (+)
Inode table at -
透过这些记录,我们可以很轻易的就知道哪些 inode 没有被使用,哪些 block 还可以记录
Linux inode 之我见的更多相关文章
- Linux inode && Fast Directory Travel Method(undone)
目录 . Linux inode简介 . Fast Directory Travel Method 1. Linux inode简介 0x1: 磁盘分割原理 字节 -> 扇区(sector)(每 ...
- Linux inode空间占满 “no space left on device”
Linux inode空间占满 提示 “no space left on device” 中文环境:“无法创建XXX目录,设备没有空间” Linux系统iNode耗尽硬盘无法写入文件怎么办?df -h ...
- linux ----Inode的结构图
http://www.ruanyifeng.com/blog/2011/12/inode.html 先看看Inode的结构图 再来了解一下文件系统如何存取文件的 1.根据文件名 ...
- linux inode已满解决方法
今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Av ...
- Linux inode与文件系统关系
inode只有在linux文件系统的概念(ext3,ext4) .inode节点数量与文件存储的关系. 二.在文件系统初始化时设置合适的节点数量. linux服务器在存储文件小而数量多的情况下,需要考 ...
- linux inode 详解 / 线上inode爆满解决方案
本文大量参考阮一峰大神博客,整理笔记 之所以写inode文章是由于一次线上问题,引发对inode深入的思考. 磁盘的inode监控与磁盘空间的监控同等重要,线上服务器一定要做好磁盘inode与磁盘空间 ...
- 深入浅出理解linux inode结构
一.inode是什么? 参考文档:http://tech.diannaodian.com/dw/lin/2012/0112/154629.html 做Android底层驱动或者嵌入式Linux的程序猿 ...
- 深入浅出理解linux inode结构【转】
本文转载自:https://blog.csdn.net/fantasyhujian/article/details/9151615 一.inode是什么? 参考文档:http://tech.diann ...
- Linux inode 详解
操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如Linux操作系统的文件权限与文件属性.文件系统通常会将这两部分内容分别存放在inode和block中. inode 和 block 概述 ...
随机推荐
- Java面向对象(类、封装)
面向对象 今日内容介绍 u 面向对象 u 封装 第1章 面向对象 1.1 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l 面向过程的程序设计方式,是遇到一 ...
- LoadRunner使用(1)
一.LoadRunner脚本录制 LoadRunner测试分为两个步骤: 第一步:录制脚本,其实就是监控并记录这段时间发送的HTTP请求 第二步:启动多个线程,用录制的脚本,模拟多线程发送请求. (1 ...
- Mysql安装报错解决办法
.msi版MySQL安装包在安装最后执行的时候到第三部或者第四部死掉 主要是因为之前安装的版本没有卸载干净,要卸载干净MySQ安装包有一些几个步骤: 1.通过卸载程序MySQL的相关组件 2.删除My ...
- win10 KMS激活
运行 输入以管理员权限输入CMD 如果已安装密匙先卸载,没有的话可以跳过 slmgr -upk 卸载密匙命令 输入对应版密匙以及KMS地址激活 1.键入命令:slmgr -ipk XXXXX-XXXX ...
- 在广州学习PHP零基础可以学习吗?
PHP现今作为互联网运用很广泛的编程语言,市场需求量也越来越高,而PHP开发工程师的薪资也是一路水涨船高,更多的人看到了PHP的发展前景,纷纷都想投入到PHP的开发大军中来,那么对于很多转行或者零基础 ...
- 重温Javascript(一)-基本概念
工作中要用到JavaScript,一组复习笔记. 一些看法 1. 想想JavaScript目前最常用的宿主环境,浏览器或者服务端V8,都是单线程,所以不用过多的考虑并发的问题,如果是协程来实现异步的方 ...
- UVA 714 Copying Books 抄书 (二分)
题意:把一个包含m个正整数的序列划分成k个非空的连续子序列.使得所有连续子序列的序列和Si的最大值尽量小. 二分,每次判断一下当前的值是否满足条件,然后修改区间.注意初始区间的范围,L应该为所有正整数 ...
- 使用Process组件访问本地进程
实现效果; 知识运用: Process组件的StartInfo属性 //获取或设置要传递给Process的Start方法的属性 public ProcessStartInfo StartInfo {g ...
- freespace
这是一个总结freespace的博客,还不错,但算法目前看来比较老:https://blog.csdn.net/u010213183/article/details/70786516
- FZOJβ #31.字符串
http://1572m36l09.iask.in:30808/problem/31 首先转化为保留尽量少的段使得字典序最大.考虑逐字符确定,显然我们可以将相同的连续字符缩在一起.注意到字典序最大的字 ...