mkdir はディレクトリを作るコマンドです。-p で途中の階層ごと作る方法や、File exists で失敗したときの読み方を、ブラウザ上のターミナルでそのまま打ちながら確認できます。
最終更新: 2026-09-04
mkdir [オプション] ディレクトリ名...
名前を空白で区切って並べると、まとめて作れます。
このページのターミナルはプロジェクトの直下から始まります。
$ ls
README.md src/
$ mkdir tests
$ ls
README.md src/ tests/
mkdir は成功しても何も表示しません。
ls で確かめると tests/ が増えているのが分かります。
| オプション | 意味 |
|---|---|
-p | 途中の階層も一緒に作る。既にあってもエラーにしない |
-p を付けると、親ディレクトリが無くてもまとめて作られます。
$ mkdir -p docs/api/v1
$ ls -R docs
docs:
api/
docs/api:
v1/
docs/api/v1:
docs も docs/api も無い状態から、3階層が一度に用意されました。
| 場面 | 打つもの |
|---|---|
| 作業用のディレクトリを1つ作る | mkdir work |
| 決まった構成をまとめて作る | mkdir -p src/components src/utils |
| スクリプトの中で使う | mkdir -p にしておくと、2回目以降も止まらない |
スクリプトの中では -p を付けるのが定石です。
すでにディレクトリがあってもエラーにならないので、同じスクリプトを何度流しても途中で止まりません。
同じ名前があると失敗します。
$ mkdir src
mkdir: cannot create directory 'src': File exists
-p を付けていれば、この場合もエラーにならず成功として扱われます。
親が無いと失敗します。
$ mkdir a/b
mkdir: cannot create directory 'a/b': No such file or directory
a が存在しないので a/b を作れません。
mkdir -p a/b なら a から作ってくれます。
成功しても何も表示されません。
黙って終わるのが正常です。作られたか確かめたいときは ls を打ってください。
ターミナル入門
基本コマンドを学ぶ
