[译]硬链接与软链接的区别

摘自:
what-is-the-difference-between-a-hard-link-and-a-symbolic-link

一图胜千言。

一例胜百图。
创建两个新文件:

touch blah1
touch blah2

向里面添加点内容

echo "Cat"  > blah1
echo "Dog" > blah2

查看添加的内容:

cat blah1; cat blah2
Cat
Dog

创建硬链接和软链接

ln blah1 blah1-hard
ln -s blah2 blah2-soft

查看下我们创建的东西

ls -l 
blah1
blah1-hard
blah2
blah2-soft -> blah2

修改blah1的名字没有什么影响

mv blah1 blah1-new
cat blah1-hard
Cat

blah1-hard指向的是inode,所以文件的内容没有变化。

mv blah2 blah2-new
ls blah-soft
blah2-soft
cat blah2-soft
cat: blah-soft: No such file or directory

文件的内容没有办法找到,因为软链接是指向的名字,而名字已经被修改了,所以找不到对应的文件。
因此:
blah1被删除了,但是blah1-hard仍然拥有内容。
blah2被删除了,但是blah2-soft是一个指向不存在文件的链接。

猜你喜欢

转载自www.cnblogs.com/everfight/p/linux_link.html
今日推荐