こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

UNIXコマンドであるディレクトリ配下のディスクの使用サイズを表示させようと思っています。

・du -k
・find -lsでファイルサイズを足す(ファイル、ディレクトリ、シンボリックリンクを含む)
・ls -Rでファイルサイズを足す(ファイル、ディレクトリ、シンボリックリンクを含む)

上記3つで行いましたが、全て違う結果になりました。
なぜこの様な事になるのでしょうか?
よろしくお願いいたします。

投稿日時 - 2006-03-04 18:20:55

QNo.2006642

困ってます

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

du -k については#1さんの通り。また、ハードリンクについては実態が1つでもfind -ls や ls -lR では複数回表示されるのでこの分も違ってきます。

find -ls は全てのファイルをリストしますが、ls -lR は、. で始まるファイル/ディレクトリは表示しません。ls -lRa にすると . で始まるファイル/ディレクトリも表示しますが、今度はハードリンクのため親ディレクトリ .. も表示されるのでこの分がダブルカウントされます。

投稿日時 - 2006-03-07 02:58:46

お礼

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

投稿日時 - 2006-03-14 10:43:29

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

投稿日時 - 2006-03-04 20:23:07

お礼

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

投稿日時 - 2006-03-14 10:41:58

あなたにオススメの質問