如何删除与要删除的文件相关的文件和所有链接?
rm -f file.txt
只删除文件。此外,如果文件系统有任何其他硬链接,该文件将不会被删除。
最有用的方法是什么?
或者可能有一个命令来获取文件的完整链接列表。
如何删除与要删除的文件相关的文件和所有链接?
rm -f file.txt
只删除文件。此外,如果文件系统有任何其他硬链接,该文件将不会被删除。
最有用的方法是什么?
或者可能有一个命令来获取文件的完整链接列表。
Answers:
使用 ls -li filename
获取文件的inode。然后 find <the same filesystem> -inum <inode>
获取具有相同inode的文件
这将确保您找到文件的所有副本(硬链接)。软链接不感兴趣,因为它们只是指向原始文件
要查找文件的所有链接(硬盘和符号文件),请使用 find
命令与 -L
和 -samefile
选项,像这样:
find / -L -samefile file.txt
你可以把它与 rm
或与 find
-delete
在一个命令中删除这些文件的操作,但是如果不先查看要删除的文件列表,就会让我感到紧张。此外,如果在找到所有链接之前删除file.txt,则查找链接会更加困难。
-L
应该在搜索路径之前,但我不推荐它,因为符号链接可以将搜索带入其他文件系统。你最好使用 find <File System root> -lname "*FileName" -exec ls -l {} \;
。该 *
是因为链接可以指定为简单名称或前面有目录路径(绝对或相对),但它可能会给出错误的查找 - 前面有额外字符的名称,或其他目录中的相同名称: ls
将显示链接包含的内容,如果在删除文件和硬链接后运行命令,突出显示将显示哪些内容已失效。