カテゴリ: Linuxコマンド集 更新日: 2026/06/07

Linuxのmkdir -pオプションを完全解説!初心者でもわかる親ディレクトリまとめ作成の基本

mkdir -pオプション|親ディレクトリもまとめて作成する方法
mkdir -pオプション|親ディレクトリもまとめて作成する方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxでフォルダを作るときに、途中の親フォルダがないとエラーになってしまいました。どうすればいいですか?」

先生

「それはmkdirコマンドの-pオプションを使うと解決できますよ。親ディレクトリをまとめて作成できるんです。」

生徒

「普通のmkdirとの違いは何ですか?」

先生

「普通のmkdirは、親フォルダが存在しないとエラーになりますが、-pを付けると途中の親フォルダも自動で作成してくれます。」

生徒

「なるほど!それなら複雑な階層を一気に作れるんですね。」

先生

「そうです。では、具体的な使い方を一緒に見ていきましょう。」

1. mkdir -pオプションとは?

1. mkdir -pオプションとは?
1. mkdir -pオプションとは?

mkdir -pは、Linuxで親ディレクトリを含めてまとめて作成するためのオプションです。「make directory」の略であるmkdirに「-p(parentsの略)」を付けることで、存在しない親ディレクトリを自動的に作ってくれます。

例えば「projects/java/spring」という階層を一気に作りたいとき、普通のmkdirでは「projects」や「java」が存在しないとエラーになりますが、-pを付ければすべてまとめて作成できます。

2. 普通のmkdirでエラーになる例

2. 普通のmkdirでエラーになる例
2. 普通のmkdirでエラーになる例

まずは通常のmkdirコマンドで親ディレクトリがない場合を確認してみましょう。


