Linux硬链接和软连接的区别
硬链接
ln
-
硬链接是在同一个分区中给一个文件起多个名字
-
删除任意一个非最后一个硬链接文件名,不影响文件本身
软连接
ln -s
-
纯粹的快捷方式。创建软连接相当于创建了一个新的文件,但事实是一个快捷方式。
-
可以跨分区,可以对文件夹创建软连接。
-
写软连接时候要写绝对路径。如果写相对路径,需要写针对源文件的相对路径。
-
依赖于源文件或文件夹,删掉源文件,则软连接文件失效。删掉软连接文件不影响源文件
软硬连接区别总结
1.本质
软:创建了一个指向源文件的快捷方式文件
硬:文件起了个新名字,但还是同一个文件
2.跨分区
软:可以跨分区,跨设备
硬:只能在同一分区
3.inode
软:因创建了新文件,inode号和源文件不同
硬:因只是起了一个新名字,inode号和源文件相同
4.链接数
软:只是创建了快捷方式,文件本身链接数不变
硬:创建或删除,链接数改变
5.对象
软:可以是文件或文件夹
硬:只能是同分区文件
6.文件类型
软:只是快捷方式,文件类型为l
硬:和源文件相同
7.删除源文件
软:删除源文件则链接文件失效
硬:删除源文件,但硬链接文件仍在,则文件仍在,只是删除了一个名
8.文件大小
软:快捷方式的大小
硬:和源文件同样,但不另外多占空间,只占一份空间
9.相对路径
软:需要针对源文件写相对路径
硬:需要针对当前目录写相对路径
10.应用范围
软:应用较多,方便快捷,便于管理和使用
硬:应用较少,如同拷贝(cp -p) + 同步更新功能。
应用实例
项目的平滑无感知升级和回滚
项目文件,建立软链接,根据后台项目版本的不同,更改软链接指向,从而达到不同版本项目无感知平滑升级和回滚。
* * *
胖并快乐着的死肥宅
* * *