OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / unlink.2
index 5dfeec3..c8d430c 100644 (file)
 .\" Updated & Modified Sun Jan  9 23:28:11 JST 2005
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\"
-.\"WORD:       file system             ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
-.\"WORD:       link                    ¥ê¥ó¥¯
-.\"WORD:       open                    ¥ª¡¼¥×¥ó
-.\"WORD:       close                   ¥¯¥í¡¼¥º
-.\"WORD:       symbolic link           ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
-.\"WORD:       descriptor              ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼
-.\"WORD:       socket                  ¥½¥±¥Ã¥È
-.\"WORD:       device                  ¥Ç¥Ð¥¤¥¹
-.\"WORD:       effective UID           ¼Â¸ú¥æ¡¼¥¶¡¼ID
-.\"WORD:       sticky-bit              ¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È
-.\"WORD:       dangling symbolic link  ²õ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯
-.\"WORD:       memory                  ¥á¥â¥ê
-.\"WORD:       protocol                ¥×¥í¥È¥³¥ë
+.\"WORD:       file system             ファイルシステム
+.\"WORD:       link                    ã\83ªã\83³ã\82¯
+.\"WORD:       open                    オープン
+.\"WORD:       close                   ã\82¯ã\83­ã\83¼ã\82º
+.\"WORD:       symbolic link           ã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83»ã\83ªã\83³ã\82¯
+.\"WORD:       descriptor              ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼
+.\"WORD:       socket                  ソケット
+.\"WORD:       device                  ã\83\87ã\83\90ã\82¤ã\82¹
+.\"WORD:       effective UID           å®\9få\8a¹ã\83¦ã\83¼ã\82¶ã\83¼ID
+.\"WORD:       sticky-bit              スティッキー・ビット
+.\"WORD:       dangling symbolic link  å£\8aã\82\8cã\81\9fã\82·ã\83³ã\83\9cã\83ªã\83\83ã\82¯ã\83»ã\83ªã\83³ã\82¯
+.\"WORD:       memory                  メモリ
+.\"WORD:       protocol                プロトコル
 .\"
 .TH UNLINK 2 2004-06-23 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-unlink \- Ì¾Á°¤òºï½ü¤·¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¤½¤ì¤¬»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤âºï½ü¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+unlink \- 名前を削除し、場合によってはそれが参照しているファイルも削除する
+.SH 書式
 .B #include <unistd.h>
 .sp
 .BI "int unlink(const char *" pathname );
-.SH ÀâÌÀ
+.SH 説明
 .BR unlink ()
-¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î̾Á°¤òºï½ü¤¹¤ë¡£
-¤â¤·¤½¤Î̾Á°¤¬¥Õ¥¡¥¤¥ë¤Ø¤ÎºÇ¸å¤Î¥ê¥ó¥¯ (link) ¤Ç¤¢¤ê¡¢
-¤É¤Î¥×¥í¥»¥¹¤â¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó (open) ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-¥Õ¥¡¥¤¥ë¤Ïºï½ü¤µ¤ì¤ë¡£
-¥Õ¥¡¥¤¥ë¤¬»ÈÍѤ·¤Æ¤¤¤¿¥Ç¥£¥¹¥¯¾å¤ÎÎΰè¤ÏºÆÍøÍѤ¬²Äǽ¤Ë¤Ê¤ë¡£
+はファイルシステム上の名前を削除する。
+もしその名前がファイルへの最後のリンク (link) であり、
+どのプロセスもそのファイルをオープン (open) していなければ、
+ファイルは削除される。
+ファイルが使用していたディスク上の領域は再利用が可能になる。
 
-¤â¤·ºï½ü¤¹¤ë̾Á°¤¬¥Õ¥¡¥¤¥ë¤Ø¤ÎºÇ¸å¤Î¥ê¥ó¥¯¤À¤¬¡¢¤É¤ì¤«¤Î¥×¥í¥»¥¹¤¬
-¤½¤Î¥Õ¥¡¥¤¥ë¤ò¤Þ¤À¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ëºÇ¸å¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼ (file descriptor)
-¤¬¥¯¥í¡¼¥º (close) ¤µ¤ì¤ë¤Þ¤Ç¥Õ¥¡¥¤¥ë¤Ï¸ºß¤·Â³¤±¤ë¡£
+もし削除する名前がファイルへの最後のリンクだが、どれかのプロセスが
+そのファイルをまだオープンしている場合は、
+ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\82\8bæ\9c\80å¾\8cã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ (file descriptor)
+がクローズ (close) されるまでファイルは存在し続ける。
 
