OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man2 / link.2
index 3b160e0..82147cc 100644 (file)
 .\" Updated & Modified Fri Apr 22 02:05:00 JST 2005 by Yuichi SATO
 .\" Updated 2008-09-07, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.08
 .\"
-.\"WORD:       link                    ¥ê¥ó¥¯
-.\"WORD:       hard link               ¥Ï¡¼¥É¡¦¥ê¥ó¥¯
-.\"WORD:       overwrite               ¾å½ñ¤­
-.\"WORD:       permission              µö²Ä(permission)
-.\"WORD:       ownership               ½êÍ­¼Ô(ownership)
-.\"WORD:       file system             ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à
-.\"WORD:       effective uid           ¼Â¸ú¥æ¡¼¥¶¡¼ID
-.\"WORD:       kernel                  ¥«¡¼¥Í¥ë
-.\"WORD:       symbolic link           ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
-.\"WORD:       dangling symbolic link  ²õ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
-.\"WORD:       directory entry         ¥Ç¥£¥ì¥¯¥È¥ê¡¦¥¨¥ó¥È¥ê
+.\"WORD:       link                    ã\83ªã\83³ã\82¯
+.\"WORD:       hard link               ã\83\8fã\83¼ã\83\89ã\83»ã\83ªã\83³ã\82¯
+.\"WORD:       overwrite               上書き
+.\"WORD:       permission              許可(permission)
+.\"WORD:       ownership               所有者(ownership)
+.\"WORD:       file system             ファイル・システム
+.\"WORD:       effective uid           å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ID
+.\"WORD:       kernel                  カーネル
+.\"WORD:       symbolic link           ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83»ã\83ªã\83³ã\82¯
+.\"WORD:       dangling symbolic link  å£\8aã\82\8cã\81\9fã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83»ã\83ªã\83³ã\82¯
+.\"WORD:       directory entry         ディレクトリ・エントリ
 .\"
 .TH LINK 2 2008-08-21 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-link \- ¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤Ì¾Á°¤òºîÀ®¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+link \- ファイルの新しい名前を作成する
+.SH 書式
 .B #include <unistd.h>
 .sp
 .BI "int link(const char *" oldpath ", const char *" newpath );
-.SH ÀâÌÀ
+.SH 説明
 .BR link ()
-¤Ï¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Ø¤Î¿·¤·¤¤¥ê¥ó¥¯ (link)
-(¥Ï¡¼¥É¡¦¥ê¥ó¥¯ (hard link) ¤È¤â¤¤¤¦) ¤òºîÀ®¤¹¤ë¡£
+ã\81¯å­\98å\9c¨ã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81¸ã\81®æ\96°ã\81\97ã\81\84ã\83ªã\83³ã\82¯ (link)
+(ハード・リンク (hard link) ともいう) を作成する。
 
 .I newpath
-¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¾å½ñ¤­¤Ï\fI¤µ¤ì¤Ê¤¤\fR¡£
+が存在する場合には上書きは\fIされない\fR。
 
-¤³¤Î¿·¤·¤¤Ì¾Á°¤ÏÁ´¤Æ¤ÎÁàºî¤Ë¤ª¤¤¤Æ¸Å¤¤Ì¾Á°¤È´°Á´¤ËƱ¤¸¤è¤¦¤Ë»ÈÍѤµ¤ì¤ë;
-ξÊý¤Î̾Á°¤ÏƱ¤¸¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤ª¤ê
-(¤½¤ì¤ÇƱ¤¸µö²Ä (permission) ¤ä½êÍ­¼Ô (ownership) ¤È¤Ê¤ë¤Î¤Ç)¡¢
-¤É¤Á¤é¤Î̾Á°¤¬ËÜÍè¤Î¤â¤Î¤Ç¤¢¤ë¤«È½Ê̤Ǥ­¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
+この新しい名前は全ての操作において古い名前と完全に同じように使用される;
+両方の名前は同じファイルを参照しており
+(それで同じ許可 (permission) や所有者 (ownership) となるので)、
+どちらの名前が本来のものであるか判別できない。
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+が適切に設定される。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EACCES
 .I newpath
-¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤­¹þ¤ß¤¬µö¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
+を含んでいるディレクトリへの書き込みが許されていないか、
 .I oldpath
-¤Þ¤¿¤Ï
+または
 .I newpath
-¤Ø¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä¤¬¤Ê¤¤
+へのディレクトリのどれかに検索許可がない
 .RB ( path_resolution (7)
-¤ò»²¾È)¡£
+を参照)。
 .TP
 .B EEXIST
 .I newpath
-¤¬´û¤Ë¸ºß¤¹¤ë¡£
+が既に存在する。
 .TP
 .B EFAULT
-.IR oldpath " ¤Þ¤¿¤Ï " newpath "
-¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
+.IR oldpath " または " newpath "
+がアクセス可能なアドレス空間の外を指している。
 .TP
 .B EIO
-I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
+I/O エラーが発生した。
 .TP
 .B ELOOP
