Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

mkdir

ディレクトリを作成する
2015/05/20 08:00

対応OS: linux , freebsd, solaris
mkdir [-m MODE] [-p] DIR...

 mkdirコマンドは、DIR...で指定したディレクトリを作成します。

オプション
① -m MODE
ディレクトリのアクセス権を指定します。省略時には、デフォルトのアクセス権で作成します。
HINT!

 デフォルトのアクセス権は、umaskコマンドを、制限するアクセス権を示す8進数の値(マスク値)を引数に指定して実行することで設定できます。また、umaskコマンドを引数なしで実行すると、現在のマスク値を参照できます。umaskコマンドによる設定をしていなければ、「777」(すべてのユーザに読み込み権、書き込み権、実行権がある状態)になります。ただし、アクセス権はセキュリティ上重要です。umaskコマンドでデフォルトを変えるのは賢明ではありません。

 アクセス権

② -p
DIR...に指定したディレクトリを一度に作成できない場合でもmkdirコマンドが、適切な手順で作成します。例えばカレントディレクトリ内に「doc1」というディレクトリがない状態で、「mkdir -p doc1/doc2」というように指定すると、ディレクトリ「doc1」を作成してから、その中に「doc2」を作成します。
引数
① DIR...
作成するディレクトリのパスを指定します。複数のディレクトリを作成する場合には、スペースで区切って指定します。
ディレクトリを作成する
$ umask 
0002
マスク値が「0002」なので、デフォルトのアクセス権は「777」から「002」が制限された「775」
$ mkdir dir01 dir02
$ ls -l
合計8
drwxrwxr-x 2 cmd cmd 4096 6月29 17:31 dir01
drwxrwxr-x 2 cmd cmd 4096 6月29 17:31 dir02
$
アクセス権を指定してディレクトリを作成する
$ mkdir -m 755 dir03 
アクセス権に「755」を指定して作成
$ ls -l
合計12
drwxrwxr-x 2 cmd cmd 4096 6月29 17:31 dir01
drwxrwxr-x 2 cmd cmd 4096 6月29 17:31 dir02
drwxr-xr-x 2 cmd cmd 4096 6月29 17:35 dir03
$
ディレクトリの階層を作成する
$ tree 
.
|-- dir11
| `-- file01
`-- file01
処理前のカレントディレクトリの階層構造

1 directory, 2 files
$ mkdir dir11/dir21/dir31
オプション「-p」を指定しなければ、ディレクトリ「dir11/dir21」内に「dir31」を作成しようとして、「dir11/dir21」がないためエラー
mkdir: ディレクトリ'dir11/dir21/dir31' を作成できません
: そのようなファイルやディレクトリはありません
$ mkdir -p dir11/dir21/dir31
$ tree
.
|-- dir11
| |-- dir21
| | `-- dir31
| `-- file01
`-- file01

3 directories, 2 files
$
HINT!

 lsコマンド

関連タグ

UNIXコマンド辞典トップページに戻る

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5