您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

自动移动目录

自动移动目录

如果使用符号链接,则可以执行以下操作:

假设alpha是指向目录alpha_1的符号链接,而您想将符号链接切换为指向alpha_2。这是切换之前的样子:

$ ls -l
lrwxrwxrwx alpha -> alpha_1
drwxr-xr-x alpha_1
drwxr-xr-x alpha_2

要使alpha引用alpha_2,请使用ln -nsf:

$ ln -nsf alpha_2 alpha
$ ls -l
lrwxrwxrwx alpha -> alpha_2
drwxr-xr-x alpha_1
drwxr-xr-x alpha_2

现在您可以删除旧目录:

$ rm -rf alpha_1

请注意,这实际上不是完全原子的操作,但是由于“ ln”命令会同时取消链接然后立即重新创建符号链接,因此确实会很快发生。您可以使用strace验证此行为:

$ strace ln -nsf alpha_2 alpha
...
symlink("alpha_2", "alpha")             = -1 EEXIST (File exists)
unlink("alpha")                         = 0
symlink("alpha_2", "alpha")             = 0
...

您可以根据需要重复此过程:例如,当您有新版本alpha_3时:

$ ln -nsf alpha_3 alpha
$ rm -rf alpha_2
其他 2022/1/1 18:15:19 有428人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