【実践Linux5】基本的なディレクトリの操作 pwd cd mkdir rmdirコマンドの使い方

Linuxにおけるディレクトリ操作に使う基本的なコマンドである、pwd, cd, mkdir, rmdirコマンドの使い方について解説します。

現在のディレクトリを表示するpwdコマンド

ディレクトリは階層構造になっています。その中で自分がどの位置で作業しているのかを表示するために使うのがpwd(Print Working Directory)コマンドです。

書式

pwd

実行例

$ pwd
/home/penguin

使い方に関して特に難しいポイントはありません。上記実行例では自分が現在、homeディレクトリ内のpenguinディレクトリで作業しているということがわかります。「/」はディレクトリの区切りを表します。

ディレクトリの変更を行うcdコマンド

cd(Change Directory)コマンドは現在作業しているディレクトリを変更するためのコマンドです。cdのあとに移動したいディレクトリを指定して使います。何も指定しない場合はホームディレクトリに移動します。

書式

cd [ディレクトリ名]

実行例

$ pwd
/home/penguin
$ cd /usr
$ pwd
/usr

上記実行例ではusrディレクトリに移動しています。

ディレクトリの作成を行うmkdirコマンド

mkdir(MaKe DIRectory)コマンドはディレクトリを作成するために使います。mkdirのあとに作成するディレクトリ名を指定します。

書式

mkdir [ディレクトリ名]

オプション

-p

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

dir1ディレクトリの下にdir2ディレクトリを作成し、さらにdir2ディレクトリの下にdir3ディレクトリを作りたい場合、以下のようにします。

$ mkdir dir1
$ mkdir dir1/dir2
$ mkdir dir1/dir2/dir3

上記ではオプションをつけずに、3回mkdirコマンドを実行しました。mkdirコマンドでは通常、存在しないディレクトリの下に新たにディレクトリを作ることができないためです。-pオプションを使うと以下のように一度の実行で済ませることができます。

$ mkdir -p dir1/dir2/dir3

-pオプションを使ってmkdirコマンドを実行してみよう

実際に以下のコマンドを実行してみましょう。

$ mkdir -p dir4/dir5/dir6
$ ls -R dir4
dir4:
dir5
dir4/dir5:
dir6
dir4/dir5/dir6:

lsコマンドに使われている-Rオプションはディレクトリの中を回帰的に表示するためのオプションです。ディレクトリの中のディレクトリの中のディレクトリ・・・といったようにディレクトリが存在する限り、その中のディレクトリの構造まで表示してくれます。

上記実行例では、dir4の中にdir5があり、dir5の中にdir6があり、dir6の中には何もないことがわかります。つまりmkdir -p一度の実行でdir4, dir5, dir6が作成できたことが確認できました。

ディレクトリの削除を行うrmdirコマンド

ディレクトリの削除を行うためにはrmdir(ReMove DIRectory)コマンドを使います。

書式

rmdir [ディレクトリ名]

オプション

-p

指定した階層までのディレクトリを一括で削除することができます。-pオプションをつけなかった場合、最下層のディレクトリのみ削除します。どちらの場合も対象とするディレクトリの中が空である必要があります。

rmdirコマンドの特徴は削除対象となるディレクトリの中身が空である必要があるということです。ディレクトリの中にファイルやディレクトリが含まれている場合は削除できません。

ディレクトリにファイルが存在する場合は、以下のようにrmコマンドに-rオプションを付けて削除できます。

$ ls
directory
$ rmdir directory/
rmdir: failed to remove `directory/': ディレクトリは空ではありません
(directory の削除に失敗)
$ rm -r directory/
(rm -r を実行)
$ ls
(directory ディレクトリが削除された)

rmdirコマンドを使ってみよう

以下のコマンドを実行して、ディレクトリの削除を実際に行ってみましょう。

$ mkdir directory1 directory2
(ディレクトリを作成)
$ touch directory2/file
(directory2 ディレクトリ内に file を作成)
$ ls
directory1 directory2
$ rmdir directory1
$ ls
directory2
(directory1 は空なので削除できる)
$ rmdir directory2
rmdir: failed to remove `directory2/': ディレクトリは空ではありません
(directory2 は空ではないため削除できない)
$ rm -r directory2/
$ ls
(directory2 も削除できた)

上述した通り、rmdirおまん度では中身が空でないディレクトリを削除することはできません。そのため、空でないディレクトリを削除するためにはrmコマンドに-rオプションを付けて削除します。このコマンドを実行した場合、警告なしで対象となるディレクトリとその中身を削除できてしまうので、注意が必要です。rmコマンドについては以下の記事で詳しく解説しています。

通常利用時はrmdirコマンドを使う癖をつけておくと、重大なミスにつながる可能性を軽減できます。

まとめ

いかがでしたか?今回はLinuxにおけるディレクトリ操作の基本となるpwd, cd, mkdir, rmdirコマンドの使い方について解説しました。

pwdコマンドは現在のディレクトリを表示、cdコマンドはディレクトリの変更(移動)、mkdirコマンドはディレクトリの作成、rmdirコマンドはディレクトリの削除を行うためのコマンドです。