Linux 硬连结和软连线
1.1 介绍
硬连结:(hard link)
只针对于档案,通过索引节点来进行连结, 在系统每一个档案和目录都会有一个 inode 索引节点,可以通过 ls –il 来检视当前目录下所有档案和目录的 inode,而系统中的所有档案都不会有相同的 indoe 。如果有相同的 indoe 那么这个档案连结著另一个文 件,内容是相同的并同步,称为硬连结。可以使用 ls –l 命令显示出它的硬连结数。删掉原始档,硬连结档案正常使用。
软连线:(symbolic link) 也称为符号连结
档案和目录都可以,软连线类似于 windows 下的快捷方式,删掉原始档后,软连线将不能正常使用。
1.2 实践
建立硬连结
#ln 原始档 目标档案
建立软连线
#ln –s 原始档 目标档案
1.2.1 硬连结
#mkdir /test
#cd /test
#touch aaa.txt
#echo “I am system administrator” >> aaa.txt
#ln aaa.txt /test/aaa.txt_hard_link
#ls -il
1144062 -rw-r–r– 2 root root 26 Feb 20 20:17 aaa.txt
1144062 -rw-r–r– 2 root root 26 Feb 20 20:17 aaa.txt_hard_link
可以看到两个档案的索引节点完全相同,而且硬连结数为 2,档案本身也是 1 个硬连结数,每增加一个硬连结就加 1, 而且里面的内容完全相同
#mkdir bbb
#ln bbb /test/bbb.txt_hard_link
ln: `bbb’: hard link not allowed for directory
硬连结是不能对目录操作
如果删掉 aaa.txt 原始档,它的硬连结档案 aaa.txt_hard_link 可以正常工作
1.2.2 软连结
#ln –s aaa.txt /test/aaa.txt_soft_link
#ls –il
1144062 -rw-r–r– 2 root root 26 Feb 20 20:17 aaa.txt
1144062 -rw-r–r– 2 root root 26 Feb 20 20:17 aaa.txt_hard_link
1144065 lrwxrwxrwx 1 root root 7 Feb 20 20:55 aaa.txt_soft_link -> aaa.txt
档案型别是 l 连结档案,
可以对档案或目录使用软连线,删掉原始档 aaa.txt. 它的软连线档案 aaa.txt_soft_link 不能正常使用
1.3 作用
软连结:可以简短路径和档名等
硬连结:可以对资料备份等,
档案连结数:建立出的新档案它的硬连结数是 1,档案本身是一个硬连结。
目录连结数:目录硬连结是 2 因为目录本身也是一个硬连结,目录里的. 点 (当前目录) 也是一个硬连结