Perl5 リファレンス



mkdir

【文法】

mkdir FILENAME,MASK
mkdir FILENAME

【説明】

FILENAME で指定された名前でディレクトリを作成します。成功すれば true を返します。
失敗すれば false を返し、$! にエラー番号をセットします。
MASK が省略されると、MASK は 0777 となります。

ファイルまたはディレクトリが個人的なもの(たとえばメールファイル)でない限り、一
般的に、厳格な MASK でディレクトリを作り、それを緩くする手段を与えないよりは、緩
い MASK でディレクトリを作り、それを修正させたほうがよろしいでしょう。


【使用例】

umask が 002 の場合を例にとります。

$file = './test';
mkdir $file;

umask とは、ファイルやディレクトリを作成する時に、ファイルの最初のパーミッション
を設定するために使用される設定値です。お使いのサーバには必ず設定されています。概
ね、002 か 022 が設定されています。サーバに設定されている umask と mkdir 関数で
指定する MASK 値との関係を理解しないと、作成するディレクトリのパーミッションを指
定することはできません。以下に簡単にそれらの関係を説明します。

umask が 002 の場合、それぞれの数字を 2 進数にすると、
000 000 010
となります。この 1 と 0 をひっくり返して下さい。
111 111 101 -----(1)
となります。そして mkdir 関数で MASK に 777 つまり
111 111 111 -----(2)
が指定されたとします。(1) と (2) のそれぞれの数字を縦に掛け合わせて下さい。
111 111 101
となりまず。これが出来上がるディレクトリのパーミッションです。これを 10 進数に変
換すると、775 となるわけです。


Perl5リファレンスに戻る