• ベストアンサー

ディスクの使用サイズ表示の違い

UNIXコマンドであるディレクトリ配下のディスクの使用サイズを表示させようと思っています。 ・du -k ・find -lsでファイルサイズを足す(ファイル、ディレクトリ、シンボリックリンクを含む) ・ls -Rでファイルサイズを足す(ファイル、ディレクトリ、シンボリックリンクを含む) 上記3つで行いましたが、全て違う結果になりました。 なぜこの様な事になるのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

du -k については#1さんの通り。また、ハードリンクについては実態が1つでもfind -ls や ls -lR では複数回表示されるのでこの分も違ってきます。 find -ls は全てのファイルをリストしますが、ls -lR は、. で始まるファイル/ディレクトリは表示しません。ls -lRa にすると . で始まるファイル/ディレクトリも表示しますが、今度はハードリンクのため親ディレクトリ .. も表示されるのでこの分がダブルカウントされます。

marru3
質問者

お礼

ご回答ありがとうございます。 ダブルカウントされてしまっていたのですね。 盲点でした。

その他の回答 (1)

noname#17587
noname#17587
回答No.1

duはディスク上のセクタ数を数えていて、 lsは実際のファイル内容のサイズをみるので結果は違うはず。 findは手ごろな資料が無くてわかりませんでした。

marru3
質問者

お礼

ご回答ありがとうございます。 セクタ数という事はブロック単位ですよね。