Linux文件系统和软硬连接

news2024/11/21 0:13:08

目录

1.文件组成

2.文件系统

3.软硬连接


1.文件组成

先来看看文件的属性部分:

文件属性由权限,硬连接数量,所属组,所属人,大小和修改时间构成。 

 再来看看文件由的一个的东西inode

793395 793328就是inode


2.文件系统

 我们可以将磁盘切块,图上就表示一块所含有的各个部分。

super block:这里存放了文件系统本身的结构信息,记录有block和inode的总量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。

group descriptor table:描述这块的属性

block bitmap:位图,记录哪些块被用,哪些空余。

inode bitmap:记录哪些inode被用,哪些空余

inode table:存放inode信息

data blocks:存放数据

创建文件的过程就是先找到一个没有被占用的inode给该文件,inode中含有文件的属性信息和要存在哪些data blocks中。依次去存储数据就可以,最后再创建一个文件名与inode连接起来,

删除文件的过程其实只是断开这个文件名和inode的连接关系,使得这个inode可以被别的文件使用。同时就做到了可以用别的文件数据去覆盖之前文件对应的data blocks。恢复文件的前提条件也就出现了,想要恢复文件,必须保证该文件inode不能被新文件覆盖。


3.软硬连接

上面我们提到过硬链接个数。那么什么是硬链接呢?我们都知道同一目录下不能有俩同名文件,这是因为inode无法分配。硬链接其实就是用一个新的文件名和建立硬链接的文件inode连接。

例子:

 我建立了一个file.txt的文件,这时它的硬连接数是1。

建立硬链接的指令是ln 目标文件 新文件名

 这时file.txt的硬连接数就变成了2。

值得注意的是,目录也是文件的一种,他在创建的时候初始硬链接数就是2。

原因:在这个目录下有隐藏文件..指向的就是这个目录。

 

软连接就如同windows下的快捷方式,他用了新的inode,但是内容和创建软连接的文件相同。 

 因此可以观察出file.txt的硬链接数还是1。

从这里我们也可以间接看出为啥在Windows下删除快捷方式并不能删除特定的应用,毕竟inode都不一样,找不着啊!

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

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

相关文章

聚观早报 |中国企业成世界杯最大金主;马斯克恐失去世界首富位置

今日要闻:中国企业成世界杯最大金主;马斯克恐失去世界首富位置;刘强东称对不起京东高管;苹果在沪最大代工厂重启招工;威马汽车上海全员工资打折中国企业成世界杯最大金主 据报道,作为全球最为瞩目的赛事之一…

谁懂,java后端面试多次惨败并发的苦!幸好有阿里首发并发编程学习文档,系统全面还便于上手!

什么是并发 并发指的在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 并发和并行是十分容易混淆的概念。并发指的是多个任务交…

如何测试 esp-matter_example_light 例程

此例程支持三种配网方式: 苹果手机扫码配网chip-tool 命令配网Matter 指令配网 1 使用苹果手机扫码配网 说明文档:Apple Matter 测试方法 所需设备: 苹果手机(最新版本 IOS 系统)苹果音响(Apple-Matter&a…

【文本挖掘】业绩预告原因·其一

下载数据及提取信息 在此单列前15行: 000001,平安银行,预计本公司2006年度净利润与上一年度相比将增长300%-350%。2)业绩变化原因:利润的显著增长主要是由于利差的改善、资金运用效率的提高和贷款的良好增长,不良资产的成功清收和资产质量的…

基于PHP+MySQL企业网站的设计与开发

现如今,企业网站是商业贸易中的一条非常重要的道路,可以把其从传统的实体模式中解放中来,让用户足不出户就了解到企业的各种信息,为用户提供了极大的方便,网新帮德网站的主要功能包含:企业简介,新闻功能信息,企业业务信息,在线留言等功能。网站分为管理员、会员用户…

计算机组成原理期末复习第三章-1(唐朔飞)

计算机组成原理期末复习第三章-1(唐朔飞) ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csdn首发! 😘系列专栏:java学习 💻首发时间:&am…

Ubuntu 20.04安装ipopt和cppAD(安装全流程+报错解决)

文章目录参考资料1. Ipopt安装1. 方式1: 命令行安装2. 方式2:源码安装3. 方式3:源码安装4. Ipopt测试5. 报错修复2. CppAD安装1. 方式1:命令行安装2. 方式2:源码方式安装3. CppAD测试3. 测试Ipopt与CppAD是否可用1. 例…

uni——app、H5省市区选择

