mkdir コマンドとは?
mkdir
(make directory)は、ディレクトリを新しく作成するためのコマンドです。
単一ディレクトリの作成から、複数階層の一括作成まで幅広く利用されます。
基本構文
mkdir [オプション] ディレクトリ名
使用例と出力サンプル
単一ディレクトリの作成
$ mkdir testdir
複数ディレクトリを同時に作成
$ mkdir dir1 dir2 dir3
階層構造のディレクトリを一括作成(-p)
$ mkdir -p project/src/utils
上記の例では、project
や src
がまだ存在していなくても、すべての階層を一気に作成します。
よく使うオプション
オプション | 説明 |
---|---|
-p | 必要な親ディレクトリも再帰的に作成(既存でもエラーにならない) |
-v | 作成したディレクトリ名を出力(verbose) |
-m MODE | パーミッションを指定して作成(例: -m 755 ) |
実用例:スクリプトでよく使う形式
$ mkdir -pv backup/logs/{daily,weekly,monthly}
mkdir: created directory 'backup'
mkdir: created directory 'backup/logs'
mkdir: created directory 'backup/logs/daily'
mkdir: created directory 'backup/logs/weekly'
mkdir: created directory 'backup/logs/monthly'
※ ブレース展開は Bash や Zsh で使用可能です。
よくあるエラーと対処
エラー例 | 原因 | 解決策 |
---|---|---|
File exists | ディレクトリが既に存在する | -p を使えばスキップして進行可能 |
Permission denied | 作成先に書き込み権限がない | sudo を付けるか別のパスに作成 |
No such file or directory | 親ディレクトリがない | -p を付けると自動で親も作成される |
パーミッション付きで作成(-m)
$ mkdir -m 700 private_dir
このコマンドは、作成したディレクトリに対して「ユーザーのみが読み書き実行可能」な権限(700)を設定します。
まとめ
mkdir
はディレクトリ作成の基本コマンド-p
と-v
の組み合わせはスクリプトで多用される- パーミッションや多階層作成も柔軟に対応できるため、運用自動化において必須
参考リンク
- https://man7.org/linux/man-pages/man1/mkdir.1.html
- https://www.gnu.org/software/coreutils/manual/html_node/mkdir-invocation.html