![如何删除目录符号链接而不破坏依赖于它的文件?](https://linux22.com/image/172559/%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E7%9B%AE%E5%BD%95%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5%E8%80%8C%E4%B8%8D%E7%A0%B4%E5%9D%8F%E4%BE%9D%E8%B5%96%E4%BA%8E%E5%AE%83%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
为了简单起见,假设以下情况,其中文件夹是一个符号链接新建文件夹:
.
├── folder -> new_folder/
├── new_folder
│ └── test.sh
└── exectest.sh
的内容测试文件是:
#!/bin/bash
echo 'test'
的内容执行测试脚本是:
#!/bin/bash
echo 'executing test'
./folder/test.sh
如果我运行./exectest.sh
,输出如预期:
executing test
test
现在假设我想删除文件夹,所以我会这样做unlink folder
。但如果我运行./exectest.sh
,它会抛出一个错误:
executing test
./exectest.sh: line 3: ./folder/test.sh: No such file or directory
所以我的问题是:如何删除文件夹不破裂执行测试脚本?
如果这很重要的话,我的用户文件夹也发生了类似的情况:当我购买这台计算机时,~目录是/主页/用户/。过了一段时间,我决定改成/home/新用户/。就像在那段时期我安装了一些依赖于/主页/用户/,我创建了一个名为的符号链接/主页/用户/指向/home/新用户/。现在我想删除/主页/用户/并只保留/home/新用户/,但它会破坏一些仍然依赖它的文件。
在这种情况下该怎么办?提前致谢。
答案1
这个问题没有简单的答案。
您将必须搜索引用/home/user
(或folder
) 的所有文件,并希望它们是可编辑的并且可以更改为/home/new_user
(或new_folder
)。