关于IT运维技术的
最佳实践博客网站

学习Linux文件系统之 软链接和硬链接 相关知识的总结

网上搜的一道企业面试题:描述linux下 软链接和硬链接 区别。

虽然知道 软链接和硬链接 是个什么东西,但是很难一口气回答出来。因此从新的学习整理了下 软链接和硬链接 的知识。现在回答起来就比较简单了。

试验准备,先创建一个 软链接和硬链接 文件来测试我们的结论。

#创建一个普通文件:源文件
touch source_file
#在源文件里面写点内容
[root@C65mini ~]# cat >>source_file <<EOD
My name is Source file
EOD
#创建硬链接
ln source_file hardlink_file
#创建软链接
ln -s source_file softlink_file

查看文件详情应该是这样

[root@C65mini ~]# ls -ilh
总用量 0
397207 -rw-r--r-- 2 root root  0 5月  26 21:38 hardlink_file
392450 lrwxrwxrwx 1 root root 11 5月  26 21:40 softlink_file -> source_file
397207 -rw-r--r-- 2 root root  0 5月  26 21:38 source_file

文件软链接硬链接的总结: 1、删除软链接对源文件以及硬链接,没有影响。

#查看源文件和硬链接得知内容没变化
[root@C65mini ~]# rm -f softlink_file 
[root@C65mini ~]# cat source_file 
My name is Source file
[root@C65mini ~]# cat hardlink_file 
My name is Source file

2、删除硬链接对源文件以及软链接,没有影响。

查看源文件和软链接得知内容没有变化
[root@C65mini ~]# rm -f hardlink_file 
[root@C65mini ~]# cat source_file 
My name is Source file
[root@C65mini ~]# cat softlink_file 
My name is Source file

3、删除源文件对硬链接没有影响,但是会导致软链接失效。

[root@C65mini ~]# rm -f source_file 
[root@C65mini ~]# cat hardlink_file 
My name is Source file
[root@C65mini ~]# cat softlink_file 
cat: softlink_file: 没有那个文件或目录

shixiao

4、同时删除源文件和硬链接文件,才会真正的删除文件!

[root@C65mini ~]# ll
总用量 8
-rw-r--r-- 2 root root 23 5月  26 21:49 hardlink_file
lrwxrwxrwx 1 root root 11 5月  26 21:57 softlink_file -> source_file
-rw-r--r-- 2 root root 23 5月  26 21:49 source_file
[root@C65mini ~]# rm -f hardlink_file source_file 
[root@C65mini ~]# ll
总用量 0
lrwxrwxrwx 1 root root 11 5月  26 21:57 softlink_file -> source_file
[root@C65mini ~]# cat softlink_file
cat: softlink_file: 没有那个文件或目录

shixao2

5、源文件和硬链接文件具有相同的索引节点编号,可以认为是同一个文件的多个入口。

[root@C65mini ~]# ls -ilh
总用量 0
397207 -rw-r--r-- 2 root root  0 5月  26 21:38 hardlink_file
392450 lrwxrwxrwx 1 root root 11 5月  26 21:40 softlink_file -> source_file
397207 -rw-r--r-- 2 root root  0 5月  26 21:38 source_file

6、很多的硬件设备中的快照功能,就是利用硬链接的原理。 7、源文件和软链接文件的索引节点号不同,可以认为是不同的文件,软链接是源文件的快捷方式!

目录软链接硬链接总结: 1、对于目录,不可以创建硬链接,但是可以创建软链接。

#报错提示了
[root@C65mini ~]# ln /usr/local/src/ source_hard
ln: "/usr/local/src/": 不允许将硬链接指向目录
[root@C65mini ~]# ln -s /usr/local/src/ source_soft

2、对目录创建软链接是生产环境中Linux运维常用的技巧(例如软件的版本号)

3、文件的文件系统不能跨越,所以目录是不能创建硬链接的!

4、每个目录下面都有一个硬链接当前目录”.“以及上一级目录的链接”.”

赞(0)
未经允许不得转载:菜鸟HOW站长 » 学习Linux文件系统之 软链接和硬链接 相关知识的总结
分享到: 更多 (0)

留下你的脚印

  订阅  
关注动态