Linux——文件系统inode与软硬链接

news2024/9/21 2:48:30

目录

一.inode

(一).背景知识

(二).inode

 二.软硬链接

(一).软链接

(二).硬链接


一.inode

(一).背景知识

我们知道,磁盘是按磁道与扇区划分。Linux把一个磁盘进行了分区处理(一般为4个区)。

进行分区处理有很多优点,比如利于管理,当某个分区损坏但不会影响整个磁盘。

每个分区里又划分成多个块组(block groups)和启动块(boot block)

启动块用于存放该块组信息以及数据恢复。

一个块组里又由不同性质的块组成。

属性
super block存放整个文件系统的信息,比如分区中每个块的大小、硬盘分区上一共有多少个块组、以及每个块组中有多少个inode
CDT块组描述符,里面有指针会指向该块组的inode table、block bitmap和inode bitmap。
block bitmap用于在data blocks中找block,按位图的方式寻找
inode bitmap用于在inode group中找inode,按位图的方式寻找
inode group存放多个inode结构体
block group存放多个块(block),块中存放的才是文件数据,一个块是4KB

(二).inode

inode本质是一个结构体,用于存放一个文件的相关信息。

一个文件往往由多个块组成,但一个文件只有一个inode

一个inode结构体内部记录了文件的大小、信息、该文件包含的所有块的编号等。

当删除文件时,只需要把对应的bitmap置0,同时把inode映射取消即可。

恢复文件时,找到原inode以及对应bitmap置1。

格式化时,并没有删除inode与block table内容,只是把映射取消,因为inode与block可以覆盖。

值得注意的是,虽然一个文件只能有一个inode,但是一个inode可以对应多个文件名(这些文件本质是同一个文件,因为对应inode相同也就是使用的块相同)。同时inode中会记录映射的文件名数量(引用计数方式),当数量为0时才会真正删除文件信息。

 二.软硬链接

(一).软链接

ln -s 路径+文件名 软链接名 

软链接可以类比windows快捷方式。

当删除时不会删除文件本体。

本质是因为软链接是一个新的文件,与目标文件不是同一个inode。

(二).硬链接

ln 路径+文件名 硬链接名 

硬链接删除时也不会删除相关文件,但是硬链接与目标文件是同一个文件。

因为inode与目标文件相同,只是在inode映射的文件名数量上加一。


如有错误,敬请斧正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68276.html

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

相关文章

广告行业中那些趣事系列58:当我们面对文本分类任务的时,可以使用哪些优化策略...

导读:本文是“数据拾光者”专栏的第五十七篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践。本篇主要总结了一下我在实际项目中对于文本分类任务的优化策略,对于想要提升线上文本分类任务效果的小伙伴可能有所帮助。欢迎转载&a…

专访 | 罗成:开源并非“只可远观”

OpenMLDB: 请先来一段自我介绍吧。 罗成: 我是罗成,来自华中科技大学,目前研二在读,研究方向是云原生数据库的架构研究。 OpenMLDB: 请问是什么样的契机让你接触到了 OpenMLDB 呢? 罗成: 当时课余时间比…

skywalking链路追踪整合spring-cloud

skywalking安装资料 一、安装skywalking 将apache-skywalking-apm-bin.zip上传到/opt目录下2. 解压apache-skywalking-apm-bin.zip unzip apache-skywalking-apm-bin.zip,解压后即可使用,里面的配置文件都提前配置好了 3. 启动skywalking 进入apache-…

HTML做一个传统节日端午节 带设计报告4500字

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

征文连载丨在不修改数据库源码的情况下,如何提高 MogDB 对 Oracle 的兼容性?...

: 2022年8月4日至9月9日,墨天轮社区联合云和恩墨发起了首届「MogDB 主题征文活动」,邀请各位技术从业者学习、使用 MogDB 数据库,分享使用心得与实战案例,一起探索这款融合了众多创新特性的商业版企业级数据库。活动期…

[附源码]Python计算机毕业设计Django校园租赁系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Docker安装Jenkins

