Linux硬链接与软连接

Linux文件包含两部分数据,用户数据和元数据,期中用户数据存放的就是文件的存储内容,元数据存储的即是文件的属性,所有者,权限,创建时间,还有一个最重要的就是inode号.

在Linux系统中,真正区分一个文件的是这个文件的inode号而非文件名,并且多个文件名对应一个inode号也是很常见的,因此,Linux中要真正删除一个文件,需要将该文件inode号对应的所有不同文件名的文件路径删除掉,这个文件才会真正被释放掉.

举个例子,有一个文件inode号为12700,而文件A,B,C的inode号均为12700,因此这三个文件其实都代表的是一个文件,也就是inode为12700的文件,同样,如果要删除这个文件,必须将A,B,C均删除该文件 才会真的被释放.

这种多个文件对应一个inode号的方式也成为硬链接.

硬链接简单来说就是给源文件起个别名,不占用实际的存储空间,删除任何一个硬链接文件都不会对源文件造成影响,同样,删除源文件也不会对硬链接文件造成影响.

与之对应的还有软连接,软链接在Linux中是一种特殊的文件,占用实际的存储空间,特殊之处在于它的用户数据区存储的是另一个文件的位置信息.删除软连接不会对源文件影响,但删除源文件会导致软连接成为一个死链接.

 

posted @ 2020-03-01 22:08  _程序兔  阅读(200)  评论(0编辑  收藏  举报