-.IR oldpath " ¤Þ¤¿¤Ï " newpath
-¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
+.IR oldpath " または " newpath
+を解決する際に遭遇したシンボリック・リンクが多過ぎる。
 .TP
 .B EMLINK
 .I oldpath
-¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ï
-´û¤ËºÇÂç¿ô¤Þ¤Ç¤Î¥ê¥ó¥¯¤ò»ý¤Ã¤Æ¤¤¤ë¡£
+によって参照されるファイルは
+既に最大数までのリンクを持っている。
 .TP
 .B ENAMETOOLONG
-.IR oldpath " ¤Þ¤¿¤Ï " newpath "
-¤¬Ä¹²á¤®¤ë¡£
+.IR oldpath " または " newpath "
+が長過ぎる。
 .TP
 .B ENOENT
-.IR oldpath " ¤Þ¤¿¤Ï " newpath
-¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢
-²õ¤ì¤¿(dangling)¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¡£
+.IR oldpath " または " newpath
+のディレクトリ部分が存在しないか、
+壊れた(dangling)シンボリック・リンクである。
 .TP
 .B ENOMEM
-¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤¤¡£
+カーネルに十分なメモリがない。
 .TP
 .B ENOSPC
-¤½¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¡¦¥¨¥ó¥È¥ê¤ò
-ºîÀ®¤¹¤ë¤¿¤á¤Î¶õ¤­¤¬¤Ê¤¤¡£
+そのファイルを含んでいるデバイスに新しいディレクトリ・エントリを
+作成するための空きがない。
 .TP
 .B ENOTDIR
-.IR oldpath " ¤Þ¤¿¤Ï " newpath
-¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
+.IR oldpath " または " newpath
+のディレクトリ部分が、実際には、ディレクトリでない。
 .TP
 .B EPERM
 .I oldpath
-¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¡£
+がディレクトリである。
 .TP
 .B EPERM
-.IR oldpath " ¤È " newpath
-¤ò´Þ¤ó¤Ç¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬¥Ï¡¼¥É¡¦¥ê¥ó¥¯¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
+.IR oldpath "  " newpath
+を含んでいるファイル・システムがハード・リンクをサポートしていない。
 .TP
 .B EROFS
-¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤ßÀìÍѤΥե¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¸ºß¤¹¤ë¡£
+ファイルが読み込み専用のファイル・システムに存在する。
 .TP
 .B EXDEV
-.IR oldpath " ¤È " newpath
-¤¬Æ±¤¸¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¡£
-(Linux ¤Ï 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÊ£¿ô¤Î¥Þ¥¦¥ó¥È°ÌÃÖ¤Ë
-¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤ë¡£
-¤·¤«¤·
+.IR oldpath "  " newpath
+が同じマウントされたファイル・システムに存在しない。
+(Linux は 1 つのファイル・システムを複数のマウント位置に
+マウントすることを許可している。
+しかし
 .BR link ()
-¤Ï¡¢¤¿¤È¤¨Æ±¤¸¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ç¤¢¤Ã¤Æ¤â¡¢
-ÊÌ¡¹¤Î¥Þ¥¦¥ó¥È°ÌÃÖ¤ò¸Ù¤¤¤Ç¤ÏÆ°ºî¤·¤Ê¤¤¡£)
-.SH ½àµò
-SVr4, 4.3BSD, POSIX.1-2001 (⤷¡ÖÃí°Õ¡×¤ò»²¾È)¡£
-.\" SVr4 ¤Ï¾¤Ë ENOLINK, EMULTIHOP ¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤âµ­½Ò¤·¤Æ¤¤¤ë¡£
-.\" POSIX.1 ¤Ë¤Ï ELOOP ¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤Ï¤Ê¤¤¡£
-.\" X/OPEN ¤Ë¤Ï EFAULT, ENOMEM, EIO ¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤Ï¤Ê¤¤¡£
-.SH Ãí°Õ
+は、たとえ同じファイル・システムであっても、
+別々のマウント位置を跨いでは動作しない。)
+.SH 準拠
+SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。
+.\" SVr4 は他に ENOLINK, EMULTIHOP エラー状態についても記述している。
+.\" POSIX.1 には ELOOP についての記述はない。
+.\" X/OPEN には EFAULT, ENOMEM, EIO についての記述はない。
+.SH 注意
 .BR link ()
-¤Ç¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òĶ¤¨¤Æ¥Ï¡¼¥É¡¦¥ê¥ó¥¯¤òºîÀ®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
-¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï
+でファイル・システムを超えてハード・リンクを作成することはできない。
+このような場合は
 .BR symlink (2)
-¤ò»ÈÍѤ¹¤ë¤³¤È¡£
+を使用すること。
 
-POSIX.1-2001 ¤Ç¤Ï¡¢
+POSIX.1-2001 では、
 .I oldpath
-¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¡¢
+がシンボリック・リンクである場合、
 .BR link ()
-¤Ï
+は
 .I oldpath
