![如何清除超过一百万个幽灵文件?](https://linux22.com/image/978644/%E5%A6%82%E4%BD%95%E6%B8%85%E9%99%A4%E8%B6%85%E8%BF%87%E4%B8%80%E7%99%BE%E4%B8%87%E4%B8%AA%E5%B9%BD%E7%81%B5%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我定期在我的 Lubuntu 机器(内核 3.13.0-35-generic)上运行 Bleachbit 1.0。上次,我选中了清除可用磁盘空间的选项,主要是为了尝试一下。程序卡在一条消息上,说大约一分钟后就会完成。几个小时后我把它杀了,但我担心我的 Linux 系统乱了。首先,我在我的主目录中发现了一个包含数十万个文件的新文件夹(不记得它的名字了:它看起来像一个随机的字母数字序列)。我能够使用“rm -rf”将其删除,花了将近一个小时。问题是,当我用“df -i”检查我的 inode 时,我得到了大量的 IUsed:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda6 2899968 1725783 1174185 60% /
none 220155 2 220153 1% /sys/fs/cgroup
udev 215362 514 214848 1% /dev
tmpfs 220155 521 219634 1% /run
none 220155 3 220152 1% /run/lock
none 220155 1 220154 1% /run/shm
none 220155 16 220139 1% /run/user
几乎有 200 万个 inode?我的整个文件系统使用了大约 10 GB。我浏览了网页,试图查看是否在某个地方创建了大量小文件。
ae:/ $≻sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
[sudo] password for ae:
15 tmp
88 opt
129 sbin
132 bin
287 boot
1180 etc
3449 home
5519 lib
8101 var
96802 usr
1558827 root
这很奇怪。除了列出的目录之外,我的根目录中只有两个链接:指向 initrd.img 和指向 vmlinuz。lost+found 中没有任何内容:
sudo ls -l lost+found/
[sudo] password for ae:
total 0
另一方面,ls 和“find . -iname \*”都看不到上面报告的一百五十万个文件中的任何一个。
我非常担心我的文件系统有问题。我在根目录中创建了一个文件 forcefsck 并重新启动,但 fsck 说磁盘没有问题。那么...我是否必须粉碎分区并从 Clonezilla 备份中恢复它?我更愿意找出问题到底是什么并修复它。如果您能帮忙,我将不胜感激。我也有一个建议。我不能确定我的问题是否由 Bleachbit 引起,但我读到(太晚了)有几个人抱怨 Bleachbit 在尝试擦除可用空间时卡住了。Bleachbit 可能会警告用户擦除功能是实验性的,可能会造成危害。
答案1
如果您想删除所有这些小文件,我建议运行这两个命令:
cd /
rm -r 6jF8vak8\ H
(如果“/6jF8vak8 H”是托管所有这些文件的目录,就像您在评论中提到的那样。)
如果此命令失败,可能是因为您没有写入该目录的权限,在这种情况下您需要使用 sudo - 这在根目录中具有潜在危险。
要极其小心,并仔细检查间距。事实上,我建议在终端中输入“rm -r 6jF”(或前几个字符),然后按 Tab 键,这样应该会自动完成目录。如果没有自动完成(并且您位于根目录中),请不要运行该命令。使用此方法将确保您不会意外在根目录本身上运行 rm -r。
其他警告:
- 我不知道删除这些文件会对 bleachbit 产生什么影响。
- 对一百万个文件运行此命令可能会花费大量时间。