Unix-system-calls-mkdir

提供:Dev Guides
移動先:案内検索

[top]#

[[File:]]

[[File:]]

|Web |This Site

  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

  Home     References     Discussion Forums     About TP  

mkdir()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

mkdir-ディレクトリを作成します

概要

#include <sys/stat.h> #include <sys/types.h> int mkdir(const char* pathname, mode_t mode);

説明

*mkdir* ()は、_pathname_という名前のディレクトリを作成しようとします。

パラメーター_mode_は、使用する許可を指定します。 プロセスの_umask_によって通常の方法で変更されます。作成されたディレクトリの許可は(mode&〜umask&0777)です。 作成されたディレクトリの他のモードビットは、オペレーティングシステムによって異なります。 Linuxの場合、以下を参照してください。

新しく作成されたディレクトリは、プロセスの実効ユーザーIDによって所有されます。 ファイルを含むディレクトリにset-group-IDビットが設定されている場合、またはファイルシステムがBSDグループセマンティクスでマウントされている場合、新しいディレクトリは親からグループ所有権を継承します。それ以外の場合は、プロセスの有効なグループIDによって所有されます。

親ディレクトリにset-group-IDビットが設定されている場合、新しく作成されたディレクトリも設定されます。

返り値

*mkdir* ()は成功すると0を返し、エラーが発生した場合は-1を返します(この場合、_errno_は適切に設定されます)。

エラー

Tag

説明

*EACCES*

親ディレクトリがプロセスへの書き込み許可を許可していないか、_pathname_のディレクトリの1つが検索許可を許可していません。 ( path_resolution (2)も参照してください。)

*EEXIST*

_pathname_はすでに存在します(必ずしもディレクトリとしてではありません)。 これには、_pathname_がシンボリックリンクである場合や、ぶら下がるかどうかが含まれます。

*EFAULT*

_pathname_は、アクセス可能なアドレス空間の外側を指します。

*ELOOP*

_pathname_の解決中に検出されたシンボリックリンクが多すぎます。

*ENAMETOOLONG*

_pathname_が長すぎました。

*ENOENT*

_pathname_のディレクトリコンポーネントが存在しないか、ダングリングシンボリックリンクです。

*ENOMEM*

カーネルメモリが不足していました。

*ENOSPC*

_pathname_を含むデバイスには、新しいディレクトリ用のスペースがありません。

*ENOSPC*

ユーザーのディスククォータが使い果たされているため、新しいディレクトリを作成できません。

*ENOTDIR*

_pathname_でディレクトリとして使用されるコンポーネントは、実際にはディレクトリではありません。

*EPERM*

_pathname_を含むファイルシステムは、ディレクトリの作成をサポートしていません。

*EROFS*

_pathname_は、読み取り専用ファイルシステム上のファイルを指します。

準拠

SVr4、BSD、POSIX.1-2001。

ノート

Linuxでは、許可ビットは別として、S_ISVTXモードビットのみが優先されます。 つまり、Linuxでは、作成されたディレクトリは実際にモード(mode&〜umask&01777)になります。 stat (2)もご覧ください。

NFSの基礎となるプロトコルには多くの不備があります。 これらのいくつかは mkdir ()に影響します。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

  
Advertisements