-¤Î»²¾È¤ò²ò·è¤¹¤Ù¤­¤Ç¤¢¤ë¤Èµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
-¤·¤«¤·¡¢¥«¡¼¥Í¥ë 2.0 °Ê¹ß¤Î
-.\" Àµ³Î¤Ë¤Ï¥«¡¼¥Í¥ë 1.3.56 °Ê¹ß
-Linux ¤Ç¤Ï¤½¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¡£
+の参照を解決すべきであると記述されている。
+しかし、カーネル 2.0 以降の
+.\" 正確にはカーネル 1.3.56 以降
+Linux ではそのようになっていない。
 .I oldpath
-¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¡¢
+がシンボリック・リンクである場合、
 .I newpath
-¤ÏƱ¤¸¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¥Õ¥¡¥¤¥ë¤Ø¤Î (¥Ï¡¼¥É) ¥ê¥ó¥¯¤È¤·¤ÆºîÀ®¤µ¤ì¤ë
-(¤Ä¤Þ¤ê
+は同じシンボリック・リンクファイルへの (ハード) リンクとして作成される
+(つまり
 .I newpath
-¤Ï
+は
 .I oldpath
-¤¬»²¾È¤·¤Æ¤¤¤¿Æ±¤¸¥Õ¥¡¥¤¥ë¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ë¤Ê¤ë)¡£
-¾¤Î¤¤¤¯¤Ä¤«¤Î¼ÂÁõ¤Ç¤â Linux ¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£
-.\" Î㤨¤Ð¡¢¥Ç¥Õ¥©¥ë¥È¤Î Solaris ¤Î¥³¥ó¥Ñ¥¤¥ë´Ä¶­¤Ç¤Ï
-.\" Linux ¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£¤½¤·¤Æ Austin ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î
-.\" 2005 Ç¯ 3 ·î¤Î¥¹¥ì¥Ã¥É¤ËÅê¹Æ¤·¤¿¿Í¤¿¤Á¤Ï¡¢
-.\" ¤½¤Î¾¤Î¤¤¤¯¤Ä¤«¤Î (System V) ¼ÂÁõ¤Ç¤âƱ¤¸¤Ç¤¢¤Ã¤¿/¤¢¤ë¡¢
-.\" ¤ÈÊó¹ð¤·¤Æ¤¤¤ë -- MTK, Apr 05
-POSIX.1-2008 ¤Ç¤Ï
+が参照していた同じファイルへのシンボリックリンクになる)。
+他のいくつかの実装でも Linux と同じように動作する。
+.\" 例えば、デフォルトの Solaris のコンパイル環境では
+.\" Linux と同じように動作する。そして Austin メーリングリストの
+.\" 2005 年 3 月のスレッドに投稿した人たちは、
+.\" その他のいくつかの (System V) 実装でも同じであった/ある、
+.\" と報告している -- MTK, Apr 05
+POSIX.1-2008 では
 .BR link ()
-¤Î»ÅÍͤ¬Êѹ¹¤µ¤ì¡¢
+の仕様が変更され、
 .I oldpath
-¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î¾ì¹ç¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î»²¾È¤ò
-²ò·è¤¹¤ë¤«¤É¤¦¤«¤Ï¼ÂÁõ°Í¸¤È¤Ê¤Ã¤¿¡£
-¥ê¥ó¥¯ºîÀ®»þ¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Î°·¤¤¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀ©¸æ¤Ë
-´Ø¤·¤Æ¤Ï
+がシンボリック・リンクの場合にシンボリック・リンクの参照を
+解決するかどうかは実装依存となった。
+リンク作成時のシンボリック・リンクの扱いについての詳細な制御に
+関しては
 .BR linkat (2)
-¤ò»²¾È¤Î¤³¤È¡£
-.SH ¥Ð¥°
-NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ç¤Ï¡¢NFS ¥µ¡¼¥Ð¡¼¤¬¥ê¥ó¥¯¤òºîÀ®¤·¤¿¸å¤Ë¡¢
-¤½¤ì¤òÅÁ¤¨¤ëÁ°¤Ë»à¤ó¤À¾ì¹ç¤Ë¤ÏÊÖ¤êÃͤ¬ÉÔÀµ¤Ê¾ì¹ç¤¬¤¢¤ë¡£
-¥ê¥ó¥¯¤¬ºîÀ®¤Ç¤­¤¿¤«¤É¤¦¤«¸«¤Ä¤±¤ë¤¿¤á¤Ë¤Ï
+を参照のこと。
+.SH ã\83\90ã\82°
+NFS ファイル・システムでは、NFS サーバーがリンクを作成した後に、
+それを伝える前に死んだ場合には返り値が不正な場合がある。
+リンクが作成できたかどうか見つけるためには
 .BR stat (2)
-¤ò»ÈÍѤ¹¤ë¤³¤È¡£
-.SH ´ØÏ¢¹àÌÜ
+を使用すること。
+.SH 関連項目
 .BR ln (1),
 .BR linkat (2),
 .BR open (2),