作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
Linux磁盘涉及到的命令不是很多,但是在实际运维中的作用却很大,因为Linux系统及业务都会承载到硬盘上。如果磁盘使用和配置不合理,可能会引起系统无法启动或者业务系统无法提供预期的服务。
主要从以下几个方面来介绍:
1.分区介绍
2.创建分区
3.MBR&GPT
4.格式化&挂载
5.inode&硬连接(本章节)
6.磁盘操作命令
7.小结
Inode
"Inode" 是文件系统中一个重要的概念,特别是在类 Unix 操作系统中(如 Linux)。它是 "index node" 的缩写,用于存储文件或目录的元数据信息。每个文件和目录在文件系统中都有一个唯一的 inode,它包含了关于文件的重要信息,如文件的权限、所有者、大小、时间戳以及数据块的位置等。
Inode 的主要组成部分包括:
-
文件类型和权限:
-
文件类型(regular file、directory、symbolic link 等)和访问权限(读、写、执行)。
-
-
所有者和所属组:
-
文件或目录的所有者和所属的用户组。
-
-
文件大小:
-
文件占用的大小(以字节为单位)。
-
-
时间戳:
-
包括文件的访问时间、修改时间和状态改变时间。
-
-
指向数据块的指针:
-
存储文件数据的实际位置,这些指针可以直接指向数据块,或者在某些情况下,指向间接块、双重间接块和三重间接块。
-
Inode 的作用:
-
唯一标识:每个文件和目录在文件系统中由唯一的 inode 号码标识。
-
元数据管理:存储文件和目录的元数据信息,例如权限、所有者、大小等。
-
性能优化:通过 inode 可以快速访问和管理文件的元数据,从而提高文件系统的性能。
-
硬链接:硬链接是通过相同的 inode 号码连接到同一文件的多个文件名。这允许文件在文件系统中具有多个名称,但是只有一个物理副本,因为所有硬链接共享相同的 inode。
在 Linux 中,可以使用命令如 ls -i
来查看文件或目录的 inode 号码,或使用 stat
命令查看详细的 inode 元数据信息。
总结
1.inode简单理解就是从整个分区里面分割出来一部分空间,用来存储inode信息,大小是根据分区大小自定定义的。
2.如果没特需求不建议修改inode的大小调整。
3.inode 也是有容量限制的,如果磁盘里面是大量的小文件,inode就可能满的,这个时候也是无法写入文件的,也是普通运维最容易遇到的inode问题。
4.结合find
命令,可以对那些无法使用rm
命令删除的文件进行删除(目前为止也是我用过涉及到inode的两个地方)。
硬连接&软连接
硬连接(Hard link)是操作系统中用来连接文件名与文件内容的一种技术,可以让一个文件拥有多个文件名(即多个硬连接)。硬链接与原始文件在文件系统中的inode相同,因此不同的文件名实际上引用了同一个文件内容,它们在系统级别上没有区别,只是文件系统为每个文件名维护了一个目录项。
软连接(Symbolic Link),也称为符号链接,是一种特殊类型的文件,它包含指向另一个文件或目录的路径。软连接类似于Windows系统中的快捷方式,它允许你创建一个指向另一个文件或目录的链接,而不是实际复制或移动文件本身。
特点 | 硬连接 (Hard Link) | 软连接 (Symbolic Link) |
---|---|---|
定义 | 目录项指向相同的物理文件数据块。 | 特殊类型的文件,包含指向另一文件或目录的路径。 |
类型 | 文件系统层级的链接。 | 文件系统层级的链接。 |
跨文件系统 | 不能跨越文件系统。 | 可以跨越文件系统。 |
目标类型 | 只能链接到文件,不能链接到目录。 | 可以链接到文件或目录。 |
inode | 与目标文件相同的inode号。 | 新的inode号,指向目标的路径。 |
链接计数 | 增加原始文件的硬链接计数。 | 不影响目标文件或目录的链接计数。 |
更新 | 如果原始文件被修改,所有硬连接都会同步更新。 | 软连接可以指向动态变化的目标。 |
删除原始文件 | 不影响硬链接,直到所有硬链接被删除。 | 软连接失效,称为悬空连接。 |
权限和所有权 | 与目标文件相同的权限和所有权。 | 有自己的权限和所有权。 |
用途 | 保护特殊文件,避免被误删除 | 常用于创建快捷方式或简化路径。 |
命令行创建 | ln targetfile linkfile | ln -s targetfile linkfile |
硬连接需要删除所有的文件,才能最终把文件删除。
软连接可以使用普通rm命令删除,也可以使用unlink取消连接。
关注微信公众号《运维小路》获取更多内容。