人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxのファイルについて。
「ファイルのホール」とは何でしょう?


とあるディレクトリで「ls -lsh」とたたいた所、以下のような結果が返ってきました。

69M -rw-rw-rw- 1 root root 82M 2007-05-30 15:26 hoge

lsのmanを見ると以下のようにあります。

『それぞれのファイルのディスク割り当て量をファイル名の左に表示する。これはファイルによって使用されるディスクの総量である。 この大さは普通はファイルのサイズよりいくらか大いい、 ファイルがホール(穴) を持っている場合は小さくなることもある。』


ディスク割当が少なくなっていますので、おそらくファイルにホールがあると思われますが、この「ホール」について説明がされているページを教えてください。

バイナリエディタで見ると0x00の箇所が大量にあるのですがここらへんのことをさしているのでしょうか?

●質問者: katsube
●カテゴリ:コンピュータ
✍キーワード:hoge Linux Ls root とある
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kopj
●1ポイント

欠陥ブロックのことです。

通常、この欠陥ブロックは 0で 埋められます。


2 ● kopj
●27ポイント

あ、欠陥じゃなくて 欠落ブロックでした。

◎質問者からの返答

うーん、欠落ブロックでぐぐってみたのですが、今ひとつ要領がつかめませんでした(;´∀`)

とりあえずファイルの中にあるゼロで埋められた部分ことなのですね。


3 ● samejima
●52ポイント ベストアンサー

用語を出すのならスパースファイルの方が良い。

ファイルの最初のほうを書いて、途中何も書かずに、後ろのほうを書くと
途中何も書かなかった部分は、ディスク容量節約のために領域を割り当てません。
何か書いた時点で、ディスク領域が割り当てられます。
何か書くまで、読むと0が返ってきます。

◎質問者からの返答

なるほど「スパースファイル」という概念(機能)があるんですね。

お恥ずかしいことにファイルシステムはあまりまじめに勉強したことがなかったのですが(^^; XFSのスパースファイルについて読んで納得しました。

http://ja.wikipedia.org/wiki/XFS#.E3.82.B9.E3.83.91.E3.83.BC.E3....


例えばデータベース系のファイルや、固定長のファイルなどを扱う際に、あらかじめ保持した(保持したい)領域で、データが現時点で存在しない場合は、ファイルシステムが領域を割り当てないことで、ディスクスペースが節約できるってワケですね。


ありがとうございます。

スッキリしました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