linux硬链接与软链接
在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 总用量 16 854187 -rw-r--r-- 2 root root 87 7月 27 18:16 hardlink.php 853958 -rwxr-xr-x 1 www www 44 6月 12 2014 index.html 853959 -rw-r--r-- 1 www www 20 6月 12 2014 info.php 854188 lrwxrwxrwx 1 root root 8 7月 27 17:43 symboliclink.php -> test.php 854187 -rw-r--r-- 2 root root 87 7月 27 18:16 test.php