ディレクトリを圧縮する方法


21

多くの場合、一部のアプリケーションはワイルドに実行され、膨大な量のファイルでディレクトリをいっぱいにします。バグを修正してファイルをクリーンアップすると、20〜30個のファイルしかない場合でもディレクトリは大きくなります(> 50MB)。

ディレクトリを再作成せずに圧縮するコマンドはありますか?

ボーナスポイント:巨大な空のディレクトリは、そのディレクトリのアクセスパフォーマンスに影響しますか?私はそれがそうであると仮定しています、しかし、多分それは気にする価値がありません。そのようなlsディレクトリで行うのは遅いようです。


私はそのようなことはないと思います(しかし、もちろん完全に間違っている可能性があります)。たぶん、いくつかのファイルシステム固有のツール-どのFSを使用していますか?
マット

ext3ですが、Unixの世界で扱ったほとんどのファイルシステムでその問題を見てきました。私もそのようなツールがあるとは思わないが、間違っていると証明されたい。
マチューロンタン

4
この質問はファイルシステム固有であるため、「ext3」という質問にタグを付けました。ext3の答えはわかりません(縮小するにはディレクトリを再作成する必要があると思います)が、強制しようとしましたfsckか?ext3 fsckには「ディレクトリの最適化」パスがあります。私はそれが何をするのか分かりませんが、多すぎるディレクトリを縮小するのでしょうか?とにかく、データポイントFWIWとして、xfsはファイルが削除されたディレクトリを自動圧縮します。
セラダ

開いているファイルを偶然削除しましたか?
カールソン

1
BSDとMac HFSのufsは、どちらもその場でディレクトリを縮小します。ext3がそうでないことを知って驚いた。ext4もそれを行っていないようです。
カイルジョーンズ

回答:


10

e2fsck -Dマウントされていないファイルシステムで実行します。


1
破壊的でないものを望んでいました。
マチューロンタン

1
@MathieuLongtin、すべてを新しいディレクトリに移動し、古いディレクトリを削除して、新しいディレクトリの名前を変更することもできます。
psusi

私はそのトリックを知っていましたが、現在の作業ディレクトリとしてディレクトリを使用してプロセスを台無しにすることができます。
マチューロンタン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.