如何打破符号链接但保留 Linux 上的目录内容

How break symlinks but preserve directory contents on Linux

我的目录结构如下所示

foo/
   bar/
     a.txt
     b.py
     c.py

如果你执行 ls -l 你会看到类似

的东西
test@test:/home/foo$ ls -l
lrwxrwxrwx    1        48 Oct 21 12:14 bar -> /lib/python2.7/site-packages/linked_dir/

所以 bar/ 和 linked_dir/ 的内容是一样的,因为 link.

我想破坏 link 但保留 bar/ 目录及其内容。我在网上看到打破 link 的是 rm <link> 但这完全删除了 bar/ 目录。有什么办法可以完成我想要的吗?

首先复制符号链接指向的任何内容。通过使用 -L,cp 将取消引用符号链接:

cp -rL bar new-bar

删除符号链接:

rm bar

将您的新副本重命名为原始名称:

mv new-bar bar