LSによるディレクトリのサイズを取得することができません。

StackOverflow https://stackoverflow.com/questions/679567

  •  21-08-2019
  •  | 
  •  

質問

私は(ファイルは内部のディレクトリのサイズに属している)ディレクトリのサイズを取得するために失敗したコマンドを実行します。

ls -lSrh

私は、その内容が、それ以上である間のみ、ディレクトリのサイズのためにキロビット取得ます。

をどのように一覧表示することができますによって数でその内容を含むディレクトリのサイズのLS の?

役に立ちましたか?

解決

du -sh directory_name

lsはあなたのディレクトリのではなく、ディレクトリの内容のエントリの大きさを与えるために起こっています。 man lsの私の迅速な脱脂に基づいて(それは高価な操作になるので、最も可能性の高い)ダウンlsダイビングをするとディレクトリのサイズを計算する方法があるように表示されません。

他のヒント

あなたは、ディレクトリのサイズを取得したい場合は、使用することができます。

du -sh

あなたは大きなディレクトリを持つまでdu -hsが大きいます。

たとえば、あなたが(例えばRailsのためのファイルシステムのキャッシュストアを)キャッシュファイルを格納する場合やアップロードされたファイル、...パーティションスキーマを持つ、「キャッシュ/ 123] / 789分の456 / real_files」のように、あなたはそれらの多くを持っています、duは最終的にすべてのIOをブロックし、永遠に取ってます。

私はよりよい解決策を持っていないが、これはあなたがピーク時の運用サーバー上でこれを実行する前に考慮する必要がある。

あなたが行うことができますショーン明るいの答えのビル(BASHで)次の

for each in $(echo */ | sed "s/ /\n/g" | sed "s/\///g");  do du -hs "$each"; done;

これは、現在のディレクトリ内のすべてのディレクトリの完全なディレクトリの内容を取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top