HP-UX General
1819686 メンバー
3285 オンライン
109605 解決策
新規ポスト

ディレクトリの表示サイズについて

 
32℃
新しいメンバー

ディレクトリの表示サイズについて

はじめて投稿いたします。

ls -lコマンドで表示されるディレクトリのサイズに関してですが、どの様に決定されるのでしょうか?

512等と表示されていれば余り疑問に思わなかったのですが、mkdirコマンドで作成したディレクトリのサイズが96となっていて、疑問です。

自分なりにいろいろ調べてみたのですが、未熟なためかわかりませんでした。

ご教授お願い出来ますでしょうか。

よろしくお願いします。
2件の返信2
テレコム担当者
尊敬されているコントリビューター

ディレクトリの表示サイズについて

以下が参考になると思います。

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=59677

結構理解しづらいですよね。

ディレクトリの下が空であれば 96バイト。

ディレクトリの下にディレクトリ、ファイルがある場合には、

その大きさによって512 1024 ... 8192 と増えていきます。

(法則性は不明)

ディレクトリにシンボリックリンクされている場合は 8バイトです。

nadachi
レギュラーアドバイザー

ディレクトリの表示サイズについて

> 作成したディレクトリのサイズが96となっていて、

ディレクトリも一種のファイルですので、i-node と、実際にデータの入るデータブロックから成るわけですが、データ部分が小さい場合には、ディスク上のi-nodeデータの残りの部分に入れてしまい、データブロックを割り付けずに済ませます。

 ディレクトリを作ったときには、エントリとして "." (自分自身) と ".." (親ディレクトリ)だけあれば十分ですから、この文字列と、i-node番号程度ならば96byteで済むのでしょう。

 このディレクトリ下にファイルを作っていくと、ディレクトリファイルも当然大きくなっていき、96byteで収まらなくなるとディスクブロックを実際に割り付けるようになるはずです。その単位はファイルシステムを構成する最小ブロックサイズの倍数になるはずです。