mkdir projects/java/spring
mkdir: ディレクトリ `projects/java/spring' を作成できません: そのようなファイルやディレクトリはありません

このように、途中の「projects」や「java」が存在しないとエラーになってしまいます。これは初心者が最初に戸惑いやすいポイントです。

3. mkdir -pを使った正しい使い方

3. mkdir -pを使った正しい使い方
3. mkdir -pを使った正しい使い方

そこで活躍するのが-pオプションです。次のように入力すれば、階層ごとまとめて作成してくれます。


mkdir -p projects/java/spring

作成できたか確認するには、ls -Rで階層を表示すると分かりやすいです。


ls -R projects
projects:
java

projects/java:
spring

projects/java/spring:

このように、「projects」「java」「spring」が一気に作成されました。

4. 既に存在するディレクトリでもエラーにならない

4. 既に存在するディレクトリでもエラーにならない
4. 既に存在するディレクトリでもエラーにならない

-pオプションを使うと、もし親ディレクトリが既に存在していてもエラーになりません。例えば「projects」というフォルダがある状態で再度同じコマンドを実行しても問題なくスルーしてくれます。


mkdir -p projects/java/spring

この挙動は「冪等性(べきとうせい)」と呼ばれ、同じ操作を繰り返しても結果が変わらない性質を意味します。初心者でも安心して使える理由の一つです。

5. mkdir -pで複数階層を同時に作成する例

5. mkdir -pで複数階層を同時に作成する例
5. mkdir -pで複数階層を同時に作成する例

一度に複数の階層を作ることも可能です。例えば次のように入力すると、「python」「golang」という別の階層も同時に作成できます。


mkdir -p projects/python projects/golang

確認すると、それぞれの階層が作成されているのが分かります。


ls projects
golang  java  python

6. 実務や学習での活用例

6. 実務や学習での活用例
6. 実務や学習での活用例

プログラミングの学習や開発現場では、言語やフレームワークごとにディレクトリを分けることがよくあります。例えば「projects/java/spring」「projects/python/django」といった形で階層を整理すると、後から探しやすくなります。

また、ログファイルやバックアップデータを日付ごとに整理する場合にも便利です。


mkdir -p backup/2025/09/16

このようにすれば、「2025年9月16日」という日付階層が一気に作られ、ファイル管理がスムーズになります。

7. 注意点と補足

7. 注意点と補足
7. 注意点と補足

便利な-pですが、無意識に深い階層を作りすぎると逆に管理が難しくなることがあります。階層はできるだけシンプルにしておくのがおすすめです。

また、システムの大事な場所(例えば/etc/var)に不用意にmkdirを実行すると、システムが正しく動作しなくなる恐れがあるため、初心者はホームディレクトリ内(/home/ユーザー名)で練習するのが安全です。

まとめ

まとめ
まとめ

mkdir -pの基本を振り返る

Linuxにおけるディレクトリ作成コマンドであるmkdirは、日常的に使用される基本コマンドのひとつです。その中でもmkdir -pオプションは、親ディレクトリを自動的に作成できる非常に便利な機能として、多くの現場で活用されています。通常のmkdirでは、途中の階層が存在しない場合にエラーとなってしまいますが、-pオプションを付けることで、その問題を解消できます。

特に初心者がつまずきやすいポイントとして、ディレクトリ構造の理解がありますが、mkdir -pを使うことで意識せずとも安全に階層を作成できます。この特徴により、開発環境の構築や学習用ディレクトリの整理が効率的に行えるようになります。

実務で役立つmkdir -pの活用ポイント

実務においては、プロジェクトごとにディレクトリを分けたり、言語やフレームワークごとにフォルダ構成を整理することが一般的です。例えば、javaやpython、golangといった言語別のフォルダ構成を一度に作成する場合、mkdir -pは非常に効率的です。また、ログ管理やバックアップのように日付単位でディレクトリを作成する場面でも役立ちます。

mkdir -pのもうひとつの重要な特徴として、既に存在するディレクトリに対してエラーを出さない点があります。この性質は冪等性と呼ばれ、同じコマンドを何度実行しても結果が変わらないため、スクリプトや自動化処理においても安心して利用できます。

サンプルコードで理解を深める

以下は、実際にmkdir -pを活用したディレクトリ作成の例です。Linux初心者でも理解しやすいように、コマンドと実行結果をセットで確認してみましょう。


mkdir -p study/linux/basic
ls -R study
study:
linux

study/linux:
basic

study/linux/basic:

このように、一度のコマンドで複数階層のディレクトリが作成されていることが確認できます。通常であれば一つずつ作成する必要がありますが、mkdir -pを使うことで作業効率が大幅に向上します。

応用例としてのディレクトリ管理

次に、複数のディレクトリを同時に作成する例を見てみましょう。開発現場では複数のプロジェクトを並行して扱うことが多いため、このような使い方は非常に実用的です。


mkdir -p workspace/frontend workspace/backend workspace/database
ls workspace
backend  database  frontend

このように、複数のパスを同時に指定することで、一括でディレクトリ構成を作成できます。作業の効率化だけでなく、構造の統一にもつながります。

注意点と安全な使い方

mkdir -pは便利な反面、誤ったパスを指定すると意図しないディレクトリが作成される可能性があります。そのため、特にルートディレクトリ直下やシステムディレクトリでの操作には注意が必要です。初心者のうちはホームディレクトリ配下で練習することで、安全にコマンド操作を身につけることができます。

また、ディレクトリ構造を深くしすぎると管理が難しくなるため、適度な階層設計を心がけることも重要です。シンプルで分かりやすい構造を意識することで、後からの保守や管理がしやすくなります。

先生と生徒の振り返り会話

生徒

「mkdir -pを使うと、親ディレクトリを気にしなくていいのがすごく便利ですね。」

先生

「そうですね。特に複数階層を一度に作成できる点が大きなメリットです。」

生徒

「しかも、既にディレクトリがあってもエラーにならないのは安心です。」

先生

「その通りです。スクリプトや自動処理でも安心して使える理由のひとつです。」

生徒

「これからはディレクトリ作成のときに積極的に使っていきます。」

先生

「ぜひ活用してください。Linuxの基本コマンドをしっかり理解することが、スキル向上への近道ですよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Linuxでmkdir -pオプションとは何ですか?

Linuxのmkdir -pオプションは、親ディレクトリを含めてまとめて作成するためのオプションです。存在しない親ディレクトリがあっても自動的に作ってくれる便利な機能です。

mkdirとmkdir -pの違いは何ですか?

mkdirだけでは途中の親ディレクトリが存在しないとエラーになりますが、mkdir -pを使うと親ディレクトリがなくても自動で作成してくれます。複雑な階層を作るときに便利です。

mkdir -pの「-p」は何の略ですか?

mkdir -pの「-p」は「parents」の略です。親ディレクトリを同時に作成するという意味があります。
関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
patch -Rオプションの使い方を完全ガイド!初心者でもわかるLinuxでパッチを元に戻す方法
New2
テキスト・データ処理
less -Xオプションの使い方を完全ガイド!終了後も画面内容を残す方法
New3
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
New4
ディスクとファイルシステム管理
dfコマンドの使い方を完全ガイド!初心者でもわかるLinuxのディスク使用量確認方法
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説