想知道如何在 Mac OS 和 Linux 上删除名称为“-f”或“-r”的文件。正确的退出方法是什么?我做了一些研究,似乎唯一的方法是通过 inode ID 删除?
提前谢谢林
答案1
您可以使用rm ./'-f'
和rm ./'-r'
、rm -i ./*
或rm -i ./-*
。这些解决方案是众所周知的。
答案2
Larssend 的解决方案(在指定文件名之前指定当前目录)效果很好。不过,我再给你另一个解决方案:
rm -- -f
因此,在指定具有挑战性的文件名之前,请传递两个连字符的参数。
-- 表示“不再尝试将即将到来的字符视为选项”,因此连字符将不再充当后面参数中的特殊字符。有助于确保以连字符开头的文件不会导致您意外指定一些非预期的选项。这是程序功能,而不是 shell 功能,因此不同程序对该功能的支持可能有所不同,但许多标准 Unix 程序都支持它。