案例演示 步骤 封装的组件&#xff0c;之后引用组件。 父&#xff1a; <pickerAddress change"change"><input type"text" placeholder"请选择所在地区" :value"value" /><image :src"$common.image(/static/p…

[附源码]java毕业设计新闻发布和评论管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

安装Jenkins

安装Jenkins jenkins官网 1、安装jdk 1&#xff09;yum安装 yum search java|grep jdk # yum查看jdk版yum install -y java-11-openjdk #安装jreyum install -y java-devel #安装jdk2&#xff09;自定义安装 ①下载java ②上传解压tar ③配置环境变量&#xff08;此步…

原生js 之 (BOM操作)

BOM(浏览器对象模型) Window对象对应着浏览器窗口本身&#xff0c;它的属性和方法通常被统称为BOM (浏览器对象模型) BOM 提供了独立于内容而与浏览器窗口进行交互的对象。 BOM主要用于管理窗口与窗口之间的通讯&#xff0c;因此其核心对象是Window BOM由一系列相关的对象组成…

Spark DAG及内存迭代计算

文章目录DAGJob与Action之间的关系DAG和分区DAG宽窄依赖DAG宽窄依赖的划分Spark内存迭代计算总结Spark是怎么做内存计算的&#xff1f;DAG的作用&#xff1f;Stage阶段划分作用&#xff1f;Spark为什么比MapReduce快&#xff1f;DAG Spark的核心是根据RDD来实现的&#xff0c;…

cubemx stm32 lu90614模块 人体温度检测模块 可以替代温枪 驱动代码

lu90614 使用串口通信在&#xff0c;指值得注意的是&#xff0c;他的TX接单片机的TX&#xff0c;RX接单片机的RX&#xff0c;和其他的串口设备不一样。 模式切换包 lu90614有两种模式&#xff0c; 一个是物温模式&#xff0c;一个是体温模式&#xff08;检测人体温度用体温…

【CSDN 竞赛—第10期】所有题目解法的思考和总结

目录 一、 熊孩子拜访 二、 走楼梯 三、括号上色 四、喜水青蛙 一、 熊孩子拜访 已知存在一个长度为n的整数序列A。 A中所有元素按照从小到达的顺序进行排序。 现在执行操作倒置一段序列。 请找到A序列里的倒置子序列。 我的解题思路&#xff08;通过所有测试用例&#xff0…

[附源码]java毕业设计星期八酒店管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Opengl ES之PBO

叨叨一句几句 关于Opengl的系列已经有较长的一段时间没有更新了&#xff0c;然而这个系列还远没有到完毕地步&#xff0c;后续至少还有关于Opengl矩阵变换、YUV与RGB互转、Opengl水印贴图、Opengl转场动画等主题文章。 断更的主要原因如果给自己找个借口的话可以说是工作比价…

1100w播放、45w涨粉!黑马UP在B站20天逆袭登顶!

在B站生活区里&#xff0c;“搞笑区”的流量独占鳌头&#xff0c;创作者也是络绎不绝。 为此&#xff0c;B站官方对搞笑内容创作布局了长期的扶持计划&#xff0c;比较热门的两个活动“搞笑新星训练营”、“搞笑研究所”是搞笑内容投稿最多的&#xff0c;至今两个活动已经分别…

动手实践丨基于ModelAtrs使用A2C算法制作登月器着陆小游戏

摘要&#xff1a;在本案例中&#xff0c;我们将展示如何基于A2C算法&#xff0c;训练一个LunarLander小游戏。本文分享自华为云社区《使用A2C算法控制登月器着陆》&#xff0c;作者&#xff1a;HWCloudAI 。 LunarLander是一款控制类的小游戏&#xff0c;也是强化学习中常用的…

C# dll代码混淆加密

目录 一、需求 二、用法 1.新建C#项目 2.开始加密 3.常见的错误 4.添加加密规则 5.导出加密dll 6.调用加密dll 结束 一、需求 C# 项目生成 dll&#xff0c;在反编译工具下&#xff0c;好比皇帝的新装&#xff0c;dll 内部的代码看的一清二楚&#xff0c;在这里推荐一…

关于Cy5.5 alkyne,Cyanine7 alkyne和1628790-37-3,1998119-13-3两者的区别

外观以及性质&#xff1a; Cy5.5 alkyne和Cy7alkyne 都含有荧光基团&#xff0c;其中氰基7的炔烃衍生物&#xff0c;近红外荧光团&#xff0c;Cy7的类似物&#xff0c;Cyanine5.5 alkyne用于点击化学标记的远红外/近红外染料炔烃&#xff0c;炔烃可以通过铜催化的点击化学与多种…