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

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
規格
歴史

jman



Time: 07:06:28 GMT, January 12, 2009