Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软链接和硬链接

软链接和硬链接

作者头像
opencode
发布于 2022-12-26 07:54:02
发布于 2022-12-26 07:54:02
2K0
举报
文章被收录于专栏:知识同步知识同步

linux基础

要理解链接,首先要理解以下inode

inode

理解inode,要从文件储存说起。

文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。

每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

总的说:

inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的资料所在的block 号码;

block:实际记录档案的内容,若档案太大时,会占用多个block 。

inode包含文件的元信息,具体来说有以下内容:

  • 文件的字节数
  • 文件拥有者的User ID
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
  • 链接数,即有多少文件名指向这个inode
  • 文件数据block的位置

硬链接

硬链接是指多个文件指向同一个inode,相当于是文件的副本,删除其中任意一个文件并不会删除文件实体,只有删除了所有源文件和所有对应的硬链接文件才会删除文件实体。看起来是不是很像c++里的共享指针

软连接

软链接是指生成一个快捷方式,新建一个inode,inode指向源文件路径,删除了源文件,软链接文件依然存在,只是不能打开文件了,软链接文件和源文件类型不同

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
理解inode
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念
ruanyf
2018/04/12
2.4K0
理解inode
Linux硬链接,软链接
文件是存储在硬盘上的,硬盘最小单位叫扇区(sector),每个扇区存储512字节。操作系统读取硬盘的时候,如果一个一个读取那效率很低,因此一次性读取多个扇区,即一次性读取一个块(block)。这种多个扇区组成的块,就是文件存取的最小单位。block的大小最常见的是4KB,即连续8个sector组成一个block。
doper
2022/08/23
10.2K0
理解inode 以及 软链接和硬链接概念区分
https://www.cnblogs.com/huxiao-tee/p/4657851.html 
西湖醋鱼
2020/12/30
4760
理解inode 以及 软链接和硬链接概念区分
Linux(七)
CentOS 7 之前,使用 service 命令来管理服务,7 之后使用 systemctl 命令来管理服务。 软件包安装的服务单元存储在 /usr/lib/systemd/system/
1ess
2021/11/01
2440
因 inode 不足导致数据库登陆报错相关问题
事情是这样发生的- ,还是和数据泵有关的一个问题,但这次不是说数据泵的问题。应用方通过数据泵导入数据时发生空间不足的问题 “No space left on device”,询问是否空间不足导致,错误如下所示:
JiekeXu之路
2021/01/04
9450
因 inode 不足导致数据库登陆报错相关问题
Linux索引节点inode
理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点” 。
恋喵大鲤鱼
2019/03/04
7.3K0
Linux索引节点inode
inode到底是什么?
我看到这个inode信息,还有使用率,直接看傻了,这啥玩意儿啊? 于是去百度了一下
meowrain
2021/04/22
4.3K0
inode到底是什么?
深入了解linux inode
文件是储存在硬盘上的,硬盘最小的存储单位叫做扇区sector,每个扇区存储512个字节。操作系统读取硬盘的时候,不会一个个扇区地读取,而是一次性地读取多个扇区,这个逻辑单位叫做块block。由多个扇区构成的快,才是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个block。
Steve Wang
2020/11/12
2.8K0
删库这种骚操作,还能抢救回来吗
敲黑板:在Linux操作系统中,文件名只是inode号码便于识别的绰号,操作系统通过inode号来识别文件,而非文件名。
互联网老辛
2020/06/24
7740
删库这种骚操作,还能抢救回来吗
inode、block和磁盘性能的关系 原
理解inode,要从文件储存说起。   文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(即:Sector)。每个扇区储存512字节(相当于0.5KB)。   操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。   文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。   block中存储的就是文件的实际数据,比如说,照片,视频,音频等等,但是有一点需要注意!就是inode当中不包含文件名!一个文件的文件名,存储在上级目录的block中!   其实inode和block之间的关系就像是一本书一样,inode是一本书的目录,一本书会有很多内容,一个知识点或者一个故事会占很多页,一个block就相当于书中的一页内容。
阿dai学长
2019/04/03
3.5K0
由mv命令引发的对inode的思考
最近团队一台机器老化了,准备做全量迁移,一不小心,就把100多个G的/data目录放到了新机器的/data/data目录下,上愁了,怎么削减一层data目录呢?难倒像Windows一样剪切过来吗?可是有100多个G啊?!抱着试试的心态,运行mv命令,没想到系统瞬间就完成了。为什么Linux可以这么快速剪切呢?这一切都要从Linux对文件的管理机制说起的。
于果
2021/08/25
1.1K0
Linux软链接与硬链接实战解析
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。
公众号guangcity
2019/09/20
6.2K0
Linux软链接与硬链接实战解析
Linux基础知识点
文件(包括目录)权限分为三类别,从左至右依次是:文件所属主的权限、文件所属所在用户组的权限和其他用户的权限。
恋喵大鲤鱼
2018/08/03
1.9K0
Linux基础知识点
Linux的inode是什么?
最近在做运维指标的梳理工作,其中一个就是Linux系统中的inode,这就想到了之前维护的某套系统,逻辑是将主机的报文,存储到本地文件,客户通过FTP下载这些文件,实现报文转发。这些文件很小,单个几K,但是量很大,一天数十万个,当时跟客户约定,他们提取文件后,负责自动删除下载成功的文件。但是经常碰到客户程序执行异常的场景,导致原始文件未删除,日积月累,虽然服务器的磁盘空间未满,但是文件系统inode满了导致磁盘不可用。
bisal
2021/09/06
6.1K0
每周学点测试小知识-Linux文件属性
课堂上芒果给大家介绍过Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
TestOps
2022/04/07
9310
每周学点测试小知识-Linux文件属性
软链接和硬链接
在操作系统级别看存储空间的话,是分为很多的block块,这些block块是分为很多种类的
mindtechnist
2024/08/08
1960
软链接和硬链接
解决/run分区磁盘占满的问题
/var/run/yum.pid被锁定的情况,这种情况很好解决,正常来说只需要把这个文件删掉即可,但是我们删掉之后依然报错,于是发现该文件所在的磁盘分区已满,所以怀疑是这个导致的,于是就看下到底是什么占用导致。
dogfei
2020/07/31
4.4K0
解决/run分区磁盘占满的问题
记一起inode爆满事件及分析脚本
最近很忙,公司基础架构重新设计,公司为了资源再利用。把所有的废旧机器包括台式机都需要重新整合利用,这就涉及到了诸多改造,主要设计ceph,vware,openstack几个大块的设计和组合。所以最近将更多的心血倾注在了这些内容的设计和实施上。
IT运维技术圈
2022/06/26
3160
记一起inode爆满事件及分析脚本
面试必备(背)-Linux八股文系列!
Linux 是免费可自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。
微客鸟窝
2022/04/08
4K0
面试必备(背)-Linux八股文系列!
Linux inode 基础概念
在理解inode之前,先了解下磁盘扇区,磁盘的最小单位,我们都知道,磁盘一个扇区是512个字节。磁盘读写是都是按照块来操作的,一个块一般是4K,也就是连续的8个扇区,以块为单位读写是为了提高性能。
luoxn28
2020/04/21
4.3K0
Linux inode 基础概念
相关推荐
理解inode
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档