10章.ファイルのディレクトリ構造

10.1.ディレクトリ構造

                     鉄道の駅名と所在地

                            ¥(日本)
            +----------------+---------------+
            |                |               |  
          東京都      ... 神奈川県 ...     静岡県
      +-----+-----+                     +----+----+
     |           |                     |         |
   浜松(町) .... 田町                  静岡 .... 浜松
ディレクトリ(Windows95ではフォルダにあたる)は上の図のような木構造になっています。
上の図では根元(ルート)にあたる部分が「日本」で,葉(リーフ)にあたる部分が 「田町」「静岡」などです。節(ノード)にあたる部分が「東京都」「静岡県」などです。
ファイルは葉の部分,ディレクトリは節の部分に相当します。
メールアドレスは例えば<kibita@orange.or.jp>は,日本(jp)の一般(or)の オレンジ(orange)のドメインのきびた(kibita)となりリーフからルートへ向かう記述ですが, プログラムで使用するファイルは任意の場所から辿っていった記述で表現します。

浜松駅は

  1. 日本 東京都 浜松(町)
  2. 日本 静岡県 浜松
となり,ルートから各駅を見た場合

MS-DOSではルートの日本が「」で

  1. ¥東京都¥浜松
  2. ¥静岡県¥浜松
UNIXではルートの日本が「」で
  1. /東京都/浜松
  2. /静岡県/浜松
と記述します。

一般に,ある起点(任意の場所)からファイルへの経路のことをパスと呼んでいます。
同じ浜松でも,東京都の浜松なのか静岡県の浜松なのかをパスの指定によって一意に 定めなくてはいけません。
プログラム君の身になって考えなくてはいけませんね。迷子になってしまいますよ エ〜ンエ〜ン。

また起点のことを現在の位置という意味でカレントと呼びます。


10.2.プログラムから見たファイルの位置

ファイル名は前節のパスと一緒にして記述するのですが,実行しているプログラムが ディレクトリのどの部分に存在するか,またはどこを起点として動作しているかを考慮して ファイルのパスを指定しなければなりません。

ここで出てくるのが絶対パス相対パスです。
絶対パスと相対パスの見分け方は,ファイル名の先頭にルートの記号があるかないかです。

                             \
                   +---------|----------+
                   |                    |
           +------KIND-------+       COUNTER
           |                 |
     +---COLOR---+     +---ANIMAL-+
     |     |     |     |     |    |
   BLACK WHITE YELLOW LION TIGER CAT
上の図のような構造の場合,ディレクトリはKIND,COLOR,ANIMALとなります。

MS-DOSの場合,\KIND\COLOR\BLACKは絶対パスでカレントディレクトリが何処でも参照できます。 ただし,必ずルートからのパスで記述します。

COLOR\BLACKは相対パスでカレントディレクトリが\KINDの場合,BLACKはカレントが\KIND\COLORの場合にのみ参照できます。

カレントディレクトリは,MS-DOSの場合はCDとコマンド入力, UNIXの場合はpwdとコマンド入力すれば絶対パスで表示されます。

カレントディレクトリが\KIND\ANIMALでプログラムがCATの場合(\KIND\ANIMAL\CAT)を例に取りますと, ファイルLIONの記述はLIONか\KIND\ANIMAL\LIONとなります。
ファイルBLACKの記述は ..\COLOR\BLACKか\KIND\COLOR\BLACKとなります。
..は現在のディレクトリのひとつ上の階層を示します。この場合は\KINDです。

UNIXでも同様ですが,これは皆さんのページのリンク先の記述と同じ書き方ですね。

プログラムの実行時にカレントディレクトリの場所が特定できない場合は, 絶対パスで記述しておいた方が無難です。


[HOME]

Copyright (c)1996 GOMASUKE
Since 09/03/1996, Last Updated 09/08/1996