Linux文件链接


Linux中文件是如何保存的?
硬盘先进行分区,然后进行格式化称为文件系统,格式化后才能够存储资料。
格式化的过程就是将硬盘分割为一个一个的小单位(block),并依序编号。
block是资料存储的最小单位,也就是存储文件的地方。默认情况,其大小是4K。
如果一个文件是13k,那么这个文件就会占用4个block
当一个分区被格式化的时候,会产生inode编号,这些编号决定了这个分区可以存储多少个文件,这是因为一个文件或者是目录都会对应到一个inode。
这些inode会对应到一个表,这个表称为:inode table。
inode table中记录了这个inode所对应的文件的元数据(metadata)。
元数据的主要作用用来描述资料的属性
这些属性包括文件类型,权限、链接、UID、GID、文件大小、时间、 pointer值等,这些只是用来描述文件的属性,而不是文件的内容。
如果要存取文件的内容,必须靠属性中的pointer的值,才能存取到文件的内容,pointer就是指向这个属性里面的值记录了这个文件用到了那几个block。
所以存取一个文件前,系统会先找到这个文件所对应的inode-no,然后读取inode table,然后根据pointer的值得知这个文件存储在那几个block中。才能存取这个文件。
当我们存取文件的时候,我们是靠文件的名称来存取这个文件的,但是电脑看不懂文件名称,必须靠inode才能找到这个文件。
可以使用ls -li,可以显示每个名称对应到的inode。
了解了文件是被如何存储之后,再来看看链接,类似于Windows下的快捷方式,也就是两个文件同时指向一个文件。
链接分为硬链接和软链接两种。
  使用指令ln可以为文件建立链接
    ln [-s] [d]原文件 链接文件
建立硬链接
    使用指令:    ln 原文件 链接文件
硬链接
硬链接是把许多个不同的文件对应到同一个inode上,由于对应到同一个inode,所以这些文件会有相同的inode-table.这么作的目的在于: 避免重要的资料被误删,因为当原本的文件被删除时,可以通过硬链接找到inode-table,并找到这些文件被存储在那些block中。
每一个分区的inode都是独立的,所以不能把硬链接建立在其他的分区中。也不能建立目录的链接 (如果引入了对目录的硬连接就有可能在目录中引入循环,那么在目录遍历的时候系统会陷入无限循环当中)。

建立软链接
使用指令:
   ln [-s] [-d]原文件 链接文件
-s:表示建立软链接
-d:表示建立目录链接
   ln [-s] [-d]原目录 链接文件

软链接在使用上与硬链接相似,但是意义完全不同,软链接的文件名只是一个符号,指向原文件,与Windows中的快捷方式一样。
如果硬链接的原文件删除,建立的硬链接可以使用。
如果软链接的原文件删除,建立的软链接就会失效。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值