当前位置: 首页 > article >正文

Linux命令 - linux索引节点、硬链接、软链接的介绍与使用

文章目录

  • 1 索引节点inode
  • 2 硬链接Hard Link
  • 3 软链接Soft Link

1 索引节点inode

在Linux系统中,保存在磁盘分区中的文件,不管是什么类型,系统都会给它分配一个编号,这个编号被称为索引节点编号(Inode Index),它是该文件或者目录在linux文件系统中的唯一标识。文件系统通过索引节点(inode)来管理文件和目录的元数据信息和数据块的指向。


索引节点内容:

  • 目录/文件的元数据信息(各种属性)
    • 文件大小、文件权限、所有者、创建时间等
  • 指向实际数据块的指针
    • 包括直接块、间接块、双重间接块和三重间接块等指针,用于指向存储文件内容的数据块。

使用索引节点的优势:

  • 索引节点的存在使得文件系统能够高效地管理文件和目录,提高了文件系统的性能和效率。
  • 索引节点的唯一性保证了文件系统中每个文件或目录的独立性和准确性。
  • 索引节点中的元数据信息和指针信息提供了对文件的详细描述和快速访问。

2 硬链接Hard Link

硬链接是通过创建多个文件名指向同一个索引节点(inode)来实现的。这意味着硬链接的所有文件名共享相同的inode,即它们都指向相同的数据块。

当创建硬链接时,系统会增加原文件的链接计数,表示有多个文件名指向相同的inode。删除硬链接中的任何一个文件名,只会减少对应inode的链接计数,只有当所有硬链接都被删除时,文件的数据块才会被释放。

一个硬链接和文件本身没有什么区别。不像符号链接,当你列出一个包含硬链接的目录内
容时,你会看到没有特殊的链接指示说明。当一个硬链接被删除时,这个链接被删除,但是文
件本身的内容仍然存在(这是说,它所占的磁盘空间不会被重新分配),直到所有关联这个文件
的链接都删除掉。


注意事项:

  • 每个文件默认都会有一个硬链接
  • 一个硬链接不能关联它所在文件系统之外的文件。也就是说一个硬链接不能关联与自身不在同一个磁盘分区上的文件。
  • 硬链接不能关联一个目录。

硬链接的创建与删除:

  • 使用ln命令来创建硬链接:ln file_name hard_link_name
  • 删除硬链接可以使用rm命令:rm hard_link_name

示例:
在这里插入图片描述

3 软链接Soft Link

软链接是一个特殊类型的文件,它包含了指向另一个文件或目录的路径。软链接实际上是一个新的inode,它的数据块存储了指向目标文件或目录的路径。软链接的数据块中存储的是目标文件或目录的路径,而不是实际的文件数据。

如果软链接指向的目标文件或目录被删除或移动,软链接将失效,因为它只存储了路径而不是实际数据。

建立符号链接的目的是为了克服硬链接的两个缺点:硬链接不能跨越物理设备,硬链接不能关联目录,只能是文件。


软链接的创建与删除:

  • 使用ln -s命令来创建硬链接:ln -s file_name soft_link_name
  • 删除硬链接可以使用rm命令:rm soft_link_name

示例:
在这里插入图片描述
从示例中可以看到,使用ls命令查看目录内容时,软链接会展示其所指向的文件。


http://www.kler.cn/a/386532.html

相关文章:

  • ES6模块、CommonJS、AMD等不同的模块化实现。
  • 【C++】详细介绍模版进阶,细节满满
  • 【Python特征工程系列】利用SHAP进行特征重要性分析-XGB模型为例(案例+源码)
  • AI大模型:重塑软件开发流程的优势、挑战及应对策略
  • Linux——简单认识vim、gcc以及make/Makefile
  • css:没错又是我
  • 一个简单ASP.NET购物车设计
  • 从0开始linux(24)——文件(5)磁盘文件系统
  • SpringBoot3中swagger无法使用
  • C#-密封类、密封方法
  • acmessl.cn提供接口API方式申请免费ssl证书
  • 第 2 章 - Go语言环境搭建
  • C++builder中的人工智能(16):神经网络中的SoftPlus激活函数
  • 网络安全应急响应(归纳)
  • AscendC从入门到精通系列(一)初步感知AscendC
  • 「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构
  • rediss数据结构及其底层实现
  • C++代码优化(三): 决不要重新定义继承而来的缺省参数值
  • Android中桌面小部件的开发流程及常见问题和解决方案
  • Chrome与傲游在隐私保护上的表现
  • linux centos新机器容器中创建虚拟环境
  • jmeter常用配置元件介绍总结之安装插件
  • 重塑商业未来:探索SAAS服务的无限可能
  • 基于STM32的自动化植物浇灌系统教学
  • 谷粒商城-高级篇-认证服务
  • 云计算在esxi 主机上创建 4g磁盘,同时在此磁盘上部署linux