ディレクトリの概念

"ディレクトリ"とは、Windowsで"フォルダ"と呼ばれるものです。ですからディレクトリのなかに、ファイルだけでなく別のディレクトリを保存することもできます。しかしLinuxには、WindowsでいうCやDの"ドライブ"の概念はありません。Linuxシステムは、下のような木構造のディレクトリの上に構築されています。このうち、最上位のディレクトリは根っ子という意味で「ルートディレクトリ」と呼ばれます。全てのファイルやディレクトリはこの下に存在します。ディレクトリの中にあるディレクトリはサブディレクトリと呼ばれます。たとえば、homeやtmpなどは、ルートディレクトリのサブディレクトリです。逆に、homeやtmpから見て、ルートディレクトリは親ディレクトリと呼ばれます。同様に、ftpディレクトリはhomeディレクトリのサブディレクトリであり、ftpディレクトリの親ディレクトリがhomeディレクトリとなります。
 

 

 

ディレクトリ階層は各ディレクトリを"/"で区切って表記します。 またルートディレクトリには名前がないので、単に"/"とだけ表記します。 "/"はディレクトリの区切りとしての意味と、ルートディレクトリ自身を示すという2つの意味を持っています。

例えば「ルートディレクトリの中の"tmp"ディレクトリにある"test"というファイルは"/tmp/test"と表されます。

現在作業を行っているディレクトリのことを「カレントディレクトリ」といい、"."で表記します。ひとつ上位のディレクトリを「親ディレクトリ」といい、".."で表記します。

例えばカレントディレクトリが"/home/ftp/"の時、"../httpd"は"/home/httpd/"を指します。

先頭が "/"で始まるとそれはルートディレクトリからのディレクトリ位置であることを意味します(絶対パス)。それ以外の文字で始まると今現在のディレクトリ(カレントディレクトリ)からの位置を意味します(相対パス)。

例えば、/home/ftpディレクトリは、 「ルートディレクトリ内の」 →「homeディレクトリ内の」 →「ftpディレクトリ」 を意味しています。
先頭に"/"を付けずに、home/ftpと指定すると、 「カレントディレクトリ内の」 →「homeディレクトリ内の」→ 「ftpディレクトリ」 という意味になります。

Windowsと同じように、Linuxの各ディレクトリも固有の役目や使い方があります。Linuxのディレクトリ構成は簡単に説明すると以下の表のように区分されています。

 
ディレクトリ
目的
bin
プログラムファイル
boot
システムの起動に用いるファイル
dev
デバイスファイル
etc
システム設定ファイル
home
各ユーザーのホームディレクトリ
mnt
ファイルシステムを一時的にマウントするのに使う
proc
プロセステーブル
root
rootユーザーのホームディレクトリ
sbin
システム管理用途のプログラムファイル
tmp
一時的なファイルの置き場所に使う
usr
ユーザーが日常利用するプログラムやライブラリ
var
ログファイルやスプールなど