-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
构造
touch f1
ln f1 f2 # 硬连接文件f2
ln -s f1 f3 #软连接文件f3
ls -li # -i参数显示文件的inode节点信息
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
验证
echo "I am f1 file" >>f1
cat f1---I am f1 file
cat f2---I am f1 file
cat f3---I am f1 file
rm -f f1
cat f2---I am f1 file
cat f3---cat: f3: No such file or directory
通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总结
1).删除软连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
值得一看的文章: