首页 > 解决方案 > 如何打破符号链接但在 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/ 的内容是相同的,因为链接。

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

标签: linuxsymlink

解决方案


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

cp -rL bar new-bar

删除符号链接:

rm bar

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

mv new-bar bar


推荐阅读