作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
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取消连接。
关注微信公众号《运维小路》获取更多内容。