.\" Updated 2008-09-07, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.08
.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
.\"
-.TH LINK 2 2014\-02\-21 Linux "Linux Programmer's Manual"
+.TH LINK 2 2014\-03\-19 Linux "Linux Programmer's Manual"
.SH 名前
link, linkat \- ファイルの新しい名前を作成する
.SH 書式
.SH 説明
\fBlink\fP() は存在するファイルへの新しいリンク (link) (ハードリンク (hard link) ともいう) を作成する。
-\fInewpath\fP が存在する場合には上書きは\fIされない\fP。
+\fInewpath\fP が存在する場合には、上書きは\fIされない\fP。
この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方の名前は同じファイルを参照しており (それで同じ許可
(permission) や所有者 (ownership) となるので)、 どちらの名前が本来のものであるか判別できない。
\fIoldpath\fP で指定されたパス名が絶対パスの場合、 \fIolddirfd\fP は無視される。
-The interpretation of \fInewpath\fP is as for \fIoldpath\fP, except that a
-relative pathname is interpreted relative to the directory referred to by
-the file descriptor \fInewdirfd\fP.
+\fInewpath\fP の解釈は \fIoldpath\fP と同じである。 相対パスのパス名がファイルディスクリプター \fInewdirfd\fP
+が参照するディレクトリと解釈される点だけが異なる。
-The following values can be bitwise ORed in \fIflags\fP:
+以下の値のビット単位の論理和を \fIflags\fP に指定できる。
.TP
\fBAT_EMPTY_PATH\fP (Linux 2.6.39 以降)
.\" commit 11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3
.\" Before glibc 2.16, defining _ATFILE_SOURCE sufficed
-If \fIoldpath\fP is an empty string, create a link to the file referenced by
-\fIolddirfd\fP (which may have been obtained using the \fBopen\fP(2) \fBO_PATH\fP
-flag). In this case, \fIolddirfd\fP can refer to any type of file, not just a
-directory. The caller must have the \fBCAP_DAC_READ_SEARCH\fP capability in
-order to use this flag; this prevents arbitrary users from creating hard
-links using file descriptors received via a UNIX domain socket (see the
-discussion of \fBSCM_RIGHTS\fP in \fBunix\fP(7)). This flag is Linux\-specific;
-define \fB_GNU_SOURCE\fP to obtain its definition.
+\fIoldpath\fP が空文字列の場合、 \fIolddirfd\fP が参照するファイルへのリンクを作成する (\fIolddirfd\fP は
+\fBopen\fP(2) の \fBO_PATH\fP フラグを使って取得する)。 この場合、 \fIolddirfd\fP
+はディレクトリではなくファイルを参照していなければならない。 このフラグを使用するためには、 呼び出し元は \fBCAP_DAC_READ_SEARCH\fP
+ケーパビリティを持っていなければならない。 これにより、 任意のユーザーが UNIX
+ドメインソケット経由で受信したファイルディスクリプターを使ってハードリンクを作成することがないようになっている (\fBunix\fP(7) の
+\fBSCM_RIGHTS\fP の議論を参照)。 このフラグは Linux 固有で、 この定義を得るには \fB_GNU_SOURCE\fP を定義すること。
.TP
\fBAT_SYMLINK_FOLLOW\fP (Linux 2.6.18 以降)
-By default, \fBlinkat\fP(), does not dereference \fIoldpath\fP if it is a symbolic
-link (like \fBlink\fP()). The flag \fBAT_SYMLINK_FOLLOW\fP can be specified in
-\fIflags\fP to cause \fIoldpath\fP to be dereferenced if it is a symbolic link.
+\fBlinkat\fP() は (\fBlink\fP() 同様) デフォルトでは \fIoldpath\fP がシンボリックリンクの場合リンクの展開を行わない。
+フラグ \fBAT_SYMLINK_FOLLOW\fP を \fIflags\fP に指定することができ、指定した場合 \fIoldpath\fP
+がシンボリックリンクの場合リンクの展開が行われる。
.PP
カーネル 2.6.18 より前では、 \fIflags\fP 引き数は未使用で、 0 を指定しなければならなかった。
.PP
ケーパビリティを持っていなかった。
.TP
\fBENOENT\fP
-An attempt was made to link to the \fI/proc/self/fd/NN\fP file corresponding to
-a file descriptor created with
+以下の呼び出しで作成されたファイルディスクリプターに対応する \fI/proc/self/fd/NN\fP ファイルに対してリンクを行おおうとした。
open(path, O_TMPFILE | O_EXCL, mode);
\fBENOTDIR\fP
\fIoldpath\fP が相対パスで、 \fIolddirfd\fP がディレクトリ以外のファイルを参照している。または \fInewpath\fP と
\fInewdirfd\fP に関して同じ状況である。
+.TP
+\fBEPERM\fP
+\fIflags\fP に \fBAT_EMPTY_PATH\fP が指定され、 \fIoldpath\fP が空文字列で、 \fIolddirfd\fP
+がディレクトリを参照している。
.SH バージョン
\fBlinkat\fP() はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc
に追加された。
\fBln\fP(1), \fBopen\fP(2), \fBrename\fP(2), \fBstat\fP(2), \fBsymlink\fP(2), \fBunlink\fP(2),
\fBpath_resolution\fP(7), \fBsymlink\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。