ディレクトリの操作

ディレクトリの操作

現在のディレクトリの表示 ( pwd )

 ディレクトリは階層構造となっている。その海藻の中で、現在どの位置にいるのかを表示するのがpwdコマンド(Print Working Directory)である。

$ pwd

ディレクトリの変更 ( cd )

 cd ( Change Directory )コマンドを実行すると、 現在いるディレクトリを変更する子ができる。

$ cd [ディレクトリ名]

 ディレクトリを指定しない場合はホームディレクトリに移動する。

$ cd

ディレクトリの作成(mkdir)

mkdirコマンドを実行すると、ディレクトリを作成する子ができるmkdirの後にスペースを入力し、続けて作成するディレクトリ名を指定する

$ mkdir [ディレクトリ名]

オプション

-p

 指定されたディレクトリの上位のディレクトも作成する。

 ディレクトリを作成する時は、その上位層が作成できていないと作成できない、という制約が存在する。

-p オプションを付けない例

$ mkdir hoge1
$ mkdir hoge1/hoge2
$ mkdir hoge1/hoge2/hoge3

 オプションをつけない場合だと、手間がかかる

-p オプションをつけた例

$ mkdir -p hoge1/hoge2/hoge3

 -p オプションを用いると一度に作成することができる。

ディレクトリの削除

 ディレクトリを削除するコマンドとしてrmdirが存在する。

$ rmdir [ディレクトリ名]

オプション

-p

 指定した階層までのディレクトリを一括で削除する。オプションを付けないでrmdirコマンドを実行した場合は、最下層のディレクトリのみを削除する。

 ただし、いずれの場合も対象とするディレクト内は空でなければならない。ディレクトリにファイルが存在する場合、ディレクトリを削除するには rm -r コマンドを用いて行うことができる

例:hogeディレクトリが空でなくても削除される

$ rm -r hoge/

 空のディレクトリを削除する場合は rmdir コマンドを使用し、中身が空でないディレクトリを削除する場合には rm -r オプションを用いて削除をするという使い分けが必要である。

 ただし、通常利用時はrmdirを使う癖を付けておくと、必要なディレクトリを誤って削除してしまうミスを防ぐことができる。

特別なディレクト

カレントディレクト

 現在いるディレクトリのこと。ファイルやディレクトリ操作では「ドット (.)」を用いて表す。

ディレクト

 一階層上のディレクトリのこと。カレントディレクトリが/home/hogeの場合は、/homeが親ディレクトリにあたる。

ホームディレクト

 ユーザーの作業開始位置となるディレクトリのこと。ログイン直後のユーザーは必ずホームディレクトリにいる。ユーザーごとに異なるホームディレクトリを使うので、それぞれのユーザーに取手のホームディレクトリは異なる。

 ファイルやディレクトリ操作では「チルド」を使って表す。

ルートディレクト

 ディレクトリ階層の最上位階層を示す。ファイルやディレクトリ操作では「 / ルート 」 を使って表す。

絶対パス指定と相対パス指定

 カレントディレクトリが/user/localであると仮定し、/user/bin/xxxのファイルを指定する場合に二通りの方法が存在する。

  • /usr/bin/xxx

  • ../bin/xxx

 上の方法は、最上位のディレクトリ(/)からディレクトリ・ファイル名を指定している。この方法を絶対パス指定と言う。

 一方で下の方法は「自分の居る一から見て」 ディレクトリ・ファイルを指定している。こちらは相対パス指定と言う。

 絶対パス指定のメリットは、どのディレクトリに居ても、パスを指定することができる。デメリットとしては、常に / から指定するので、記述が非常に長くなることが挙げられる。

 相対パスは指定のメリットは、現在の位置から近いディレクトリならば、指定の記述が短くて済む。デメリットとしては、現在のディレクトリが変わると利用することができない。