Linux(inode + 软硬链接 图片+大白话)

 后面也会持续更新,学到新东西会在其中补充。

建议按顺序食用,欢迎批评或者交流!

缺什么东西欢迎评论!我都会及时修改的!

在这里真的很感谢这位老师的教学视频让迷茫的我找到了很好的学习视频

王晓春老师的个人空间-王晓春老师个人主页-哔哩哔哩视频

inode 表结构

先上一张图

粗略的理解一个硬盘的分区由两部分组成

inode 表记录以下信息 
inode number 节点号 节点编号是个数据 类似于身份证号 每个文件都有与众不同的标识
文件类型
权限
UID
GID
链接数
该文件的大小不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据

文件越大速度会被受到影响 需要简接间接查找

找一个文件的流程

目录 

目录是一个特殊文件,目录文件的内存保存了此目录中文件的列表(文件名)inode number 对应关系

inode table里面不放文件名 文件名是放到目录中的

dentry

dentry中包含了文件名和对应的inode number。

这样就可以通过inode number找到inode table其对应的inode

创建文件

查看文件

cp和inode

 rm和inode

只删除inode 相关信息 没有删除数据

所以数据恢复是有可能的

but 如果新创建了一个文件会使用free空间

覆盖之前写过的数据

inode number的复用

mv和inode

相当于 cp + rm

不同分区 inode number改变了 同一分区 inode number不改变

为什么?因为文件存放的位置在不同分区 数据块的位置也不同!同一分区的数据块不会改动

 inode number到底有多少个呢?

每一个分区可以看成一个国家

若两个分区的节点编号一样是一个文件吗?中国人身份证号是123美国人的身份证号也是123那么他们是同一个人吗

查看每个分区的inode number使用率

inode number不够使用现状(面试)

提示空间快满了但df 和 df -i都可以看到空间很多为什么?(面试)

删除大文件空间不会立即释放

 

yum -y install lsof
lsof | grep delete

因为正在使用的文件 不会被释放

我们可以直接kill 程序来释放 但是程序不可以随意kill 

 大文件变小文件

cat /dev/null > /test/bigfile

总结

删除一个文件相当于回收了身份证号 

软链接和硬链接

硬链接(hard)

不同文件可以使用相同编号不同分区下

在同一分区是不能不同文件可以使用相同编号

同一个文件不能有多个节点编号

一个文件可以有多个文件名 用硬链接实现 创建硬链接实际上就是给一个文件起多个名字

链接数相当于告诉文件有几个名字

ln f1.txt f1.txt.bak

修改f1.txt文件查看f1.txt.bak变化

在磁盘中占的空间是多少呢

还是6字节 只是名字多了 节点表里面只有一条33594575 

目录里面显示只是文件名不同inode号是一样的

删除源文件f1.txt其他文件会被影响吗

 相当于就是少了个名字

硬链接不能跨分区

因为此分区的inode号,不能指向其他分区的数据块。

 若不同分区的inode号一样也应该是不同文件不应该是相同文件

更简单的理解是分区是国家 你的身份号放到国外能用吗?当然不能对吧

 文件夹不能创建硬链接

 运行中数据库删除其中一个大表

在半夜的时候再把这个硬链接出来的文件给删除了

为什么目录链接数为2

.是dir1的另一个名字

 链接数可以变成三吗

软连接(符号链接)soft

软链接,快捷方式的创建,可以快捷的指向另一个文件的特殊文件

-s参数,创建符号连接,软连接,快捷方式

ln -s 源文件路径 快捷方式绝对路径

链接文件有标志l 大小为6字节(指向路径大小f1.txt刚好6个字节) 颜色为蓝色 链接数不增加,节点编号也不同,说软链接和原始文件根本不是同一个文件,是两个文件相当于起了一个绰号。

 删除快捷方式不影响源文件,但是把源删除会影响快捷方式

 链接路径写相对路径

 相对路径是相对当前工作目录的路径,特殊场景下,是相对于某目录的位置

f1.txt.link 认为 f1.txt和f1.txt.link在同一个目录里面

那么怎么做呢 我们要写的是dir1/f1.txt.link相对路径

 咳咳若是太麻烦那就写绝对路径

 软连接创建文件夹

 假如mysql要升级

Mysql5.7升级Mysql8.0_mysql5.7升级到8 升级驱动-CSDN博客

要命的小细节/

删除原本链接文件没问题

但是删除mysql/相当于把文件夹里面东西全部删除了离谱!

 假如你手快!就会出现 再回车直接完蛋!

 确定你在干什么再敲回车很重要!

 readlink

 使用readlink 查看软链接文件本身的内容,也就是目标文件的路径

软硬区别

参考文献

4inode表的结构和文件管理底层原理和生产案例_哔哩哔哩_bilibili

5硬链接和软件文件的实现和生产案例_哔哩哔哩_bilibili

路飞学城 - 帮助有志向的年轻人通过努力学习获得体面工作

总结

本人基本上是个人理解加参考其他大佬的肯定有很多问题欢迎指正,我会及时修改。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从0开始深度学习(24)——填充和步幅

1 填充 在上一节中,我们的卷积步骤如下: 可以发现输入是 3 3 3\times3 33,输出是 2 2 2\times2 22,这样可能会导致原始图像的边界丢失了许多有用信息,如果应用多层卷积核,累积丢失的像素就更多了&#…

C++:模拟实现STL的vector

目录 一.vector类 1.vector类的构造及析构 2.定义迭代器 3.size()和capacity() 4.operator [ ] 5.resize()和reserve() 6.插入和删除 二.整体代码 1.vector.h 2.vector.cpp 上一节中了解了vector中部分接口的使用,在这里我们模拟实现vector,为了避免与库中的起冲突,…

