[Shell command] mkdir -p で親ディレクトリもまとめて作成する
作成日: 2026年10月23日
mkdir コマンドの -p オプションを使用すると、指定したパスの途中に存在しないディレクトリもまとめて作成できます。
例えば、project ディレクトリが存在しない状態で、次のコマンドを実行します。
mkdir -p project/logs/2026
find project -type d | sort
実行結果は下記のとおりです。
project
project/logs
project/logs/2026
-p は --parents の短縮形で、project と project/logs も必要に応じて作成します。指定したディレクトリがすでに存在する場合は、エラーにせず終了するため、同じコマンドを繰り返し実行できます。
-p を指定せずに mkdir project/logs/2026 を実行すると、途中のディレクトリが存在しない場合はエラーになります。
参考
- GNU Coreutils - mkdir: https://www.gnu.org/software/coreutils/manual/html_node/mkdir-invocation.html