重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

# ls -la

としても,ファイルのサイズは正確にでるのですが,
ディレクトリのサイズがどれも512とか1024とかしかでません.

これを正確に出力した上で,
ディレクトリの大きさ順に出力いたいのですが
どうすればよいでしょうか?

A 回答 (3件)

念のため補足します。


ls で出力されるディレクトリのサイズですが、これは、そのディレクトリ直下のファイルを
管理するためのテーブル領域の大きさだと考えてください。
一定の大きさ毎(512byte単位とか)で獲得します。ディレクトリ直下のファイル数が増えると
やがて512byteでは足りなくなり512byte追加して1024byteになります。
ここで注意したいのは、個々のファイルの大きさには依存しないということです。
あくまで管理テーブルですからファイルの個数だと思ってください。
なおファイルを削除しても獲得したテーブルは開放しないので、1024byteから512byteに減ることはないです。

さて、ほかの人が回答している du というのは、実際のファイルのサイズなどの合計を出してくれる
コマンドです。おそらく質問者のやりたいことも du 的なことでしょう。
"du", "du -s", "du -s *", で少しずつ処理が違うので試してみると面白いでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。
du -s * | sort -nr
として無事,解決できました。

またテーブルのお話も参考になりました。

お礼日時:2005/09/02 12:22

ディレクトリの大きさ順となると、sortを併用して


du | sort -nr
といった具合でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました。
無事,解決できました。

お礼日時:2005/09/02 12:20

ディレクトリのサイズではなく、そのディレクトリの中にあるファイルサイズの合計が知りたいということでよろしいでしょうか?



その場合、
> du
で表示することが出来ます。
詳しいオプションはmanで確認してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
無事,解決できました。

お礼日時:2005/09/02 12:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!