我已经阅读了几种删除带有特殊字符的文件的方法,但在我的缓存系统的一个特殊文件夹中,没有一种方法适合我。
我不知道这些文件是如何到达那里的,以及为什么它们变成了幽灵文件。
如果我这样做:“ls -li”在我的缓存\1\a文件夹中,我会得到以下列表(部分屏幕转储):
335413265 -rw-r--r-- 1 www-data www-data 58734 七月 30 日 08:18 1ah17.xml 335413267 -rw-r--r-- 1 www-data www-data 63256 8 月 2 日 22:12 1ah1.xml ? ?????????? ? ? ? ? ? 1ah2.xml ? ?????????? ? ? ? ? ? 1ah+-+cyan12.xml ? ?????????? ? ? ? ? ? 1ah+-+cyan1.xml ? ?????????? ? ? ? ? ? 1ah+-+cyan30.xml ? ?????????? ? ? ? ? ? 1ah+-+cyan31.xml ? ?????????? ? ? ? ? ? 1ah+-+gr%C3%B8n1.xml ? ?????????? ? ? ? ? ? 1ah+-+gr%C3%B8n5.xml ? ?????????? ? ? ? ? ? 1ah+-+gr%C3%B8n6.xml ? ?????????? ? ? ? ? ? 1ah+-+r%C3%B8d1.xml ? ?????????? ? ? ? ? ? 1ah+-+sort2.xml 335413265 -rw-r--r-- 1 www-data www-data 58734 七月 30 日 08:18 1ah+-+sort3.xml ? ?????????? ? ? ? ? ? 1ah+-+sort8.xml 242562822 -rw-r--r-- 1 www-data www-data 61613 8 月 2 日 07:35 1amp+操作+in+c 压边+工具+数量+引脚%3A+-1.xml
所以我得到了很多没有索引节点号的文件。如果我在文件夹中进行“查找”,我会收到很多错误,指出它无法读取幽灵文件。
我怎样才能删除这些文件和/或整个文件夹?
答案1
字符行?
表示与文件不对应的目录条目。这表明您的文件系统已损坏。您将无法调用rm
删除这些文件,因为这些文件实际上并不存在,只有一个悬空标签。您需要运行文件系统检查和修复(fsck
)。
鉴于这是在您的根分区上,如下所示由 GarethTheRed 提供建议,重新启动系统并在重新启动时强制执行 fsck。有多种方法可以在重新启动时强制执行 fsck:
touch /forcefsck
tune2fs -C 999999999 /dev/sda1
sda1
包含文件系统的块设备在哪里- 在启动时将命令行选项传递
forcefsck
给内核