rename

Autres langues

Langue: ja

Version: 1998-06-04 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

rename - ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ä°ÌÃÖ¤òÊѹ¹¤¹¤ë

½ñ¼°

#include <stdio.h>

int rename(const char *oldpath, const char *newpath);

ÀâÌÀ

rename() ¤Ï¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÊѹ¹¤·¡¢É¬Íפʤé¤Ð¥Ç¥£¥ì¥¯¥È¥ê´Ö¤Î°ÜÆ°¤ò¹Ô¤Ê¤¦¡£ ¤½¤Î¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¾¤Î (link(2) ¤ò»ÈÍѤ·¤Æºî¤é¤ì¤¿) ¥Ï¡¼¥É¡¦¥ê¥ó¥¯ (hard link) ¤Ë¤Ï±Æ¶Á¤Ï¤Ê¤¤¡£ ¥ª¡¼¥×¥óºÑ¤Î oldpath ¤ËÂФ¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ë¤â±Æ¶Á¤Ï¤Ê¤¤¡£

newpath ¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¤½¤ì¤ÏÉÔ²ÄʬÁàºî¤Ç (atomically) ÃÖ¤­´¹¤¨¤é¤ì¤ë (¤¿¤À¤·¡¢¤¤¤¯¤Ä¤«¤Î¾ò·ï¤¬¤¢¤ë; °Ê²¼¤Î¡Ö¥¨¥é¡¼¡×¤Î¥»¥¯¥·¥ç¥ó¤ò»²¾È)¡£ ¤½¤Î¤¿¤á¡¢ newpath ¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¾¤Î¥×¥í¥»¥¹¤¬¥Õ¥¡¥¤¥ë¤ò¸«¼º¤¦¤³¤È¤Ï¤Ê¤¤ (ÌõÃð: ¾ï¤Ë¥¢¥¯¥»¥¹²Äǽ¤Ç¤¢¤ë)¡£

oldpath ¤È newpath ¤¬¤É¤Á¤é¤â´û¸¤Î¥Ï¡¼¥É¡¦¥ê¥ó¥¯¤Ç¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢ rename() ¤Ï²¿¤â¤»¤º¤Ë¡¢¥¹¥Æ¡¼¥¿¥¹¤È¤·¤ÆÀ®¸ù¤òÊÖ¤¹¡£

newpath ¤¬Â¸ºß¤·¡¢²¿¤é¤«¤ÎÍýͳ¤ÇÁàºî¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ rename() ¤Ï newpath ¤Î¼ÂÂΤò¸µ¤Î¤Þ¤Þ»Ä¤¹¤³¤È¤òÊݾڤ¹¤ë¡£

oldpath ¤Ë¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤Î¾ì¹ç¡¢ newpath ¤Ï¸ºß¤·¤Ê¤¤¤«¡¢¶õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

°ìÊý¤Ç¡¢¾å½ñ¤­¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ï¡¢rename ¤¬¹Ô¤Ê¤ï¤ì¤ë¥Õ¥¡¥¤¥ë¤ò oldpath ¤È newpath ¤ÎξÊý¤Ç»²¾È¤Ç¤­¤ë½Ö´Ö¤¬¤ª¤½¤é¤¯Â¸ºß¤¹¤ë¡£

oldpath ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯ (symbolic link) ¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥ê¥ó¥¯¤Î̾Á°¤¬Êѹ¹¤µ¤ì¤ë¡£ ¤Þ¤¿¡¢ newpath ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥ê¥ó¥¯¤¬¾å½ñ¤­¤µ¤ì¤ë¡£

ÊÖ¤êÃÍ

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

¥¨¥é¡¼

