使用错误的文件名Linux删除损坏的文件

前端之家收集整理的这篇文章主要介绍了使用错误的文件名Linux删除损坏的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
昨晚我有一个Dovecot服务器锁定它损坏了用户的maildir中的文件.文件名现在有特殊字符,无法删除,所有命令行工具都说无法找到该文件,即使它通过LS命令显示.
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc

您可以在名称中看到特殊字符,例如“Ώ”或“Έ”.

我似乎无法找到任何方法删除文件.

我应该做一个fsck吗?

编辑1:

我最终创建了一个新的“cur”目录并将所有好的电子邮件移到了它上面.我将旧的“cur”目录重命名为“bad cur”

我试过以下……

sh-3.2# rm -rf badcur
rm: badcur: Directory not empty
sh-3.2# cd badcur
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,W?11473:2,Sbc
sh-3.2# rm -rf 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,Sbc
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,Sbc
sh-3.2# ls -i
ls: 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,Sbc: No such file or directory
sh-3.2#

解决方法

您可以尝试使用-i,它会向您显示一个问题
rm -i 1386141318.M854059P*
rm: remove regular file '1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,Sc'?

并回答你

您可以使用它的inode编号删除文件.使用ls -li获取文件的inode编号.获得后,使用find删除

find . -inum <inode number> -delete

猜你在找的Linux相关文章