linux硬链接与软链接

时间:2022-03-14 02:29:21

在linux操作系统中的文件数据除了实际的内容外,还会含有文件权限(rwx)文件属性(owner,group,other等),文件系统通常会将这两部分的数据存放在不同的区块,文件权限与文件属性放置在inode中,实际内容数据则放置在data block区块中.还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等.

详细请看鸟哥http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem_1.php#harddisk-filesystem

在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index).

硬链接即多个文件指向同一个索引节点(当我们创建一个硬链接的时候并不会重新分配一个索引节点号(Inode Index)).我们可以建立硬链接到重要的文件,以达到防止误删的目的.因为只删除一个链接并不影响索引本身和其他的链接,只有在删除最后一个链接的时候才会被释放.

在创建软链接的时候会重新分配给链接一个新的索引节点号,当我们删除了源文件时,该链接也无法使用了.

为test.php分别创建硬链接和软链接,可以看到硬链接的索引节点号是一样的,但是软链接的索引节点号重新分配了
[root@iZ288fgkcpkZ default]# ls -li
总用量
-rw-r--r-- root root 7月 : hardlink.php
-rwxr-xr-x www www 6月 index.html
-rw-r--r-- www www 6月 info.php
lrwxrwxrwx root root 7月 : symboliclink.php -> test.php
-rw-r--r-- root root 7月 : test.php