-¤â¤·¤½¤Î̾Á°¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯ (symbolic link) ¤ò»²¾È¤·¤Æ¤¤¤ì¤Ð¡¢
-¥ê¥ó¥¯¤Ïºï½ü¤µ¤ì¤ë¡£
+もしその名前がシンボリック・リンク (symbolic link) を参照していれば、
+リンクは削除される。
 
-¤â¤·Ì¾Á°¤¬¥½¥±¥Ã¥È (socket) ¤ä fifo ¤ä¥Ç¥Ð¥¤¥¹ (device) ¤ò»²¾È¤·¤Æ¤¤¤ì¤Ð
-̾Á°¤Ïºï½ü¤µ¤ì¤ë¤¬¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ¤¤¤¿¥×¥í¥»¥¹¤Ï
-¤½¤ì¤ò»È¤¤Â³¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Ê¤é¤Ð \-1 ¤òÊÖ¤·¡¢
+もし名前がソケット (socket) や fifo やデバイス (device) を参照していれば
+名前は削除されるがそのオブジェクトをオープンしていたプロセスは
+それを使い続けることができる。
+.SH 返り値
+成功した場合は 0 を返す。エラーならば \-1 を返し、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+が適切に設定される。
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EACCES
 .I pathname
-¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¤­¹þ¤ßµö²Ä¤¬¥×¥í¥»¥¹¤Î¼Â¸ú (effective)
-¥æ¡¼¥¶¡¼ ID ¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
+を含んでいるディレクトリの書き込み許可がプロセスの実効 (effective)
+ユーザー ID に与えられていないか、
 .I pathname
-¤ÎÃæ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤
+の中のディレクトリのどれかに検索許可が与えられていない
 .RB ( path_resolution (7)
-¤â»²¾È¤¹¤ë¤³¤È)¡£
+も参照すること)。
 .TP
-.BR EBUSY " (Linux °Ê³°)"
-¥Õ¥¡¥¤¥ë
+.BR EBUSY " (Linux 以外)"
+ファイル
 .I pathname
-¤¬¥·¥¹¥Æ¥à¤Þ¤¿¤Ï¾¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤Æ
-¥ê¥ó¥¯¤¬ºï½ü¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤³¤Î¼ÂÁõ¤Ç¤Ï¥¨¥é¡¼¤È¤·¤¿¡£
+がシステムまたは他のプロセスによって使用されていて
+リンクが削除できなかったので、この実装ではエラーとした。
 .TP
 .B EFAULT
 .I pathname
-¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
+がアクセス可能なアドレス空間の外を指している。
 .TP
 .B EIO
-I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
+I/O エラーが発生した。
 .TP
 .B EISDIR
 .I pathname
-¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È¤·¤Æ¤¤¤ë¡£
-(¤³¤ì¤Ï POSIX ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤Ãͤǡ¢Linux 2.1.132 °Ê¹ß¤ÇÊÖ¤µ¤ì¤ë¡£)
+がディレクトリを参照している。
+(これは POSIX で規定されていない値で、Linux 2.1.132 以降で返される。)
 .TP
 .B ELOOP
 .I pathname
-¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
+を解決する際に遭遇したシンボリック・リンクが多過ぎる。
 .TP
 .B ENAMETOOLONG
-.IR pathname " ¤¬Ä¹²á¤®¤ë¡£"
+.IR pathname " が長過ぎる。"
 .TP
 .B ENOENT
 .I pathname
-¤ËÂбþ¤¹¤ë¤â¤Î¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢²õ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¤«¡¢
+に対応するものが存在しないか、壊れたシンボリック・リンクであるか、
 .I pathname
