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

news2024/11/24 22:34:06

文章目录

  • 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.coloradmin.cn/o/2236857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Python通过DOI下载文献(至简仅需2行代码)

文章目录 一、安装库二、导入库三、准备doi3.1 excel法3.1.1 检索数据3.1.2 导出excel 3.2 txt法3.3 列表or字符串法3.3.1 字符串3.3.2 列表 四、下载4.1 脚本4.2 下载成功4.3 已存在4.4 至于失败的 五、结果5.1 目标文件夹5.2 失败记录 一、安装库 pip install OAFuncs 二、导…

SpringBoot技术在企业资产管理中的应用

4系统概要设计 4.1概述 系统设计原则 以技术先进、系统实用、结构合理、产品主流、低成本、低维护量作为基本建设原则,规划系统的整体构架. 先进性: 在产品设计上,整个系统软硬件设备的设计符合高新技术的潮流,媒体数字化、压缩、…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时,需要排查蓝牙节点是否对应、固件是否加载成功,本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法,触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1,修改对应的节点,路径为…

招标采购系统(源码+文档+部署+讲解)

本文将深入解析“招标采购系统(供应商管理系统)”的项目,探究其架构、功能以及技术栈,并分享获取完整源码的途径。 系统概述 包含基础数据管理、供应商和专家库管理,还涉及招标代理机构、政策法规和文件模板的管理。…

javascript里面的blob和worker

目录 Blob 1. Blob的基本概念 2. 创建Blob 3. Blob的属性和方法 示例: 3.1. Blob 的方法 4. 使用Blob 4.1 创建对象URL 4.2 使用FileReader读取Blob 4.3 上传Blob 5. Blob与其他对象的关系 6. 释放Blob对象 7. Blob的应用场景 8. 总结 Web Worker 1.…

Android JNI 技术入门指南

引言 在Android开发中,Java是一种主要的编程语言,然而,对于一些性能要求较高的场景(如音视频处理、图像处理、计算密集型任务等),我们可能需要使用到C或C等语言来编写底层的高效代码。为了实现Java代码与C…

设计模式之抽象工厂模式(替换Redis双集群升级,代理类抽象场景)

前言: 看了很多书、学了很多知识,多线程能玩出花,可最后我还是写不好代码! 这就有点像家里装修完了买物件,我几十万的实木沙发,怎么放这里就不好看。同样代码写的不好并不一定是基础技术不足,也…

LeetCode 热题 100之 堆

1.数组中第k个最大元素 和Acwing 786 第k个数一模一样 排序 思路分析1:此题要求时间复杂度未为O(n)。虽然库函数sort和快速排序都能过,但是时间复杂度不满足条件。下面优化快速排序,写一个快速选择算法。我们可以引入随机化来加速这个过程&…

java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl

用大模型做车牌号识别,最简单高效 在Java场景中,java识别车牌号的需求非常普遍。过去,我们主要依赖OCR等传统方法来实现java识别车牌号,但这些方法的效果往往不稳定。随着技术的发展,现在有了更先进的解决方案——大模…

java ssm 网上蛋糕店 在线蛋糕甜品管理 网上蛋糕管理 源码 jsp

一、项目简介 本项目是一套基于SSM的网上蛋糕店,主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具等。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后端技术:S…

Qt编译lua库并调用

参考博客: 编译lua库 参考下面文章编译lua库文件 QT5.9学习笔记之QT编译lua库_qtluaintf.h-CSDN博客 https://blog.csdn.net/qq_23345187/article/details/112710677 Qt代码引用lua库文件 打开pro项目文件,右键空白处,点击添加库&#xff…

shopify模块新增内容或图片

1、后台找到指定的liquid页面&#xff0c;在该页面下方{% schema %} 新增需求 2、添加轮播图功能 {% comment %} 轮播代码 {% endcomment %}{% if block.settings.enable_slider %}<divclass"size-guide-slider swiper"data-slides-per-view"{{ block.setti…

【Ant Design Pro】不想用轻量的hook就喜欢用dva的数据状态管理

就像TS是JS的超集一样&#xff0c;antdpro框架也类似&#xff0c;底层也是用dva来构建的。关于数据管理&#xff0c;官方还是建议我们使用轻量的hooks方法来进行操作使用。 使用dva实现数据状态管理效果 框架中的数据管理模式 简单的数据共享 对于简单的应用&#xff0c;不需…

基于 CMSIS-PACK 移植Bootloader

基于 CMSIS-PACK 移植 1.准备工作 准备一份基础的裸机源码 (可通过 STM32CubeMx 可视化软件创建也可按照工程项目所需文档手动创建) 工程&#xff0c;如一份 stm32 包含一个支持 printf 的串口初始化代码。 2.安装Pack包 在 MDK 中部署 **MicroBoot **的第一步是获取对应的…

使用ChatGPT神速精读文献,12个高阶ChatGPT提示词指令,值得你复制使用

在学术研究的道路上,文献的阅读和分析往往是我们迈向深层次理解的第一步。如何有效提取文献中的核心要点,如何全面总结一个研究的背景与贡献,甚至如何深入剖析论文中的每个细节,都是每个研究者必须掌握的技能。通过系统化的文献分析,我们不仅能了解现有研究的框架与成果,…

PICO+Unity MR空间锚点

官方链接&#xff1a;空间锚点 | PICO 开发者平台 注意&#xff1a;该功能只能打包成APK在PICO 4 Ultra上真机运行&#xff0c;无法通过串流或PICO developer center在PC上运行。使用之前要开启视频透视。 在 Inspector 窗口中的 PXR_Manager (Script) 面板上&#xff0c;勾选…

Python Matplotlib 如何绘制股票或金融数据图

Python Matplotlib 如何绘制股票或金融数据图 在金融领域&#xff0c;数据可视化是分析市场趋势、股票表现和财务健康的重要工具。Python 的 Matplotlib 库为我们提供了强大的功能来绘制股票和金融数据图。本文将详细介绍如何使用 Matplotlib 绘制这些图表&#xff0c;并且结合…

Golang--反射

1、概念 反射可以做什么? 反射可以在运行时动态获取变量的各种信息&#xff0c;比如变量的类型&#xff0c;类别等信息如果是结构体变量&#xff0c;还可以获取到结构体本身的信息(包括结构体的字段、方法)通过反射&#xff0c;可以修改变量的值&#xff0c;可以调用关联的方法…

【Web前端】使用 JSON 处理数据

JSON 是一种基于 JavaScript 对象语法的数据格式&#xff0c;由道格拉斯克罗克福特推广。尽管其语法源于 JavaScript&#xff0c;JSON 仍然是独立于 JavaScript 的&#xff0c;这也是为什么许多编程环境能够解析和生成 JSON 的原因。JSON 可以以对象或字符串的形式存在&#xf…

VMware 虚拟机使用教程及 Kali Linux 安装指南

VMware 虚拟机使用教程及 Kali Linux 安装指南 在现代计算机科学与网络安全领域&#xff0c;虚拟化技术的应用越来越广泛。VMware 是一款功能强大的虚拟化软件&#xff0c;可以帮助用户在同一台物理机上运行多个操作系统。本文将详细介绍如何使用 VMware 虚拟机&#xff0c;并…