linux 文件系统与日志

Linux 文件系统——indoe与block

概述::文件储存在硬盘上,硬盘的最小储存单位叫扇区,每个扇区存储512字节。

操作系统读取硬盘的时候一次性连续读取多个扇区,即一次性读取一个块(block)。这种有多个扇区组成的块就是文件储存的最小单位。块的大小,最常见的为4KB

储存文件元信息的区域叫做indoe,也叫i节点/索引节点

一个文件必须占用一个indoe,但至少占用一个block

indoe:文件的字节数,拥有者的UID、GID、文件的读写执行权限、时间戳等,但不包含问件名。文件名是储存在目录的目录项中。

Atime  Mtime  Ctime 详解;

英文

别称

中文翻译

何时修改

查看命令

Access

Atime

访问时间

读取、写入

ls -lu

Modify

Mtime

修改时间

写入、修改

ls -l

Change/Create

Ctime

改变时间/创建时间

修改文件名、写入、修改、改权限、做链接

ls -lc

indoe的号码:

indoe一般为128字节或256字节,每个indoe中都记录着文件所在的block号,

每条记录着block号的信息占用4字节。indoe中关于block号的记录一共包含12个直接、1个间接、1个双间接和1个三间接

12个直接连接,共占用48字节磁盘空间,包含12个直接指向biock号的信息,文件系统默认的block大小为4KB,则仅仅指向12*4=48KB大小的文件内容。文件较大时,则需要使用更多的block,会多于12个block,进而有间接、双间接和三接。

一个间接可存放文件大小为1024*4=4096KB

一个双间接可存放文件大小为1024*1024*4=4096MB

一个三间接可存放文件大小为1024*1024*1024*4=4093GB

一个文件最大存储大小为48KB+4096KB+4096MB+4096GB约为4100GB

查看inode号码: ls –I 文件名;stat 文件名

删除指定inode号所对应的文件:

格式:find ./ -inum inode号 –exec rm –I {} ;

查看文件系统的inode与block的信息:

df –I 设备名(文件已挂载时查询,查询indoe总数与已用数量)

只可以查看ext4文件类型:dumpe2fs –h 设备名(文件系统无需挂载);tune2fs –l 设备名(文件系统无需挂载)

格式化时指定文件系统的inode个数与block大小:

mkfs.ext4 –N inode 数 –b 块大小(单位字节) 设备名

解决inode 耗尽导致的磁盘故障:删除不使用文件;将文件备份,重新格式化此文件系统,指定较多的inode个数

链接——硬链接/软链接:

硬链接(hard link):ln 源文件 目标文件

硬链接指向inode,新生成的硬链接文件的inode号与原文件的inode号相同,不可针对目录进行硬链接,必须在同一文件系统内。删除一个文件名不影响另一个的访问。

软链接(soft link):ln –s 源文件或目录  目标文件或目录

软链接指向文件名,新生成的软链接文件的inode号与源文件不同,目录也可以生成软链接,软链接文件与源文件可以不在同一个文件系统内,软链接文件的内容是源文件的路径读取时系统会自动导向源文件,但当源文件移动或重命名时,软链接将报错。

恢复误删的文件:

--inode 数值    指定从inode号为多少开始

--restore-file 文件名  恢复误删除的某个文件

--restore-all   恢复全部已删除的文件

原文地址:https://www.cnblogs.com/XXXX001/p/11340994.html