文件的软硬链接

1. 软链接

软链接原理

软链接又叫符号链接(symbolic link),本身是一个文件,类似于Windows下的快捷方式,可以通过连接文件转到原文件,即访问原文件的内容。

软链接创建

创建一个软链接

ln -s 原文件名 目的文件名

这里写图片描述
:可以看到软链接文件的属性为l。
操作一个软链接文件
这里写图片描述

注:我们可以发现,对一个软链接文件进行操作,其实质是操作原文件。
删除原文件
(1)现象:
这里写图片描述
注:我们可以发现,删除原文件,软链接文件本身是存在的,但是它的内容是不能被访问的。
(2)原因
我们可以回到删除原文件前的操作。
这里写图片描述
第一列是inode号,第二列是文件属性,第三列是连接数,第四列是拥有着,第五列是所属用户组。
关于inode

  1. 每个文件的内容会分三处位置存储,文件的文件名存储在所在目录的目录文件的block中,这个block存储的是文件名和文件inode的映射关系,也就是文件名与目录有关;而文件属性和内容分别存储在文件的inode和block中,且文件的inode存有文件的block号
  2. 读取某个文件内容的过程是:在目录文件的block通过文件名找到对应的Inode号,找到这个inode然后读取其中的block号,找到这个block再读取这个block的内容
  3. 多个文件名可以对应到同一个inode号,当两个文件名的inode号相同,就代表在目录block的记录中,这两个文件名指向同一个inode,这两个文件名对文件系统来说就是同一个文件的不同名字
  4. 对于软链接来说,inode所指向的内容实际上保存了一个绝对路径,当用户访问这个文件时,操作系统自动将其替换成其所指向的文件路径。
  5. 因为这个文件已经被删除了,所以自动就会显示无法找到该文件。

2. 硬链接

创建硬链接

ln 原文件名  硬链接文件名

这里写图片描述

操作硬链接

这里写图片描述
注:我们可以发现,对一个软链接文件进行操作,其实质是操作原文件。

删除硬链接

这里写图片描述
注:我们发现删除原文件,硬链接文件照样是存在的,并且可以打开内容。
原因:

  1. 可以看到硬链接的inode号是一样的。
  2. 对于硬链接的inode,你可以把它想成C语言指针,它指向了物理硬盘上的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向区块,文件就不会从硬盘上消失。

猜你喜欢

转载自blog.csdn.net/qq_37954088/article/details/81123444
今日推荐