mkdir ディレクトリを作成する
mkdir [オプション] ディレクトリ...試してみる
mkdir sandbox/docsディレクトリを1つ作ります。
mkdir sandbox/img sandbox/src複数のディレクトリを一度に作ります。
mkdir -p sandbox/a/b/c-p を付けると、途中のディレクトリもまとめて作ります。
mkdir -p sandbox/docs-p は、既にあるディレクトリを指定してもエラーになりません。
mkdir -m 700 sandbox/private-m で、作成と同時に権限を指定します。
ls -l sandboxできたディレクトリと権限を確認します。
主なオプション
-p | 途中のディレクトリも作る。既にあってもエラーにしない |
|---|---|
-m モード | 作成するディレクトリの権限を指定する |
-v | 作成したディレクトリを表示する |
解説
途中のディレクトリがないとき
mkdir a/b/c のとき、a/b がなければ「No such file or directory」のエラーになります。-p(parents)を付けると、必要な親ディレクトリも含めてすべて作られます。
既存のディレクトリ
既にあるディレクトリを mkdir で作ろうとすると、「File exists」のエラーになります。-p を付けるとエラーにならないので、スクリプトで「なければ作る」ために使えます。
権限
作成したディレクトリの権限は、標準では 777 から umask の値を引いたものになります。umask が 022 なら 755 です。-m で指定すると、umask に関係なく指定した権限になります。
実行権限の意味
ディレクトリでは、実行権限(x)は「中に入れる」ことを意味します。権限を 600 などにするとファイルが読めなくなるので、ディレクトリの権限は 755 や 700 のように、x を含めるのが普通です。