| mkdir | |
|---|---|
コマンド mkdir | |
| 開発者 | さまざまなオープンソースおよび商用開発者 |
| オペレーティング·システム | Unix、Unix 風の、Plan 9、Inferno、DOS、MSX-DOS、FlexOS、OS/2、Windows、ReactOS、KolibiOS |
| プラットフォーム | クロスプラットフォーム |
| タイプ | 指示 |
| ライセンス | GNU coreutils : GPLv3+ MS-DOS、プラン 9: MIT FreeDOS : GPLv2+ ReactOS : GPLv2 |
Unix、DOS、DR FlexOS、[ 1 ] IBM OS/2、[ 2 ] Microsoft Windows、およびReactOS [ 3 ]オペレーティングシステムのmkdir( make directory )コマンドは、新しいディレクトリを作成するために使用されます。EFIシェル[ 4 ]およびPHPスクリプト言語でも使用できます。DOS、OS/2、Windows、および ReactOS では、このコマンドはしばしば と略されます。md
このコマンドはStratus OpenVOScreate_dirコマンドに類似しています。[ 5 ] MetaComCo TRIPOSとAmigaDOSMakeDirには、新しいディレクトリを作成する同様のコマンドがあります。 [ 6 ] [ 7 ]数値計算環境MATLABとGNU Octave には、同様の機能を持つ関数が含まれていますmkdir 。[ 8 ] [ 9 ]
Unixの初期バージョン(4.1BSDおよびSystem Vの初期バージョン)では、カーネルにシステムコールがなかったため、このコマンドはsetuid rootにする必要がありました。代わりに、ディレクトリを作成し、ディレクトリエントリを手動でリンクしました。このコマンドは、 MS-DOSバージョン2以降で使用できます。 [ 10 ] Digital Research DR DOS 6.0 [ 11 ]およびDatalight ROM-DOS [ 12 ]にも、およびコマンドの実装が含まれています。mkdirmknod...mdmkdir
GNU coreutilsmkdirにバンドルされているバージョンはDavid MacKenzie によって書かれたものです。[ 13 ]また、オープンソースのMS-DOSエミュレータであるDOSBoxやKolibriOSにも 含まれています。[ 14 ]

mkdir通常の使用方法は以下のとおりです。
mkdirディレクトリ名 name_of_directoryは作成したいディレクトリの名前です。上記のように入力した場合(つまり通常の使用方法)、新しいディレクトリは現在のディレクトリ内に作成されます。Unix および Windows(コマンド拡張機能が有効になっている場合、[15] デフォルト [16])では、複数のディレクトリを指定でき、それらmkdirすべてを作成しようとします。
Unix系オペレーティングシステムでは、mkdirオプションが利用可能です。オプションは以下のとおりです。
-p (--parents):親ディレクトリまたはパスを指定すると、指定されたディレクトリまでの、まだ存在しないすべてのディレクトリも作成されます。たとえば、ディレクトリが存在しない場合はmkdir -p a/bディレクトリを作成し、ディレクトリ内にディレクトリを作成します。指定されたディレクトリが既に存在する場合は、エラーを無視します。aba-m (--mode): mode、によって作成されたディレクトリの8 進数パーミッションmkdirを指定します。-pmkdirは、必要なディレクトリが存在しない、または既に存在する場合に、複雑なディレクトリ階層を構築する 際に最もよく使用されます。 は、シェルスクリプト-mで使用される一時ディレクトリをロックダウンするためによく使用されます。
-p実際の例を挙げると次のようになります。
mkdir -p /tmp/a/b/c /tmp/a存在するが存在しない場合には/tmp/a/b、作成する前にmkdir作成します。/tmp/a/b/tmp/a/b/c
さらに強力なコマンドとして、ツリー全体を一度に作成するものもあります(ただし、これはシェル拡張機能であり、mkdirコマンド自体が行うものではありません)。
mkdir -p tmpdir/ { trunk/sources/ { includes,docs } ,branches,tags }bashスクリプトでmkdirを使って変数を使用する場合、POSIXの`special`組み込みコマンドである'eval'がその目的を果たすでしょう。
DOMAIN_NAME = includes,docs eval "mkdir -p tmpdir/{trunk/sources/{ ${ DOMAIN_NAME } },branches,tags}"これにより以下が作成されます。
tmpdir ________|______ | | | 枝タグ幹 | 情報源 ____|_____ | | ドキュメントを含む