ディレクトリとは
ディレクトリの概念はLinuxを扱う上で必須となるのでしっかり理解しておこう。ディレクトリに関連する用語も注釈なしで使われるので必ず覚えておきたい。
ルートディレクトリとサブディレクトリ
HDDの中のファイルは「ディレクトリ」という階層構造で管理されている。ディレクトリの中にはさらにディレクトリを作ることもでき、ファイルを種別や内容によって細かく分類できる。
もっとも上位の階層は「ルートディレクトリ」と呼び、その下にある階層をそれぞれ「サブディレクトリ」と呼ぶ。
ルートディレクトリは「/」という記号で表される。たとえば、「/install.pl」というファイルがあったとすれば、それは「ルートディレクトリにあるinstall.pl」という意味だ。また、「/home」というサブディレクトリがあったとすれば、それは「ルートディレクトリにあるhome」という意味になる。
深い階層にあるサブディレクトリを表すときは「/」で区切っていく。「/home」の中にある「blue」というディレクトリなら「/home/blue」と表す。「/usr/local/bin/myprogram」といった深い階層を作ることも可能になっている。

カレントディレクトリとは
「カレントディレクトリ」とは現在作業の対象となるディレクトリのことだ。Linuxでファイル操作を行うときは、つねにカレントディレクトリがどこにあるかを意識しなければならない。カレントディレクトリがどうなっているかを知るには、「プロンプト」を見ればいい。
[red@localhost home]$
↑
カレントディレクトリ
だが、プロンプトにはカレントディレクトリの最後の部分しか表示されない。カレントディレクトリを完全な形で見るにはpwdコマンドを使う。
[red@localhost public_html]$ pwd
/home/red/public_html ←カレントディレクトリ
[red@localhost public_html]$
ディレクトリの表現方法には上で紹介したようにルートディレクトリから見る「絶対パス」がよく使われる。このほかにカレントディレクトリからの位置関係で示す「相対パス」があることも知っておきたい。
たとえば、カレントディレクトリが/homeにあるとき、/home/blueディレクトリは単にblueとだけ指示してもいい。また、カレントディレクトリが/usrの状態でetcと指定すれば、/usr/etcを指定したことになる。
また、「..」はひとつ上位の階層(親ディレクトリ)を表している。/usr/localがカレントディレクトリであるときに「..」と指定すれば、/usrディレクトリを示したことになる。さらに「../sbin」とすれば/usrディレクトリの下にある「/usr/sbin」を示したことになる。
親の親という指定もできる。「../..」とすれば2つ上の階層のディレクトリを指し示す。下の図に/home/blueがカレントディレクトリであるときに、各ディレクトリが相対パスでどのように表されるかを示してみた。

ホームディレクトリとは
「ホームディレクトリ」とはユーザー固有のデータや設定を保存しておくディレクトリだ。/homeディレクトリの中に各ユーザーの名前のフォルダがある。たとえば、redというユーザーなら/home/redがホームディレクトリになる。ユーザーがLinuxにログインすると、まずはホームディレクトリがカレントディレクトリになる。
ホームディレクトリは「~」という記号で表される。「~」はチルダと読み、日本語キーボードではShiftキーを押しながら「へ」のキーを押すと入力できる。
「~」で表されるディレクトリはログインするユーザーごとに異なる。whiteでログインすれば/home/whiteを表し、blackでログインすれば/home/blackを表す。かりにgreenでログインしているときに「~/public_html」と入力すれば、それは/home/green/public_htmlディレクトリを示したことになる。
なお、管理者ユーザーのrootだけは例外で/rootディレクトリがホームディレクトリになる。これは/homeディレクトリがなんらかの理由で破損しても、rootのデータだけは読み出せるようにと位置が別のところに作られているのだ。