ディレクトリの作成と削除
ここではディレクトリを作成したり、削除するコマンドについて説明します。 中には、まとめてファイルやディレクトリを削除するコマンドもあるので、コマンド実行時にはくれぐれも注意してください。
一般論として、大事なファイルは常に物理的・地理的に複数箇所に保存しましょう。
ディレクトリの作成
ディレクトリを作成するには、mkdir コマンドを使います。
foo という名前のディレクトリを作成するには、次のようにします。
$ mkdir foo
$ ls
foo
ls コマンドでディレクトリの中身を表示しています。
既に同名のディレクトリが存在する場合は、エラーが発生します。
$ mkdir foo mkdir: cannot create directory ‘foo’: File exists
同名のディレクトリがあってもエラーとしない場合には、-p オプションを指定します。
$ tree . └── foo 1 directory, 0 files $ mkdir -p foo $
一度に複数の階層構造となるディレクトリを作成することも可能です。 この時必要に応じてディレクトリを作成するには、上と同じく -p オプションを指定します。
$ mkdir -p foo/bar/baz $ tree . └── foo └── bar └── baz 3 directories, 0 files
ディレクトリの削除
ディレクトリを削除するには rmdir コマンドを使います。
次のコマンドでは foo という名前のディレクトリを削除します。
$ rmdir foo
ただし、ディレクトリが空ではない場合には削除できません。
$ mkdir -p foo/bar/baz $ tree . └── foo └── bar └── baz 3 directories, 0 files $ rmdir foo # foo の削除を試みる rmdir: failed to remove 'foo': Directory not empty
ここではディレクトリ foo の中には、ディレクトリ bar があるので削除できませんでした。
空ではないディレクトリであっても構わずに削除するには、rm コマンドを使い、-r オプションを指定します。
$ tree . └── foo └── bar └── baz 3 directories, 0 files $ rm -r foo # foo の削除を試みる $ tree . 0 directories, 0 files # 確かに削除された
中身が空の場合に限り、親ディレクトリも削除する場合は、次のように rmdir コマンドに -p オプションを指定できます。
$ tree . └── foo └── bar └── baz 3 directories, 0 files $ rmdir -p foo/bar/baz $ tree . 0 directories, 0 files
この場合、ディレクトリ foo、bar、baz は階層構造になっていますが、 末端のディレクトリから削除していき、親が空のディレクトリになったときに限り親も削除します。