天天看点

Linux系统中的硬链接(hard link)与软链接(symbolic link)

1 概念及铺垫

inode

  Linux的磁盘分为两部分,及inode和data block。inode用来存放文件大小、属主属组、创建时间(ctime)、修改时间(mtime)、数据所在block号等信息。

data block存放文件的数据信息。

目录文件与档案文件

  目录文件,记录目录下的文件名,inode本身并不记录文件的文件名,文件名记录在文件所在目录文件的block中,所以增删改文件名有目录的W权限有关。

  档案文件,记录实际文件数据。

2 硬链接(hard link)和软链接(soft link或symbolic link)

Linux系统中的硬链接(hard link)与软链接(symbolic link)

上图为硬链接和软连接访问文件的方式。

hard link 文件有着相同的inode号及data block,删除一个硬链接并不影响其他有相同inode号的文件。

symbolic link 与hard link不同,有着自己的inode号及data block,它的data block中存放的内容是指向另一个文件的路径,symbolic link是普通的文件,有自己的文件属性及权限。删除symbolic link并不影响源文件,但如果源文件被删除,则相对应的symbolic link被称为死链接(dangling link),若被指向路径的文件重新创建,dangling link可以恢复为正常的软链接。

参考地址  https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html

转载于:https://www.cnblogs.com/lemonning/p/10160296.html