砥砺十年风雨路,向新而行创新程丨怿星科技十周年庆典回顾

10月24日,是一年中的第256天,也是程序员节,同时也是怿星的生日。2014年到2024年,年华似水匆匆一瞥,多少岁月轻描淡写,怿星人欢聚一堂,共同为怿星科技的十周年庆生! 01.回忆往昔&…

Chrome与火狐哪个浏览器的移动版本更流畅

在当今的数字化时代,移动设备已经成为我们生活中不可或缺的一部分。而浏览器作为我们访问互联网的重要工具,其性能和用户体验直接影响到我们的使用感受。本文将对比Chrome和火狐(Firefox)两款主流浏览器的移动版本,探讨…

算法练习:1004. 最大连续1的个数 III

题目链接:1004. 最大连续1的个数 III。 题目要求,给定一个数组,这个数组里面只有0或1,然后计算有多少个连续的1的最大长度,同时给了一个条件就是,可以把k个0变成1,然后来计算长度。 暴力解法&a…

【大数据技术基础 | 实验七】HBase实验:部署HBase

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤(一)验证Hadoop和ZooKeeper已启动(二)修改HBase配置文件(三)启动并验证HBase 六、实验结果七、实验心得 一、实验目的 掌握…

LLMs之LoLCATs:《LoLCATs: On Low-Rank Linearizing of Large Language Models》翻译与解读

LLMs之LoLCATs:《LoLCATs: On Low-Rank Linearizing of Large Language Models》翻译与解读 导读:这篇论文的核心是提出了一种名为 LoLCATs (Low-rank Linear Conversion via Attention Transfer) 的方法,用于高效地将大型语言模型 (LLM) 线性…

linux命令详解,文件管理类

文件管理 stat 显示文件的详细信息,包括时间戳 stat filenametouch 主要用于更新文件的访问时间和修改时间(时间戳)。如果指定的文件不存在,touch 命令会创建一个新的空文件。 touch newfile参数 -t 更新文件的修改时间为特…

MySQL的其他函数

数学函数: 1.round 四舍五入 select round(1.45);//不管正负数,先将绝对值round,然后加正负号 select round(1.567,2); //表示小数点保留2位 2.ceil 向上取整 select ceil(-1.3); 3.floor 向下取整 4.truncate 截断 select truncate(1.65,1); // 结果保留小数…

@Excel若依导出异常/解决BusinessBaseEntity里面的字段不支持导出

今天发现所有实体类继承BusinessBaseEntity里面的这些通用字段不支持导出,debug时发现是这样: 导出效果 这里我把能查到的方法都汇总了,如果你也遇到这个异常,可以去逐步排查 1.先看库里有没有数据 2.看字段名是否对齐 3.所需要…

云数据中心基础环境-详细设计方案(364页WORD)

文档介绍: 随着云计算技术的飞速发展,云数据中心已成为企业数字化转型的核心基础设施,承载着数据存储、处理、分析和应用的重任。本设计方案旨在构建一个高性能、高可用、高安全性的云数据中心基础环境,以满足企业日益增长的业务需…

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。以下是 gap 属性在不同布局中的应用: 1. 在 CSS Grid 布局中 gap 定义了网格行和列之间的间距。可以分别使用 row-gap 和 column-gap 设置行…

Python练习9

Python日常练习 题目: 编程序计算形式如:sumaaaaaaaaaa…aaa…aaa的表达式的值。 说明: 补充完整函数fun(),其中a为小于10的自然数,n为项数,给定 变量result作为函数返回值,变量ts作为…

浙江深大智能科技有限公司管控平台服务端存在任意文件上传漏洞

漏洞描述 智游宝是连接景区与分销商(OTA、旅行社)的公正、权威、可信的第三方服务平台。作为国内智慧景区第三方技术服务支撑平台,智游宝为景区提供了可控制分销商的管理环境,安全、便捷、高效地实现了电子票的生产、发送、检票、退换票以及票款回收等技…

Pr 视频过渡:沉浸式视频 - VR 默比乌斯缩放

效果面板/视频过渡/沉浸式视频/VR 默比乌斯缩放 Video Transitions/Immersive Video/VR Mobius Zoom VR 默比乌斯缩放 VR Mobius Zoom用于 VR 视频中的缩放式场景切换,通过缩小或放大的渐变效果在两个场景之间平滑过渡。 自动 VR 属性 Auto VR Properties 默认勾选…

Hive操作库、操作表及数据仓库的简单介绍

数据仓库和数据库 数据库和数仓区别 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别 操作型处理(数据库),叫联机事务处理OLTP(On-Line Transaction Processing),也可以称面向用户交易的处理系统,它是针对具体业务…

ssm063基于SSM框架的德云社票务系统的设计与实现+vue(论文+源码)_kaic

毕业设计(论文) 题 目: 基于SSM框架的德云社票务系统 专 题: 学 院: 班 级: …

基于vue框架的的民宿网站30lx7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,客房类型,民宿信息,民宿预订,民宿退订,续租信息,换房信息 开题报告内容 开题报告 题目:基于Vue框架的民宿网站开发 一、立论依据 选题背景与意义 随着旅游业的快速发展,民宿作为一种独特的住宿方式&…

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一,什么是pod1.1pod在k8s中使用方法(1)使用方法一(2)使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理(1)pause容器的作用 1.4 Pod分类:(1)自主式…

Centos Linux 7 搭建邮件服务器(postfix + dovecot)

准备工作 1. 一台公网服务器(需要不被服务商限制发件收件的,也就是端口25、110、143、465、587、993、995不被限制),如有防火墙或安全组需要把这些端口开放 2. 一个域名,最好是com cn org的一级域名 3. 域名备案&am…