linux学习笔记-day10-链接文件

linux中使用llls -l命令中文件属性为l的文件为软链接文件。链接文件分为2种类型,分别为硬链接(hard link)和软链接(symbolic link)。

linux系统读取文件时会先读取inode信息,然后根据inode信息到指定的硬盘位置读取具体的数据。inode相当于C语言中的指针,指向文件数据具体存放的位置。

硬链接是直接新建一个inode信息,这个inode信息直接指向目标文件对应的存放位置。也就是说进行硬链接时对原文件没有任何变化,只是新增了一个指向该位置的inode。但是硬链接有2个限制,第1它不能链接目录。第2它不能跨文件系统链接。

软链接是新建一个文件,当读取这个文件时会将读取的行为转发到目标文件上。如果删除了目标文件那么链接文件还是存在的,但是这个软链接文件将无法打开。如果删除软链接文件那么对于目标文件是没有任何影响的。软链接文件是一个独立的文件,只是操作系统对于读取该文件的方式与普通文件有所区别。并且目标文件可以是软链接文件,操作系统对递归查看最后的目标文件。

使用如下命令创建链接文件

ln test test_link

其中test文件为目标文件,test_link为链接文件。

如果像上面的命令一样不加-s则创建的链接文件为硬链接。创建了硬链接文件后,即使删除了原文件也不会对链接文件有什么影响,因为硬链接文件也保有一份inode用于指向文件所处的实际数据。就相当于同一个文件有2个文件名,只要修改了文件那么另外一个文件也就修改了。表面上看起来的2个文件实际上指向的是同一个硬盘位置。

但是如果加了-s参数创建了软链接,那么删除目标文件后,软链接也就失效了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 认识Linux文件系统磁盘组成及分区复习(正好给自己提几个问题)什么是扇区,有哪两种格式扇区(Sector)为最小...
    March_13th阅读 885评论 0 2
  • inode是什么 理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector...
    狗尾巴草败了阅读 704评论 0 0
  • inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。理解inode,不仅有助于提高系统操...
    Kenis阅读 465评论 1 4
  • 一夜清冷寂寞寒, 两盏新茶无君品, 三载苦等君未归, 四季如冬无君怜, 五战沙场寻不见, 六走江湖亦无果, 七游故...
    君兮阅读 623评论 20 9
  • 什么是成功? 有学位,有钱,有地位,有身份,有名声这些是所谓的成功么? 以前我觉得这样当然是成功,成功人士不就是要...
    J莹莹阅读 152评论 0 0