回答:
より最適化されたバージョンに関してはdu
、私はそれを知りません。頭に浮かぶのは:
stat -c '%h'
)-2の場合、ディレクトリのハードリンク数を使用するだけでこれをすばやく実行できます。これらすべての中で、クォータと専用パーティションのオプションがおそらく最も簡単で最も効率的です。
問題は、「du」がサブツリー内のすべてのオブジェクトを列挙する必要があることです。これはメタデータを多用する操作であり、ほとんどのLinuxファイルシステムでは時間がかかります。一部のファイルシステム、NTFS、NovellのNSS は、メタデータでこのようなディレクトリサイズを追跡する機能を備えているため、この操作を大幅に高速化できます。一般に、ファイルシステムが何らかの種類のディレクトリクォータをサポートしている場合、強制のためにこのデータを内部で追跡する必要があります。サイズの変更はすべて、ディレクトリツリーからクォータポイント(NTFS)またはすべてのディレクトリ(NSS)にレプリケートされます。 )発生した場合、ディレクトリツリーのサイズを取得するのは非常に高速です。
残念ながら、du runを高速化する方法はなく、回避策があります。
du -h --max-depth=1
現在の作業ディレクトリからのサイズを人間のKB / MB / GB形式で示します。
ルートファイルシステムのディスク使用量だけが必要な場合は、
df -h /
たぶん
df -h
serverfaultが私を人間だと考えるには、短く簡潔な答えからの余分なテキストでは不十分です。
ファイルシステムが頻繁に変更されない場合は、dnotifyを使用してディスク使用量を計算する必要があります。