Linuxでディレクトリを作成する際、効率的な方法を知っておくと作業がスムーズになります。
本記事では、mkdir コマンドを使用して再帰的にディレクトリを作成する方法を詳しく解説します。
mkdir コマンドの基本
Linuxでディレクトリを作成するには、mkdir コマンドを使用します。
これは make directory の略で、新しいディレクトリを作成する際に使われます。
mkdir <ディレクトリ名>例えば、以下のコマンドは example というディレクトリを作成します。
mkdir exampleただし、親ディレクトリが存在しない場合はエラーとなります。
$ mkdir parent/childmkdir: cannot create directory ‘parent/child’: No such file or directorymkdir -p で再帰的にディレクトリを作成する
親ディレクトリが存在しない場合でもディレクトリを作成するには、mkdir コマンドの -p オプションを使用します。このオプションを指定すると、必要な親ディレクトリも自動的に作成されます。
mkdir -p <ディレクトリパス>mkdir -p の実行例
mkdir -p を使用すると、複数階層のディレクトリを一度に作成できます。
例えば、以下のコマンドを実行すると、project ディレクトリが存在しなくても project/src/utils を作成できます。
mkdir -p project/src/utilsこのコマンドを実行すると、次のようなディレクトリ構造が作成されます。
project/ src/ utils/作成後に ls -laR コマンドで確認すると、以下のように表示されます。
$ ls -laR project/project/:total 12drwxr-xr-x 3 test-user test-user 4096 Jan 21 12:11 .drwxr-xr-x 10 test-user test-user 4096 Jan 21 12:11 ..drwxr-xr-x 3 test-user test-user 4096 Jan 21 12:11 src
project/src:total 12drwxr-xr-x 3 test-user test-user 4096 Jan 21 12:11 .drwxr-xr-x 3 test-user test-user 4096 Jan 21 12:11 ..drwxr-xr-x 2 test-user test-user 4096 Jan 21 12:11 utils
project/src/utils:total 8drwxr-xr-x 2 test-user test-user 4096 Jan 21 12:11 .drwxr-xr-x 3 test-user test-user 4096 Jan 21 12:11 ..このように、mkdir -p を使えば複数のディレクトリを簡単に作成できます。
mkdir コマンドの便利なオプション
mkdir コマンドには、他にも便利なオプションがあります。
| オプション | 説明 |
|---|---|
-m <mode> | 指定したパーミッションでディレクトリを作成 |
-v | 作成したディレクトリを表示する |
--help | mkdir コマンドのヘルプを表示する |
--version | mkdir コマンドのバージョンを表示する |
例えば、-m オプションを使用して特定のパーミッションでディレクトリを作成できます。
mkdir -m 777 new_directoryまた、-v オプションを付けると、作成したディレクトリを表示して確認できます。
$ mkdir -vp parent/childmkdir: created directory 'parent'mkdir: created directory 'parent/child'シェルスクリプトで複数のディレクトリを作成する
シェルスクリプトを使って、複数のディレクトリを自動作成することも可能です。
例えば、以下のスクリプトは projects 内に複数のサブディレクトリを作成します。
#!/bin/bash
dirs=("project1/src" "project2/src" "project3/src/utils")
for dir in "${dirs[@]}"; do mkdir -p "$dir" echo "Created: $dir"doneこのスクリプトを create_dirs.sh として保存し、実行権限を付与して実行します。
$ chmod +x create_dirs.sh$ ./create_dirs.shCreated: project1/srcCreated: project2/srcCreated: project3/src/utilsmkdir コマンド使用時の注意点
-pオプションを指定すると、既存のディレクトリがあってもエラーにはなりません。
$ mkdir -p existing_dir# 既存のディレクトリでもエラーなし- パスの区切りには
/を使用します。 - パスの先頭に
/を付けると、絶対パスとして認識されます。
まとめ
mkdir -p コマンドを使うことで、親ディレクトリが存在しない場合でも再帰的にディレクトリを作成できます。
-m や -v などのオプションを活用することで、より柔軟な管理が可能になります。
さらに、シェルスクリプトを利用すれば、大量のディレクトリ作成を自動化できます。
Linuxでの作業を効率化するために、ぜひ活用しましょう!
Linuxユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!