unlink

Autres langues

Langue: ja

Autres versions - même langue

Version: 2004-06-23 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

unlink - ̾Á°¤òºï½ü¤·¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¤½¤ì¤¬»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤âºï½ü¤¹¤ë

½ñ¼°

#include <unistd.h>

int unlink(const char *pathname);

ÀâÌÀ

unlink() ¤Ï¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à (filesystem) ¾å¤Î̾Á°¤òºï½ü¤¹¤ë¡£ ¤â¤·¤½¤Î̾Á°¤¬¥Õ¥¡¥¤¥ë¤Ø¤ÎºÇ¸å¤Î¥ê¥ó¥¯ (link) ¤Ç¤¢¤ê¡¢ ¤É¤Î¥×¥í¥»¥¹¤â¤½¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó (open) ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢ ¥Õ¥¡¥¤¥ë¤Ïºï½ü¤µ¤ì¤ë¡£ ¥Õ¥¡¥¤¥ë¤¬»ÈÍѤ·¤Æ¤¤¤¿¥Ç¥£¥¹¥¯¾å¤ÎÎΰè¤ÏºÆÍøÍѤ¬²Äǽ¤Ë¤Ê¤ë¡£

¤â¤·ºï½ü¤¹¤ë̾Á°¤¬¥Õ¥¡¥¤¥ë¤Ø¤ÎºÇ¸å¤Î¥ê¥ó¥¯¤À¤¬¡¢¤É¤ì¤«¤Î¥×¥í¥»¥¹¤¬ ¤½¤Î¥Õ¥¡¥¤¥ë¤ò¤Þ¤À¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¤½¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ëºÇ¸å¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼ (file descriptor) ¤¬¥¯¥í¡¼¥º (close) ¤µ¤ì¤ë¤Þ¤Ç¥Õ¥¡¥¤¥ë¤Ï¸ºß¤·Â³¤±¤ë¡£

¤â¤·¤½¤Î̾Á°¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯ (symbolic link) ¤ò»²¾È¤·¤Æ¤¤¤ì¤Ð¡¢ ¥ê¥ó¥¯¤Ïºï½ü¤µ¤ì¤ë¡£

¤â¤·Ì¾Á°¤¬¥½¥±¥Ã¥È (socket) ¤ä fifo ¤ä¥Ç¥Ð¥¤¥¹ (device) ¤ò»²¾È¤·¤Æ¤¤¤ì¤Ð ̾Á°¤Ïºï½ü¤µ¤ì¤ë¤¬¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ¤¤¤¿¥×¥í¥»¥¹¤Ï ¤½¤ì¤ò»È¤¤Â³¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Ê¤é¤Ð -1 ¤òÊÖ¤·¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EACCES
pathname ¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¤­¹þ¤ßµö²Ä¤¬¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥æ¡¼¥¶¡¼ ID ¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ pathname ¤ÎÃæ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤ (path_resolution(7) ¤â»²¾È¤¹¤ë¤³¤È)¡£
EBUSY (Linux °Ê³°)
¥Õ¥¡¥¤¥ë pathname ¤¬¥·¥¹¥Æ¥à¤Þ¤¿¤Ï¾¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤Æ ¥ê¥ó¥¯¤¬ºï½ü¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤³¤Î¼ÂÁõ¤Ç¤Ï¥¨¥é¡¼¤È¤·¤¿¡£
EFAULT
pathname ¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
EIO
I/O ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
EISDIR
pathname ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò»²¾È¤·¤Æ¤¤¤ë¡£ (¤³¤ì¤Ï POSIX ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤Ãͤǡ¢Linux 2.1.132 °Ê¹ß¤ÇÊÖ¤µ¤ì¤ë¡£)
ELOOP
pathname ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
ENAMETOOLONG
pathname ¤¬Ä¹²á¤®¤ë¡£
ENOENT
pathname ¤ËÂбþ¤¹¤ë¤â¤Î¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢²õ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¤«¡¢ pathname ¤¬¶õ¤Ç¤¢¤ë¡£
ENOMEM
½½Ê¬¤Ê¥«¡¼¥Í¥ë (kernel) ¤Î¥á¥â¥ê¡¼¤¬»ÈÍѤǤ­¤Ê¤¤¡£
ENOTDIR
pathname ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
EPERM
¥·¥¹¥Æ¥à¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ë unlink Áàºî¤òµö²Ä¤·¤Æ¤¤¤Ê¤¤¡£ ¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ¹¤ë unlink Áàºî¤Î¤¿¤á¤ËɬÍפÊÆø¢¤ò ¥«¥ì¥ó¥È¥×¥í¥»¥¹¤¬»ý¤Ã¤Æ¤¤¤Ê¤¤¡£ (¤³¤ì¤Ï POSIX ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤ÎÊÖ¤·Êý¤Ç¤¢¤ë¡£ ¾å½Ò¤ÎÄ̤ꡢ¤³¤Î¾ì¹ç¤Ë¤Ï Linux ¤Ï EISDIR ¤òÊÖ¤¹¡£)
EPERM (Linux ¤Î¤ß)
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë unlink Áàºî¤òµö¤·¤Æ¤¤¤Ê¤¤¡£
EPERM ¤Þ¤¿¤Ï EACCES
pathname ¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È (sticky-bit) (S_ISVTX) ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Æ¡¢¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ºï½ü¤·¤è¤¦¤È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î UID ¤Ç¤â¤½¤ì¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¤â¤Î¤Ç¤â¤Ê¤¯¡¢ ¤«¤Ä¥×¥í¥»¥¹¤ËÆø¢¤¬¤Ê¤¤ (Linux ¤Ç¤Ï CAP_FOWNER ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤¬¤Ê¤¤)¡£
EROFS
pathname ¤¬Æɤ߹þ¤ßÀìÍѤΥե¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë¡£

½àµò

SVr4, 4.3BSD, POSIX.1-2001.

¥Ð¥°

NFS ¥×¥í¥È¥³¥ë (protocol) ¤ÎÀøºßŪ¤ÊÉÔÎɤˤè¤ê¡¢ ¤Þ¤À»ÈÍÑÃæ¤Î¥Õ¥¡¥¤¥ë¤ÎÆÍÁ³¤Î¾ÃÌǤò°ú¤­µ¯¤³¤¹¤³¤È¤¬¤¢¤ë¡£

´ØÏ¢¹àÌÜ

rm(1), chmod(2), link(2), mknod(2), open(2), rename(2), rmdir(2), unlinkat(2), mkfifo(3), remove(3), path_resolution(7)