next up previous contents index
: ドライブ名 : 付録: パス名 : ディスクのなかにどんなファイルがあるのか調べたい   目次   索引


階層ディレクトリ

たとえば 1万個のファイルをあなたが所有していたとする. Unix の ls コマンドでファイルの一覧を表示したら, 1万個ものファイルの名前が表示されたらとしたらとても目的のファイルを 発見できない. したがって, ファイルは意味あるまとまり毎にまとめておくべき であろう. これを実現する仕組みが階層ディレクトリである. Windows では普通フォルダと呼ぶ. フォルダという用語法および フォルダをグラフィックで表示して階層ディレクトリを直観的に扱えるように したのは Macintosh が最初に普及させた技術であることは とくに名誉のために強調しておこう.

ファイルをまとめておく特別なファイルをディレクトリ (directory) と呼ぶ. 以下, フォルダという用語法はつかわない.

ディレクトリの考えを例を用いて説明しよう. 現在ファイル hoge1.txt, hoge2.txt, foo.rr, esc.rr を所有している. あたらしくディレクトリ text および prog を作成してこれらの ファイルをそちらへ移動して分類したい. text には文書類, prog にはプログラムをまとめて 格納するものとする.

Unix

bash$ mkdir text
bash$ mkdir prog
bash$ cp hoge1.txt text
bash$ cp hoge2.txt text
bash$ cp foo.rr prog
bash$ cp esc.rr prog 
bash$ rm hoge1.txt hoge2.txt 
          foo.rr esc.rr

    
MSDOS プロンプト またはコマンドプロンプト

C> mkdir text
C> mkdir prog
C> copy hoge1.txt text
C> copy hoge2.txt text
C> copy foo.rr prog
C> copy esc.rr prog 
C> del hoge1.txt hoge2.txt 
         foo.rr esc.rr


mkdir は空のディレクトリを作成するコマンドである. ディレクトリにファイルをコピーすると, そのファイルは そのディレクトリ内に格納される. 今の例の場合ファイルの構造は次のようになる.

                   text -------  hoge1.txt
                         |______ hoge2.txt

                   prog -------  foo.rr
                         |______ esc.rr
ディレクトリの中にディレクトリを作成してもいい. たとえば
bash$ mkdir prog/asirprog
bash$ cp prog/esc.rr prog/asirprog

    
C> mkdir  prog¥asirprog
C> copy prog¥esc.rr  prog¥asirprog


であたらしくディレクトリ asirprogprog の中に作成される. この場合ファイル全体を図示すると次のようになる.
                   text -------  hoge1.txt
                         |______ hoge2.txt

                   prog -------  foo.rr
                         |______ esc.rr
                         |______ asirprog ----- esc.rr
したがって, ファイル全体は木のような構造になる. あらかじめ用意してある一番最初のディレクトリを ルートディレクトリと呼ぶ.

ファイル名をルートディレクトリから表したものをフルパス名 (full path name) とよぶ. text, prog はルートディレクトリ直下にあると仮定しよう. esc.rr のフルパス名は unix では

/prog/esc.rr
となる. esc.rr のフルパス名は Windows (MSDOS) では
¥prog¥esc.rr
となる. 最初の / や ¥は, ルートディレクトリを意味する. なお, Asir で load コマンドを用いるときは Unix でも Windows (MSDOS) でも / を用いる.

ファイル名を指定するのに毎回フルパス名を利用するのは つかれる. そこで 便宜上, 現在自分がいるディレクトリを仮定し, これを カレントディレクトリ (current directory) と呼ぶ. カレントディレクトリを変更しディレクトリ内を移動する コマンドが cd (change directory) である.

cd ディレクトリ名
で引数として与えたディレクトリへ,
cd ..
で一つ上のディレクトリに移動できる. Unix では pwd (print working directory) でカレントディレクトリを 表示できる. MSDOS では cd でカレントディレクトリを表示できる. パス名の最初に / や ¥をかかないと, カレントディレクトリからの名前とみなされる. たとえば, カレントディレクトリが prog だとしよう. このとき esc.rr/prog/esc.rr も同じ意味となる.

空のディレクトリは削除できる. 削除のためのコマンドは

rmdir ディレクトリ名
である.



Nobuki Takayama 平成15年9月12日