
dfコマンドが表示する使用領域サイズは、何の情報?
お世話になります。
ファイルシステムのディスクの使用状況について、ご教授ください。
以下のディレクトリに対し、ディスクを割り当てています。
ディレクトリ名 割り当てサイズ
/home 100(KB)
/home/tmp 100(KB)
/home直下には、tmpというディレクトリのみが存在する状態です。
サブディレクトリ(/home/tmp)配下に10KBのファイルを置いたとき、
ディスクの使用状況を見るには
df -k /home/tmp
で取得できると思います。
df -k /home
としないのは、サブディレクトリに対してディスクを割り当てているため、
親ディレクトリに対して取得(df -k /home)しても使用状況に変化がなかったからです。
ここで質問なのですが、親ディレクトリに対してdfして得られる情報は、
具体的には何を意味しているのでしょうか?
数値に変化がないということが、何の情報を取得しているからなのかがわかりません。
参考サイトなど調べましたが、見つけることができませんでした。
ご教授いただければ幸いです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
UNIXの基礎的な話になるのですが、
OSから見ればディレクトリも1ファイルでしかありません。
よって以下の通りです
>/homeのパーティーションには各ディレクトリの定義情報(名前や権限など)に
>必要な容量のみ含むことになるのでしょうか?
No.2
- 回答日時:
df -k /homeが返す容量は、/homeというディレクトリーポイントでマウントされているブロックデバイスにおける容量だ。
そいでは次のようなディレクトリーツリーを考えてみましょう。
/
/home/
/home/tmp/
/home/tmp/aaa 20KB
/home/tmp2/
/home/tmp2/bbb 10KB
けつがスラッシュになっているのがディレクトリーでそうでないのがファイルだ。ディレクトリーツリーだけを見ると、homeの下にはtmpとtmp2の2つのディレクトリーが「属している」ように見える。ところがどっこい、質問者の状況では、/と/home/と/home/tmp/は全て別のパーティーションがマウントされている。
ここでdf -k /homeとすると、使用領域は20KBで、df -k /home/tmpとすると使用領域は10KBになる。
つまり、dfはディレクトリーではなく、あくまでもパーティーションに対して容量を計算して表示しているのだ。試しにdf -aとしてみると(マウントされている)パーティーション一覧が出てくるだろう。
/home/tmp/はディレクトリーツリー上では/home/の下に居るように見えるが、ディスク領域としては別計算になるために、/home/tmp/にいくらものを入れてもdf -k /homeとした時に結果が変わらなかったのだ。なぜ別計算になるかというとあなたがそう設定した(/homeにパーティションをマウントして/home/tmpにパーティションをマウントした)からだ。
これに対して、パーティションが変わってもディレクトリーツリーの下にあるものの容量を調べるにはdfではなくってduを使うと良いだろう。
この回答への補足
ご回答ありがとうございます。
df -k /homeとすると、使用領域は10KBで、
df -k /home/tmpとすると使用領域は20KBになる。
と読み変えて質問させていただきます。
もし
/home/tmp2/bbb 10KB
というファイルが存在しない状態でdf -k /homeとしたとき、
使用領域は0KBという理解でいいのでしょうか?
それとも、
/home/tmp/
/home/tmp2/
というディレクトリは存在するので、
/homeのパーティーションには各ディレクトリの定義情報(名前や権限など)に
必要な容量のみ含むことになるのでしょうか?
/home/tmp2/bbbのファイルサイズとdf -k /homeの結果表示される数値が違うので、
そういった情報も保持しているのかと考えました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
findでエラー
-
solaris ディスク情報の見方に...
-
コマンド終了ステータス
-
scpコマンドでリモートサーバの...
-
cactiでグラフが表示されない
-
DOSコマンドでのワイルドカ...
-
minicomでよく使うコマンド文字...
-
FTPコマンドの戻り値について
-
実行中のシェルスクリプト自体...
-
Viで書き込もうとすると、保...
-
Macの Terminal でのエラーと...
-
telnet,rlogin,rshの違いってな...
-
ターミナルでファイル名の指定...
-
コマンドでのコンピュータ名変...
-
Windows10のRegSys32に登録され...
-
GNOME端末の起動 及び コマンド...
-
Linux9でのCUIの日本語表示につ...
-
eclipseでC言語がコンパイルで...
-
shell の time コマンドの結果...
-
DOSのAUTOEXEC.BATの書き方、等
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
/ が何時の間にか「Read-only f...
-
Solarisが起動しなくなった・・・
-
findでエラー
-
CentOSでのCDマウントがうまく...
-
Red Hat Linux 9でcd-romをマウ...
-
mount
-
VirtualBox 上のDebian 8.0.0 ...
-
dfコマンドの出力結果について
-
リナックスでDVDドライブを使い...
-
/optのアクセス権を変更したい...
-
/dev/shmのキャッシュクリアは...
-
fstabを編集してもうまくマウン...
-
ext3? xfs?
-
e2fsckの実行結果について教え...
-
OS がインストールされているデ...
-
Kernel Panicについて(Gentoo L...
-
Linux Debian(stretch)のレジュ...
-
scpコマンドでリモートサーバの...
-
Viで書き込もうとすると、保...
-
DOSコマンドでのワイルドカ...
おすすめ情報