docker安装:可参考这里 拉取Jenkins镜像 docker pull jenkins/jenkins创建挂载目录并赋予777权限 mkdir /data/jenkins chmod 777 /data/jenkins运行Jenkins容器并设置名字、端口、目录、时间 50000:50000:前面端口是宿机的端口,:后面端口…

客服如何维护客户?

有网店工作经验的客服,都知道维护老客户的重要性,因为老客户关乎着商品的销量、店铺的升级、客户转化率的多少,因此客服需要通过好的售后服务留住大量的老客户。 前言 有网店工作经验的客服,都知道维护老客户的重要性&#xff0c…

LIBTIFF读取tiff文件时,打印buf出错

如图所示,按照官网提供的例程读取tiff文件,并打印读取的值时,提示: Subscript of pointer to incomplete type void 代码如下: //---打开tiff文件的测试TIFF* tif TIFFOpen("a.tif", "r");if(tif…

使用docker安装RocketMQ

1.创建namesrv服务拉取镜像docker pull rocketmqinc/rocketmq创建namesrv数据存储路径mkdir -p /docker/rocketmq/data/namesrv/logs /docker/rocketmq/data/namesrv/store构建namesrv容器docker run -d \ --restartalways \ --name rmqnamesrv \ -p 9876:9876 \ -v /docker…

如何用vue+免费的webdb 实现一个世界杯足球竞猜系统

一、前言 最近世界杯在如火如荼的进行。我们都知道,中国也派出了我们的一支强大的队伍:中国建筑队,全程参与了世界杯的所有比赛。 哈哈开个玩笑,不过说到世界杯,还真有不少朋友,不仅仅是看球,…

[附源码]Python计算机毕业设计Django疫情防控管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

手把手教你成为荣耀开发者:数据报表使用指引

荣耀开发者服务平台是荣耀面向开发者的统一生态入口,通过聚合周边内外部系统,分全球多站点部署,为全球开发者提供业务全生命周期的商业支撑服务,拥有应用分发、智慧服务、开放能力、HONOR Connect等众多业务等您来合作。 “数据报…

Partial differential equation

In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an “unknown” to be solved for, similarly to how x is th…

【三维目标检测】SASSD(一)

SASSD是用于点云三维目标检测模型算法,发表在CVPR 2020《Structure Aware Single-stage 3D Object Detection from Point Cloud》,论文地址为“https://www4.comp.polyu.edu.hk/~cslzhang/paper/SA-SSD.pdf”。SASSD与基于Anchor的目标检测模型的结构基本…

Kafka(四)- Kafka 生产者

文章目录一、生产者消息发送流程1. 发送流程2. 生产者重要参数列表二、异步发送 API1. 普通异步发送2. 带回调函数的异步发送3. 同步发送三、生产者分区1. 分区好处2. 生产者发送消息的分区策略(1)默认的分区器 DefaultPartitioner(2&#xf…

行业沙龙第四期丨企业供应链协同的数字化解痛之道

当前,数字经济正在蓬勃发展,我们正在迈向一个协同一体的全球化时代。所谓协同,协者,众和之同也,多方能够协作才能达到一个共同的目标。其中,数据是实现协同的基本要素,技术是实现协同重要途径&a…

网络安全 核心基础篇总结

目录 前言 网络安全三大要素 CIA含义 1. Confidentiality(机密性) 1.1 机密性主要三个解决方法 1.1.1 加密 1.1.2 权限管理 1.1.3 敏感信息暴露 2. Integrity(完整性) 3. Availabitity(可用性) 威胁…

基于51单片机水塔水箱液水位WIFI监控报警设计proteus仿真原理图PCB

功能: 0.本项目采用STC89C52作为单片机系统的控制MCU 1.WIFI实时上传当前水位状态 2.通过液位传感器检测液位,检测到最低液位和最高液位时,超过设定阈值将声光报警 3.通过状态指示灯显示当前液位情况,三种颜色,红色代表…

快来给你的宠物视频加个表情特效吧

摘要:我们将给猫贴一张卡通脸,给 Elon Musk 贴上小胡子,给小狗贴上驯鹿角!本文分享自华为云社区《视频AI,给你的宠物加个表情特效!》,作者:HWCloudAI。 GAN 监督学习是一种联合端到…