【Linux】再帰的にディレクトリを作成する方法(mkdir)

【Linux】再帰的にディレクトリを作成する方法(mkdir)

記事の文字数:1362

Linuxでディレクトリを作成する際に便利なmkdirコマンドの使い方を解説します。-pオプションを活用し、再帰的にディレクトリを作成する方法や便利なオプション、シェルスクリプトでの応用例も紹介します。


スポンサーリンク

Linuxでディレクトリを作成する際、効率的な方法を知っておくと作業がスムーズになります。
本記事では、mkdir コマンドを使用して再帰的にディレクトリを作成する方法を詳しく解説します。

mkdir コマンドの基本

Linuxでディレクトリを作成するには、mkdir コマンドを使用します。
これは make directory の略で、新しいディレクトリを作成する際に使われます。

構文
mkdir <ディレクトリ名>

例えば、以下のコマンドは example というディレクトリを作成します。

実行コマンド
mkdir example

ただし、親ディレクトリが存在しない場合はエラーとなります。

実行例
$ mkdir parent/child
mkdir: cannot create directory ‘parent/child’: No such file or directory

mkdir -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 12
drwxr-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 12
drwxr-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 8
drwxr-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作成したディレクトリを表示する
--helpmkdir コマンドのヘルプを表示する
--versionmkdir コマンドのバージョンを表示する

例えば、-m オプションを使用して特定のパーミッションでディレクトリを作成できます。

実行例
mkdir -m 777 new_directory

また、-v オプションを付けると、作成したディレクトリを表示して確認できます。

実行例
$ mkdir -vp parent/child
mkdir: created directory 'parent'
mkdir: created directory 'parent/child'

シェルスクリプトで複数のディレクトリを作成する

シェルスクリプトを使って、複数のディレクトリを自動作成することも可能です。

例えば、以下のスクリプトは projects 内に複数のサブディレクトリを作成します。

create_dirs.sh
#!/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.sh
Created: project1/src
Created: project2/src
Created: project3/src/utils

mkdir コマンド使用時の注意点

  • -p オプションを指定すると、既存のディレクトリがあってもエラーにはなりません。
実行例
$ mkdir -p existing_dir
# 既存のディレクトリでもエラーなし
  • パスの区切りには / を使用します。
  • パスの先頭に / を付けると、絶対パスとして認識されます。

まとめ

mkdir -p コマンドを使うことで、親ディレクトリが存在しない場合でも再帰的にディレクトリを作成できます。
-m-v などのオプションを活用することで、より柔軟な管理が可能になります。
さらに、シェルスクリプトを利用すれば、大量のディレクトリ作成を自動化できます。
Linuxでの作業を効率化するために、ぜひ活用しましょう!


以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top