删除目录 + 取消文件链接

删除目录 + 取消文件链接

我有一个文件夹,里面有很多文件,这些文件有几个指向它们的符号链接,比如

/some_path -> /dir/file1
/some_path2 -> /dir/file2
/some_path3 -> /dir/file3

但是我既不记得some_path哪个文件有dir指向它们的符号链接。

现在我需要删除dir(出于某些原因我确实需要它)。而且我也不希望任何文件指向任何文件,dir因为我会删除它。

我如何解除链接那些文件?如果我直接删除dir,它们会自动解除链接吗?

答案1

要取消文件链接,

unlink /path/to/the/link_file

如果你删除它,dir它不会自行取消链接。如果你点击之后的链接deleting dir,它会显示如下,

在此处输入图片描述

答案2

如果somepaths 位于同一位置,并假设它们与 位于同一文件系统/dir,我们可以进行猜测并使用丹尼斯·威廉姆森方法

find -L / -xdev -samefile /dir/file1

因此,假设/dir/file1是原始文件,并且/opt/foo是符号链接,则此命令应/在不跨越 的/文件系统边界的情况下遍历并找到与原始文件相同的所有文件。这将包括符号链接和硬链接。

我们还可以用来lname查看符号链接的内容是否指向/dir/file1

find -lname "*passwd*"

然而,更合理的方法可能是dir先移动或删除,然后按照用户 rozcietrzewiacz 的回答在相关帖子上

find / -xdev -type l ! -exec test -e {} \; -print

如果你想摆脱那些损坏的符号链接,你-delete也可以使用标志

相关内容