- ベストアンサー
ディスクの使用サイズ表示の違い
UNIXコマンドであるディレクトリ配下のディスクの使用サイズを表示させようと思っています。 ・du -k ・find -lsでファイルサイズを足す(ファイル、ディレクトリ、シンボリックリンクを含む) ・ls -Rでファイルサイズを足す(ファイル、ディレクトリ、シンボリックリンクを含む) 上記3つで行いましたが、全て違う結果になりました。 なぜこの様な事になるのでしょうか? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
du -k については#1さんの通り。また、ハードリンクについては実態が1つでもfind -ls や ls -lR では複数回表示されるのでこの分も違ってきます。 find -ls は全てのファイルをリストしますが、ls -lR は、. で始まるファイル/ディレクトリは表示しません。ls -lRa にすると . で始まるファイル/ディレクトリも表示しますが、今度はハードリンクのため親ディレクトリ .. も表示されるのでこの分がダブルカウントされます。
その他の回答 (1)
noname#17587
回答No.1
duはディスク上のセクタ数を数えていて、 lsは実際のファイル内容のサイズをみるので結果は違うはず。 findは手ごろな資料が無くてわかりませんでした。
質問者
お礼
ご回答ありがとうございます。 セクタ数という事はブロック単位ですよね。
お礼
ご回答ありがとうございます。 ダブルカウントされてしまっていたのですね。 盲点でした。