互联网上有很多关于这方面的内容,但大多数例子都是虚构的。如何删除真的固执?例如,
$ find ./ -inum 167794
./àKÈÿÿÿÿ@
$ find ./ -inum 167794 -exec rm \"{}\" \;
rm: cannot lstat `"./\037\340\025K\021\004\310\377\377\377\377@\020\002"': Invalid or incomplete multibyte or wide character
答案1
尝试删除转义的双引号。我相信 rm 认为它们是文件名的一部分。
find ./ -inum 167794 -exec rm {} \;
答案2
使用现代查找(版本 4.2.3 或更高版本)的更好方法:
find ./ -inum 167794 -delete
答案3
如果你想要对我所知道的每个 shell 进行安全引用,请使用以下命令:
find ./ -inum 167794 -exec rm '{}' ';'