EACCES
oldpath ¤Þ¤¿¤Ï newpath ¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¤­¹þ¤ßµö²Ä¤¬¤Ê¤¤¤«¡¢ oldpath ¤Þ¤¿¤Ï newpath ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä¤¬¤Ê¤¤¤«¡¢ oldpath ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç (.. ¥¨¥ó¥È¥ê¤ò¹¹¿·¤¹¤ë¤Î¤ËɬÍפÊ) ½ñ¤­¹þ¤ßµö²Ä¤¬¤Ê¤¤ (path_resolution(7) ¤â»²¾È)¡£
EBUSY
oldpath ¤Þ¤¿¤Ï newpath ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë (¿ʬ¡¢¥«¥ì¥ó¥È¡¦¥ï¡¼¥­¥ó¥°¡¦¥Ç¥£¥ì¥¯¥È¥ê¤«¡¢¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¡¢ Æɤ߹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë) ¤«¡¢¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë (Î㤨¤Ð¥Þ¥¦¥ó¥È¡¦¥Ý¥¤¥ó¥È¤Ç¤¢¤ë) ¤«¤Î¾õÂ֤ǥ·¥¹¥Æ¥à¤¬¤³¤ì¤ò¥¨¥é¡¼¤Ç¤¢¤ë ¤ÈȽÃǤ·¤¿¤¿¤á¤Ë rename ¤¬¼ºÇÔ¤·¤¿¡£ (¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë EBUSY ¤òÊÖ¤¹¤³¤È¤Ïµ¬³Ê¤Ç¤ÏÍ׵ᤵ¤ì¤Æ¤¤¤Ê¤¤ÅÀ¤Ë Ãí°Õ¤¹¤ë¤³¤È¡£¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¡¢rename ¤ò¤È¤Ë¤«¤¯¼Â¹Ô¤·¤Æ¤ß¤ë¤Î¤Ï ²¿¤ÎÌäÂê¤â¤Ê¤¤¡£¤¿¤À¤·¡¢¥·¥¹¥Æ¥à¤¬¤½¤Î¤è¤¦¤Ê¾õ¶·¤ò¾¤Ë°·¤¨¤Ê¤¤ ¾ì¹ç¤Ë¤Ï EBUSY ¤òÊÖ¤¹¤³¤È¤¬µö¤µ¤ì¤Æ¤¤¤ë¡£)
EFAULT
oldpath ¤Þ¤¿¤Ï newpath ¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
EINVAL
newpath ¤¬ oldpath ¤Î¥Ñ¥¹Éôʬ¤ò´Þ¤ó¤Ç¤¤¤ë¡£¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Ê¬¼«¿È¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë Êѹ¹¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤¬¤Û¤È¤ó¤É¤Ç¤¢¤ë¡£
EISDIR
newpath ¤Ï¸ºß¤·¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤¬¡¢ oldpath ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
ELOOP
oldpath ¤Þ¤¿¤Ï newpath ¤ò²ò·è¤¹¤ëºÝ¤ËÁø¶ø¤·¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬Â¿²á¤®¤ë¡£
EMLINK
oldpath ¤Ï´û¤ËºÇÂç¿ô¤Þ¤Ç¤Î¥ê¥ó¥¯¤ò»ý¤Ã¤Æ¤¤¤ë¤«¡¢¤½¤ì¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç newpath ¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬ºÇÂç¿ô¤Þ¤Ç¤Î¥ê¥ó¥¯¤ò»ý¤Ã¤Æ¤¤¤ë¡£
ENAMETOOLONG
oldpath ¤Þ¤¿¤Ï newpath ¤¬Ä¹²á¤®¤ë¡£
ENOENT
oldpath ¤Þ¤¿¤Ï newpath ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢ ²õ¤ì¤¿ (dangling) ¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¡£
ENOMEM
¥«¡¼¥Í¥ë¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬Â¸ºß¤·¤Ê¤¤¡£
ENOSPC
¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¡¦¥¨¥ó¥È¥ê¤ò ºîÀ®¤¹¤ë¤¿¤á¤Î¶õ¤­¤¬¤Ê¤¤¡£
ENOTDIR
oldpath ¤« newpath ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤¬ ¼ÂºÝ¤Ë¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£ ¤Þ¤¿¤Ï oldpath ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢ newpath ¤¬Â¸ºß¤·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
ENOTEMPTY ¤Þ¤¿¤Ï EEXIST
newpath ¤¬¶õ¤Ç¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á "." ¤È ".." °Ê³°¤ò´Þ¤ó¤Ç¤¤¤ë¡£
EPERM ¤Þ¤¿¤Ï EACCES
oldpath ¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¹¥Æ¥£¥Ã¥­¡¼¡¦¥Ó¥Ã¥È (sticky bit) (S_ISVTX) ¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢ ¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ ºï½ü¤·¤è¤¦¤È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶¡¼ ID ¤È ¤½¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Î¥æ¡¼¥¶¡¼ ID ¤Î¤¤¤º¤ì¤È¤â°ìÃפ»¤º¡¢¤«¤Ä ¥×¥í¥»¥¹¤ËÆø¢¤¬¤Ê¤¤ (Linux ¤Ç¤Ï CAP_FOWNER ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability) ¤¬¤Ê¤¤)¡£ ¤Þ¤¿¤Ï¡¢ newpath ¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Ç¡¢¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¹¥Æ¥£¥Ã¥­¡¼¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢ ¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ ÃÖ¤­´¹¤¨¤è¤¦¤È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶¡¼ ID ¤È ¤½¤Î¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤Î¥æ¡¼¥¶¡¼ ID ¤Î¤¤¤º¤ì¤È¤â°ìÃפ»¤º¡¢¤«¤Ä ¥×¥í¥»¥¹¤ËÆø¢¤¬¤Ê¤¤ (Linux ¤Ç¤Ï CAP_FOWNER ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬¤Ê¤¤)¡£ ¤Þ¤¿¤Ï oldpath ¤È newpath ¤¬Â¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤¬¡¢Í׵ᤵ¤ì¤¿¼ïÎà¤Î̾Á°¤ÎÊѹ¹¤ò ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
EROFS
¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤ßÀìÍÑ (read-only) ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¤¢¤ë¡£
EXDEV
oldpath ¤È newpath ¤¬Æ±¤¸¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¡£ (Linux ¤Ï 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤òÊ£¿ô¤Î¥Þ¥¦¥ó¥È°ÌÃÖ¤Ë ¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤òµö²Ä¤·¤Æ¤¤¤ë¡£ ¤·¤«¤· rename(2) ¤Ï¡¢¤¿¤È¤¨Æ±¤¸¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ç¤¢¤Ã¤Æ¤â¡¢ ÊÌ¡¹¤Î¥Þ¥¦¥ó¥È°ÌÃÖ¤ò¸Ù¤¤¤Ç¤ÏÆ°ºî¤·¤Ê¤¤¡£)

