如何压缩目录


21

每隔一段时间,某些应用程序就会疯狂运行,并在目录中填充大量文件。修复错误并清理文件后,即使其中只有20-30个文件,该目录仍然很大(> 50MB)。

是否存在一些无需重新创建目录即可压缩目录的命令?

优点:巨大的空目录会影响该目录的访问性能吗?我以为是这样,但是也许不值得花时间。ls在这样的目录上执行速度似乎较慢。


我不认为有这样的事情(但是我当然可以完全错了)。不过,也许某些文件系统特定的工具-您正在使用什么FS?
Mat

ext3,但我在Unix世界中处理的大多数文件系统上都看到了这个问题。我也不认为有这样的工具,但是我想被证明是错误的。
Mathieu Longtin

4
我将您的问题标记为“ ext3”,因为该问题是特定于文件系统的。我不知道ext3的答案(我怀疑您需要重新创建目录才能缩小它),但是您是否曾尝试强制使用fsck?ext3 fsck具有“优化目录”通道。我不知道该怎么做,但是也许它会缩小太大的目录?无论如何,作为数据点FWIW,xfs会自动收缩已删除文件的目录。
Celada

您是否偶然删除了打开的文件?
卡森(Karlson)2012年

1
BSD和Mac HFS上的ufs都会同时收缩目录。我惊讶地发现ext3没有。ext4似乎也不这样做。
凯尔·琼斯

Answers:


10

e2fsck -D在卸载的文件系统上运行。


1
我希望能减少破坏性。
Mathieu Longtin

1
@MathieuLongtin,您还可以将所有内容移至新目录,删除旧目录,然后将新目录重命名。
psusi 2012年

我知道这个技巧,但是使用目录作为当前工作目录时,它可能会使进程混乱。
Mathieu Longtin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.