我如何删除文件以及与要删除的文件相关的所有链接?
rm -f file.txt
仅删除文件。此外,如果文件系统有其他硬链接,则不会删除该文件。
实现这一目标最有用的方法是什么?
或者可能有一个命令可以获取文件的完整链接列表。
答案1
用于ls -li filename
获取文件的 inode。然后find <the same filesystem> -inum <inode>
获取具有相同 inode 的文件
这将确保你找到文件的所有副本(硬链接)。软链接不重要,因为它们只指向原始文件
答案2
要查找文件的所有链接(硬链接和符号链接),请使用find
带有-L
和-samefile
选项的命令,如下所示:
find / -L -samefile file.txt
您可以将其与rm
或与find
-delete
删除这些文件的操作结合使用,但这样做会让我感到紧张,因为我必须先查看要删除的文件列表。此外,如果您在找到 file.txt 的所有链接之前将其删除,那么找到这些链接将变得更加困难。