- ベストアンサー
ディレクトリのサイズを順番に表示したい
# ls -la としても,ファイルのサイズは正確にでるのですが, ディレクトリのサイズがどれも512とか1024とかしかでません. これを正確に出力した上で, ディレクトリの大きさ順に出力いたいのですが どうすればよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
念のため補足します。 ls で出力されるディレクトリのサイズですが、これは、そのディレクトリ直下のファイルを 管理するためのテーブル領域の大きさだと考えてください。 一定の大きさ毎(512byte単位とか)で獲得します。ディレクトリ直下のファイル数が増えると やがて512byteでは足りなくなり512byte追加して1024byteになります。 ここで注意したいのは、個々のファイルの大きさには依存しないということです。 あくまで管理テーブルですからファイルの個数だと思ってください。 なおファイルを削除しても獲得したテーブルは開放しないので、1024byteから512byteに減ることはないです。 さて、ほかの人が回答している du というのは、実際のファイルのサイズなどの合計を出してくれる コマンドです。おそらく質問者のやりたいことも du 的なことでしょう。 "du", "du -s", "du -s *", で少しずつ処理が違うので試してみると面白いでしょう。
その他の回答 (2)
- foobar
- ベストアンサー率44% (1423/3185)
ディレクトリの大きさ順となると、sortを併用して du | sort -nr といった具合でしょうか。
お礼
ありがとうございました。 無事,解決できました。
- yosi_yosi
- ベストアンサー率35% (165/468)
ディレクトリのサイズではなく、そのディレクトリの中にあるファイルサイズの合計が知りたいということでよろしいでしょうか? その場合、 > du で表示することが出来ます。 詳しいオプションはmanで確認してください。
お礼
ありがとうございました。 無事,解決できました。
お礼
ありがとうございました。 du -s * | sort -nr として無事,解決できました。 またテーブルのお話も参考になりました。