你能告诉我标红的区域是什么吗?
如果我想更改/media/files/tb-prod/files
为其他路径,我该怎么做?
我对符号链接的基本理解是作为一个特殊文件,一个包含另一个文件的字符串路径的文件。内核的 VFS 抽象了很多,但有什么理由说明符号链接似乎无法编辑吗?
换句话说:我可以编辑符号链接吗?如果没有,为什么不呢?
我确实理解有多种替换符号链接的方法(答案部分目前有两种替代方法),但是解释为什么替换似乎是处理符号链接的唯一方法会很有趣。为什么你不能改变他们指向的地方?
我正在尝试(尽可能接近)以原子方式更改符号链接。我试过了:
ln -sf other_dir existing_symlink
Run Code Online (Sandbox Code Playgroud)
这只是将新符号链接放在 existing_symlink 指向的目录中。
ln -sf other_dir new_symlink
mv -f new_symlink existing_symlink
Run Code Online (Sandbox Code Playgroud)
这做了同样的事情:它将符号链接移动到目录中。
cp -s other_dir existing_symlink
Run Code Online (Sandbox Code Playgroud)
它拒绝,因为它是一个目录。
我读过这mv -T
是为此而制作的,但是busybox没有-T
标志。