【mkdir】Linuxで新規ディレクトリ作成するコマンド

Linuxで新規ディレクトリを作成をするためのコマンドを紹介します。

【mkdir】新規ディレクトリを作成する

「mkdir」コマンドは、新規ディレクトリを作成するコマンドです。

$ mkdir 新規ディレクトリ名

階層ディレクトリを作成(再帰的なディレクトリ作成)

ただし、新しく新規ディレクトリ1を作成し、さらにそのディレクトリ内に新規ディレクトリ2を作成したいという場合、以下ようなコマンドではエラーとなります。

$ mkdir 新規ディレクトリ1/新規ディレクトリ2

この場合は、「-p」オプションをつけることで再帰的にディレクトリを作成することができます。

$ mkdir -p 新規ディレクトリ1/新規ディレクトリ2

【応用編】mkdirで作成したファイルのパーテーション

オプションで何も指定しなかった場合は、ファイルの所有権は「mkdir」コマンドを実行したユーザーとなり、デフォルトパーミッションは「umask」の設定と同じになります。

参照:【umask】Linuxでファイル作成時のパーミッション指定するコマンド

「umask」コマンドは、ファイル・ディレクトリの作成時のデフォルト値を設定するコマンドです。

以下のように、デフォルト値を確認できます。「022」なのでディレクトリの設定値は、基本値の777から022を引いた755となります。

$ umask
  022

そのため、オプション指定せずに新規ディレクトリを作成すると以下のようになります。

$ mkdir sample1
$ ls -l
  drwxr-xr-x 2 root root 4096 2月 4 22:27 2016 sample1

新規ディレクトリ作成時に、パーミッション(モード)を指定するには「-m」オプションを使います。

以下は、書き込み権限を付与したsample2ディレクトリを作成する例です。

$ mkdir -m +w sample2
$ ls -l
  drwxrwxrwx 2 root root 4096  2月  4 22:37 2016 sample2

「umask」の値を変更してしまうと、予期せずパーミッションがオープンになりすぎる危険性があります。

そのため、この「-m」オプションを使用するか、ディレクトリ作成後に「chmod」コマンドでパーミッションを変更するほうが良いでしょう。


イベント