½àµò

4.3BSD, C89, C99, POSIX.1-2001.

¥Ð¥°

NFS ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Áàºî¤¬¼ºÇÔ¤·¤¿¤«¤é¤È¤¤¤Ã¤Æ¡¢ ¥Õ¥¡¥¤¥ë¤Î̾Á°¤¬Êѹ¹¤Ç¤­¤Ê¤«¤Ã¤¿¤È·è¤á¤Æ¤«¤«¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ ¥µ¡¼¥Ð¤¬ rename Áàºî¤ò½ª¤¨¤Æ¤«¤é¥¯¥é¥Ã¥·¥å¤·¤¿¾ì¹ç¡¢ ¥µ¡¼¥Ð¤¬ºÆ¤ÓΩ¤Á¾å¤¬¤Ã¤¿¤È¤­¤Ë¡¢ ºÆÁ÷¿®¤µ¤ì¤¿ RPC ¤¬½èÍý¤µ¤ì¤ë¤¬¡¢¤³¤ì¤Ï¼ºÇԤȤʤ롣 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤³¤ÎÌäÂê¤òÀµ¤·¤¯¼è¤ê°·¤¦¤³¤È¤¬´üÂÔ¤µ¤ì¤ë¡£ ƱÍͤÎÌäÂê¤Ë´Ø¤·¤Æ link(2) ¤ò»²¾È¤»¤è¡£

´ØÏ¢¹àÌÜ

mv(1), chmod(2), link(2), renameat(2), symlink(2), unlink(2), path_resolution(7)