-¤¬¶õ¤Ç¤¢¤ë¡£
+が空である。
 .TP
 .B ENOMEM
-½½Ê¬¤Ê¥«¡¼¥Í¥ë (kernel) ¤Î¥á¥â¥ê¡¼¤¬»ÈÍѤǤ­¤Ê¤¤¡£
+十分なカーネル (kernel) のメモリーが使用できない。
 .TP
 .B ENOTDIR
 .I pathname
-¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
+のディレクトリ部分が、実際には、ディレクトリでない。
 .TP
 .B EPERM
-¥·¥¹¥Æ¥à¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ë unlink Áàºî¤òµö²Ä¤·¤Æ¤¤¤Ê¤¤¡£
-¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ë unlink Áàºî¤Î¤¿¤á¤ËɬÍפÊÆø¢¤ò
-¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤¬»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-(¤³¤ì¤Ï POSIX ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤ÎÊÖ¤·Êý¤Ç¤¢¤ë¡£
-¾å½Ò¤ÎÄ̤ꡢ¤³¤Î¾ì¹ç¤Ë¤Ï Linux ¤Ï
+システムがディレクトリに対する unlink 操作を許可していない。
+またはディレクトリに対する unlink 操作のために必要な特権を
+呼び出し元のプロセスが持っていない。
+(これは POSIX で規定されているエラーの返し方である。
+上述の通り、この場合には Linux は
 .B EISDIR
-¤òÊÖ¤¹¡£)
+を返す。)
 .TP
-.BR EPERM " (Linux ¤Î¤ß)"
-¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë unlink Áàºî¤òµö¤·¤Æ¤¤¤Ê¤¤¡£
+.BR EPERM " (Linux のみ)"
+ファイルシステムがファイルに対する unlink 操作を許していない。
 .TP
-.BR EPERM " ¤Þ¤¿¤Ï " EACCES
+.BR EPERM " または " EACCES
 .I pathname
-¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È (sticky-bit)
+を含んでいるディレクトリにスティッキー・ビット (sticky-bit)
 .RB ( S_ISVTX )
-¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Æ¡¢¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ºï½ü¤·¤è¤¦¤È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î
-UID ¤Ç¤â¤½¤ì¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¤â¤Î¤Ç¤â¤Ê¤¯¡¢
-¤«¤Ä¥×¥í¥»¥¹¤ËÆø¢¤¬¤Ê¤¤ (Linux ¤Ç¤Ï
+が設定されていて、プロセスの実効ユーザー ID が削除しようとするファイルの
+UID でもそれを含んでいるディレクトリのものでもなく、
+かつプロセスに特権がない (Linux では
 .B CAP_FOWNER
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤¬¤Ê¤¤)¡£
+ケーパビリティ (capability) がない)。
 .TP
 .B EROFS
 .I pathname
-¤¬Æɤ߹þ¤ßÀìÍѤΥե¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë¡£
-.SH ½àµò
+が読み込み専用のファイルシステムのファイルを参照している。
+.SH 準拠
 SVr4, 4.3BSD, POSIX.1-2001.
-.\" SVr4 ¤Ë¤Ï¾¤Ë EINTR, EMULTIHOP, ETXTBSY, ENOLINK ¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Î
-.\" µ­½Ò¤¬¤¢¤ë¡£
-.SH ¥Ð¥°
-NFS ¥×¥í¥È¥³¥ë (protocol) ¤ÎÀøºßŪ¤ÊÉÔÎɤˤè¤ê¡¢
-¤Þ¤À»ÈÍÑÃæ¤Î¥Õ¥¡¥¤¥ë¤ÎÆÍÁ³¤Î¾ÃÌǤò°ú¤­µ¯¤³¤¹¤³¤È¤¬¤¢¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+.\" SVr4 には他に EINTR, EMULTIHOP, ETXTBSY, ENOLINK エラーについての
+.\" 記述がある。
+.SH ã\83\90ã\82°
+NFS プロトコル (protocol) の潜在的な不良により、
+まだ使用中のファイルの突然の消滅を引き起こすことがある。
+.SH 関連項目
 .BR rm (1),
 .BR chmod (2),
 .BR link (2),