Linux中的硬连接和软连接怎么用

2018-03-01 11:00:18来源:https://www.jianshu.com/p/29acb9329b24作者:胡晓的简书人点击

分享



一、硬连接是一个文件拥有两个文件名,软连接是创建类似windows的快捷方式



比如我在test目录下,新建一个test.md文件,然后建立一个硬连接和一个软连接


#创建text.md文件
touch test.md
#创建一个硬连接
ln test.md hardlink.md
#创建一个软连接
ln -s test.md softlink.md

然后看一下目录结构,可以看到:
1、hardlink.md和test.md是一模一样的文件,实际上只是一个文件,两个文件名(这种机制在windows好像没有)
2、而softlink.md指向test.md





image.png


二、编辑



如果编辑任何一个文件,则3个都是同步的
所以编辑的情况下,软连接和硬连接并没什么区别。



三、删除



如果我删除test.md或者hardlink.md,另一个并不会收到影响,可以认为你只是删除了其中一个文件名。


不过如果你删除了test.md,那么softlink.md就会被标识为红色,表示源文件gg了,不过也可以看出,softlink.md仍然指向test.md





image.png

所以如果重新新建test.md,则softlink.md依然可用。
通过touch test.md或者touch softlink.md都可以新建test.md


但是hardlink.md和test.md就是完全不相干的两个文件了。



四、其他



通常情况下软连接用的比较多
文件夹只能建立软连接
如果跨磁盘,也只能用软连接



五、总结



所以貌似软连接更屌也更常用
硬连接唯一的特性就是删掉任意一个其他的还存在,不过我感觉这个特性貌似并没有什么卵用,反而容易被滥用








微信扫一扫

第七城市微信公众平台