tail head cat sleep
QR code linking to this page

manページ  — MKNOD

名称

mknod – 特殊なファイルノードを作成する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <unistd.h>

int
mknod(const char *path, mode_t mode, dev_t dev);

解説

ファイルシステムノード path が、 mode で指定されたファイルタイプとアクセス許可で作成されます。 アクセス許可はプロセスの umask 値による修正を受けます。

mode がブロックまたはキャラクタ型特殊ファイルを示す場合、 dev はシステム上の特定のデバイスを示す構成に依存する指示です。 そうでない場合 dev は無視されます。

mknod() システムコールはスーパユーザ権限が必要です。

戻り値

The mknod function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

mknod() システムコールは次の場合に処理に失敗し、ファイルは作成されません:
[ENOTDIR]
  パスの構成要素中にディレクトリ以外のものが含まれています。
[ENAMETOOLONG]
  パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。
[ENOENT]
  パスの構成要素が存在しません。
[EACCES]
  指定されたパスには、検索が許可されていないディレクトリが含まれています。
[ELOOP]
  パス名を変換するときに検出されたシンボリックリンクが多すぎます。
[EPERM]
  プロセスの実効ユーザ ID がスーパユーザではありません。
[EIO] ディレクトリエントリの作成中、あるいは inode を割り当て中に 入出力エラーが発生しました。
[ENOSPC]
  新しいノード用のエントリを配置するディレクトリが拡張できません。 ディレクトリが入っているファイルシステム上に空き容量が残っていません。
[ENOSPC]
  ノードを作成するファイルシステム上に未使用の inode がありません。
[EDQUOT]
  新しいノードのエントリを配置するディレクトリが拡張できません。 ディレクトリが入っているファイルシステム上のディスクブロックのユーザの クォータが枯渇しました。
[EDQUOT]
  ノードを作成中のファイルシステム上の inode のユーザのクォータが 枯渇しました。
[EROFS]
  指定されたファイルは読取り専用ファイルシステム上にあります。
[EEXIST]
  指定のファイルがすでに存在しています。
[EFAULT]
  path 引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
[EINVAL]
  ブロックまたはキャラクタ型特殊ファイル (または whiteout) 以外の作成は行われません。

関連項目

chmod(2), mkfifo(2), stat(2), umask(2)

歴史

mknod() 関数は AT&T v6 で登場しました。

MKNOD (2) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.