删除文件和符号链接与覆盖文件

时间:2012-01-21 01:42:52

标签: bash symlink

我最近阅读了一些更新服务器代码的源代码。而不只是写这个来更新myfile

mv myfile.inactive myfile

有这个:

rm myfile
ln -s myfile.inactive myfile

有什么区别?你为什么要第二种方式呢?

myfile可能是可执行文件,也可能是当前正在运行的进程,如果这会产生影响。

1 个答案:

答案 0 :(得分:2)

第一个版本将myfile.inactive重命名为myfile。在该命令之后,再没有myfile.inactive

第二个创建myfile.inactive的符号链接。所以这个文件仍然存在。删除(rm myfile)文件时,只删除符号链接。请记住,如果更改myfile,它也会在myfile.inactive中更改。 此版本很容易更改您正在使用的版本。例如myfile.debug,myfile.live,myfile.version1,myfile.version2 ...你只需要将符号链接更改为其中一个文件以“激活”你想要的文件。