「ファイルのホール」とは何でしょう?
とあるディレクトリで「ls -lsh」とたたいた所、以下のような結果が返ってきました。
69M -rw-rw-rw- 1 root root 82M 2007-05-30 15:26 hoge
lsのmanを見ると以下のようにあります。
『それぞれのファイルのディスク割り当て量をファイル名の左に表示する。これはファイルによって使用されるディスクの総量である。 この大さは普通はファイルのサイズよりいくらか大いい、 ファイルがホール(穴) を持っている場合は小さくなることもある。』
ディスク割当が少なくなっていますので、おそらくファイルにホールがあると思われますが、この「ホール」について説明がされているページを教えてください。
バイナリエディタで見ると0x00の箇所が大量にあるのですがここらへんのことをさしているのでしょうか?
用語を出すのならスパースファイルの方が良い。
ファイルの最初のほうを書いて、途中何も書かずに、後ろのほうを書くと
途中何も書かなかった部分は、ディスク容量節約のために領域を割り当てません。
何か書いた時点で、ディスク領域が割り当てられます。
何か書くまで、読むと0が返ってきます。
あ、欠陥じゃなくて 欠落ブロックでした。
うーん、欠落ブロックでぐぐってみたのですが、今ひとつ要領がつかめませんでした(;´∀`)
とりあえずファイルの中にあるゼロで埋められた部分ことなのですね。
用語を出すのならスパースファイルの方が良い。
ファイルの最初のほうを書いて、途中何も書かずに、後ろのほうを書くと
途中何も書かなかった部分は、ディスク容量節約のために領域を割り当てません。
何か書いた時点で、ディスク領域が割り当てられます。
何か書くまで、読むと0が返ってきます。
なるほど「スパースファイル」という概念(機能)があるんですね。
お恥ずかしいことにファイルシステムはあまりまじめに勉強したことがなかったのですが(^^; XFSのスパースファイルについて読んで納得しました。
http://ja.wikipedia.org/wiki/XFS#.E3.82.B9.E3.83.91.E3.83.BC.E3....
例えばデータベース系のファイルや、固定長のファイルなどを扱う際に、あらかじめ保持した(保持したい)領域で、データが現時点で存在しない場合は、ファイルシステムが領域を割り当てないことで、ディスクスペースが節約できるってワケですね。
ありがとうございます。
スッキリしました!
なるほど「スパースファイル」という概念(機能)があるんですね。
お恥ずかしいことにファイルシステムはあまりまじめに勉強したことがなかったのですが(^^; XFSのスパースファイルについて読んで納得しました。
http://ja.wikipedia.org/wiki/XFS#.E3.82.B9.E3.83.91.E3.83.BC.E3....
例えばデータベース系のファイルや、固定長のファイルなどを扱う際に、あらかじめ保持した(保持したい)領域で、データが現時点で存在しない場合は、ファイルシステムが領域を割り当てないことで、ディスクスペースが節約できるってワケですね。
ありがとうございます。
スッキリしました!