LINK
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
link
- ハードファイルリンクを作成する
索引
ライブラリ
Lb libc
索引
書式
In unistd.h
Ft int
Fn link const char *name1 const char *name2
索引
解説
Fn link
システムコールは、
Fa name1
が指す下層オブジェクトの属性を持つ、指定のディレクトリエントリ (ハードリンク)
Fa name2
を不可分に作成します。
リンクが正常に完了すると下層オブジェクトのリンクカウントが増加します。
Fa name1
と
Fa name2
は、下層オブジェクトへのアクセスとアクセス権を等しく共有します。
Fa name1
を削除してもファイル
Fa name2
は削除されず、下層オブジェクトのリンクカウントが減少します。
Fa name1
引数によって指されるオブジェクト
はハードリンクが成功するために存在している必要があり、
Fa name1
と
Fa name2
の両方が同じファイルシステム上に存在している必要があります。
Fa name1
引数はディレクトリであってはなりません。
索引
戻り値
Rv -std link
索引
エラー
Fn link
システムコールは次の場合に処理に失敗し、リンクは作成されません:
- Bq Er ENOTDIR
-
いずれかの前置パス名の構成要素がディレクトリではありません。
- Bq Er ENAMETOOLONG
-
いずれかのパス名の構成要素が 255 文字を越えているか、
またはいずれかのパス名全体の長さが 1023 文字を越えています。
- Bq Er ENOENT
-
いずれかの前置パス名の構成要素が存在しません。
- Bq Er EOPNOTSUPP
-
Fa name1
によって指定されたファイルが入っているファイルシステムが
リンクをサポートしていません。
- Bq Er EMLINK
-
Fa name1
で指定されたファイルのリンクカウントが 32767 を越えます。
- Bq Er EACCES
-
いずれかの前置パス名の構成要素について検索許可が拒否されています。
- Bq Er EACCES
-
要求されたリンクは、書込み許可を拒否するモードのディレクトリに
書き込むことを要求しています。
- Bq Er ELOOP
-
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
- Bq Er ENOENT
-
Fa name1
によって指定されたファイルが存在しません。
- Bq Er EEXIST
-
Fa name2
によって指定されたリンクが存在します。
- Bq Er EPERM
-
Fa name1
によって指定されたファイルはディレクトリであるか、
変更禁止もしくは追加のみ可能であるとフラグが付けられています (
chflags(2)
参照)。
- Bq Er EXDEV
-
Fa name2
によって指定されたリンクと
Fa name1
によって指定されたファイルが異なるファイルシステム上にあります。
- Bq Er ENOSPC
-
ディレクトリを格納しているファイルシステムに容量が残っていないため、
新しいリンクを入れるエントリを置くディレクトリを拡張できません。
- Bq Er EDQUOT
-
ディレクトリを格納しているファイルシステムでユーザのディスクブロックに
関するクォータが枯渇したため、
新しいリンクを入れるエントリを置くディレクトリを拡張できません。
- Bq Er EIO
-
ディレクトリエントリを作成するためファイルシステムに
読み書きしている間に入出力エラーが発生しました。
- Bq Er EROFS
-
要求されたリンクは、読取り専用ファイルシステム上のディレクトリに
書込みすることを要求しています。
- Bq Er EFAULT
-
指定されたパス名の 1 つが、プロセスに割り当てられた
アドレス空間の範囲外を指しています。
索引
関連項目
readlink(2),
symlink(2),
unlink(2)
索引
規格
Fn link
システムコールは
St -p1003.1-90
に適合しています。
索引
歴史
Fn link
関数は
AT&T System
v7
で登場しました。
従来、スーパユーザは
Fn link
システムコールによってディレクトリをリンクでき、
これはファイルシステムの一貫性を破壊するものでした。
この実装では、このような操作はもはや許されません。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- エラー
-
- 関連項目
-
- 規格
-
- 歴史
-
Time: 07:06:28 GMT, January 12, 2009