~
) 内のディレクトリ/ファイルの構造を再掲します。
あるディレクトリの一つ上位のディレクトリを 親ディレクトリ (parent directory)と呼びます。 上の図では,tmpsub の親ディレクトリは tmp であり, tmp の親ディレクトリは ~ です。 逆に,tmpsub を tmp の子ディレクトリ (child directory)またはサブディレクト リ (subdirectory)と呼びます。tmp は ~ の子ディレクトリです。
一方,カレントディレクトリ自身や 「カレントディレクトリの親ディレクトリ」は, カレントディレクトリに存在するディレクトリではありません。 したがって, ディレクトリ名をコマンドの引数に与えても, コマンドの処理対象にはなりません。 これらをコマンドの引数にしたければ,次の記号を使います。
tmpsub はカレントディレクトリに存在するディレクトリではないので, cd tmpsub だけではうまくいきません。 まず tmp に移ってから,tmpsub に移りましょう。
何も表示されませんね。
ls -aF-a は . で始まるものを含めて全てのファイル名を表示する ls のオプションでしたね。 カレントディレクトリ自身とその親ディレクトリの存在を確認できましたか。
まず,cd tmp を試しましょう。
コマンドの引数には, カレントディレクトリに存在するファイル/ディレクトリ名を指定するのでしたから,これではうまくいきません。
そこで,先ほどカレントディレクトリに存在することを確認した, 親ディレクトリの記号 .. を使います。
cd ..エラーメッセージは出ませんね。成功です。
今はちゃんと tmp にいますね。
ls の引数に . を指定すると, カレントディレクトリに存在するファイルの一覧が得られます。 したがって,結果は ls -aF と同じです。
..
も現われましたから,
親ディレクトリ (ホームディレクトリ) の指定には,
再度 ..
を使うことができます。
ls コマンドの引数に ..
を与えて,
親ディレクトリに存在するファイルの一覧を表示してみましょう。
..
を使ってホームディレクトリに戻りましょう。