mkdirコマンドは、DIR...
で指定したディレクトリを作成します。
- ① -m MODE
- ディレクトリのアクセス権を指定します。省略時には、デフォルトのアクセス権で作成します。
- ② -p
DIR...
に指定したディレクトリを一度に作成できない場合でもmkdirコマンドが、適切な手順で作成します。例えばカレントディレクトリ内に「doc1」というディレクトリがない状態で、「mkdir -p doc1/doc2」というように指定すると、ディレクトリ「doc1」を作成してから、その中に「doc2」を作成します。
デフォルトのアクセス権は、umaskコマンドを、制限するアクセス権を示す8進数の値(マスク値)を引数に指定して実行することで設定できます。また、umaskコマンドを引数なしで実行すると、現在のマスク値を参照できます。umaskコマンドによる設定をしていなければ、「777」(すべてのユーザに読み込み権、書き込み権、実行権がある状態)になります。ただし、アクセス権はセキュリティ上重要です。umaskコマンドでデフォルトを変えるのは賢明ではありません。
- ① 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
$
lsコマンド
関連タグ
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.