首页 / LINUX / Linux中软链接与硬链接详细解读
Linux中软链接与硬链接详细解读
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux中软链接与硬链接详细解读,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2598字,纯文字阅读大概需要4分钟。
内容图文
![Linux中软链接与硬链接详细解读](/upload/InfoBanner/zyjiaocheng/1063/de6a23237a0f49b58e948ace0ab0d6c0.jpg)
1.测试环境模拟
2.软链接特性
3.硬链接特性
4.总结
1.测试环境模拟
1 2 3 4 5 6 7 8 9 10 11 12 13 | [root@localhost home]# mkdir test 创建测试文件夹 [root@localhost home]# cd test/ 进入测试文件夹 [root@localhost test]# touch link 创建原文件link [root@localhost test]# echo "my name is link">>link 写入内容到原文件link [root@localhost test]# cat link 查看原文件内容 my name is link [root@localhost test]# ln -s link softlink 创建软链接 [root@localhost test]# ln link hardlink 创建硬链接 [root@localhost test]# ll total 8 -rw-r--r--. 2 root root 16 Dec 8 18:21 hardlink 硬链接 -rw-r--r--. 2 root root 16 Dec 8 18:21 link 原文件 lrwxrwxrwx. 1 root root 4 Dec 8 18:22 softlink -> link 软链接 |
2.软链接特性
1 2 3 | -rw-r--r--. 2 root root 16 Dec 8 18:21 link 原文件
lrwxrwxrwx. 1 root root 4 Dec 8 18:22 softlink -> link 软链接 |
对比差别是不是发现有几点不同?
1.原文件inode为2软链接为1
2.权限不同
3.文件大小不同
4.软链接后面有个指向link的标志
1 2 | [root@localhost test]# cat softlink my name is link |
软链接内容一样。
1 2 3 4 | [root@localhost test]# rm softlink rm: remove symbolic link ‘softlink’? y [root@localhost test]# cat link my name is link |
删除软链接原文件是正常的
1 2 3 4 | [root@localhost test]# rm link rm: remove regular file ‘link’? y [root@localhost test]# cat softlink cat: softlink: No such file or directory |
删除原文件软链接找不到文件了,综上证明软链接就是个快捷方式而已!!!
如果我把软链接改名称会发生什么?
1 2 3 4 5 6 7 | [root@localhost test]# mv softlink testsoftlink [root@localhost test]# ll total 8 -rw-r--r--. 1 root root 16 Dec 8 18:36 link lrwxrwxrwx. 1 root root 4 Dec 8 18:34 testsoftlink -> link [root@localhost test]# cat testsoftlink my name is link |
实验证明改名并没有什么卵用,打开软链接照样可以看到内容,为什么?
因为linux识别一个文件不看名称,看inode值!!!
也就是说inode值相同文件内容一样。
那么文件可以创建软链接,目录可以吗?
1 2 3 4 5 | [root@localhost test]# mkdir wj [root@localhost test]# ln -s wj softwj [root@localhost test]# ll lrwxrwxrwx. 1 root root 2 Dec 8 18:54 softwj -> wj drwxr-xr-x. 2 root root 6 Dec 8 18:54 wj |
目录可以创建软链接
3.硬链接特性
1 2 3 4 5 6 | [root@localhost test]# ll total 8 -rw-r--r--. 2 root root 16 Dec 8 18:36 hardlink -rw-r--r--. 2 root root 16 Dec 8 18:36 link [root@localhost test]# cat hardlink my name is link |
观察得出硬链接就是个原文件的备份
1 2 3 4 | [root@localhost test]# rm link rm: remove regular file ‘link’? y [root@localhost test]# cat hardlink my name is link |
删除原文件,硬链接是可以看到内容的,so。这就是与软链接的不同之处之一。
那么硬链接是否可以像软链接一样创建目录链接呢?
1 2 3 | [root@localhost test]# mkdir cs [root@localhost test]# ln cs hardcs ln: ‘cs’: hard link not allowed for directory |
不可以的。为什么呢?
因为那个唯一值!如果目录inode一样会怎么样?
在访问软链接的时候通过软链接直接的跳转到原文件,这样就访问了内容
在访问软链接目录的时候通过遍历目录内容也可以找到,就算文件夹里面inode值有一样的循环了,linux可以在8个循环内终结。
但是
如果我们的硬链接访问了,其实原文件变不变与它已经没有关系了
我们的硬链接如果有硬链接目录,那么遍历的时候遇到inode值一样的目录里面的内容,全部遍历一遍,环路至少在目录的linux系统中终结不了,所以硬链接目录是不能创建滴!!!
4.总结
软链接类似快捷方式,原文件内容变了软链接的也会变,影响文件的不是名称而是inode值,软链接是可以创建软链接目录的。
硬链接类似备份,原文件内容变化不影响硬链接,所以通常在工作用作为快照使用,硬链接没有硬链接目录。
原文:http://blog.51cto.com/6385213/2057119
内容总结
以上是互联网集市为您收集整理的Linux中软链接与硬链接详细解读全部内容,希望文章能够帮你解决Linux中软链接与硬链接详细解读所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。