硬连接
硬链接一旦建立,源文件和链接文件的任意一方修改则会同步修改。本质上是同一个文件
命令:ln
参数:
-i 交互模式。
-s 软链接(符号链接)。如果不加 “-s” 选项,则建立硬链接文件
-d 允许超级用户制作目录的硬链接。
-b 删除,覆盖以前建立的链接
-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
实例
我有个需求,maven的conf/settings.xml
和~/.m2/settings.xml
需要保持一致,我将settings.xml放在~/.m2/
下然后给maven不同版本的conf目录下建立硬链接,这样我只需要更改一份settings就能同步到不同版本的maven配置了。实操如下:
ls
# logging settings.xml toolchains.xml
ln -f ~/.m2/settings.xml ./settings.xml # 建立链接
sha1sum settings.xml # 计算源文件哈希值
# a47e3626db15b2378f195a1e31cbe481f4e940f5 settings.xml
sha1sum ~/.m2/settings.xml # 计算硬连接文件哈希值
# a47e3626db15b2378f195a1e31cbe481f4e940f5 /Users/aegon/.m2/settings.xml
code settings.xml # vscode编辑
sha1sum settings.xml
# 3fd6a6cc7fe544d1520db2c1103c9b0285bd5f73 settings.xml
sha1sum ~/.m2/settings.xml
# 3fd6a6cc7fe544d1520db2c1103c9b0285bd5f73 /Users/aegon/.m2/settings.xml
code ~/.m2/settings.xml
sha1sum ~/.m2/settings.xml
# 6a1a9e6523629934e63b8aea22c50bfa07a94d66 /Users/aegon/.m2/settings.xml
sha1sum settings.xml
# 6a1a9e6523629934e63b8aea22c50bfa07a94d66 settings.xml