RENAME

Section: Linux Programmer's Manual (2)
Updated: 4 June 1998
Index
Return to Main Contents
 

À̸§

rename - ÆÄÀÏÀÇ À̸§À̳ª À§Ä¡¸¦ º¯°æ  

»ç¿ë¹ý

#include <stdio.h>

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

¼³¸í

rename Àº ÆÄÀÏÀÇ À̸§À» ¹Ù²Ù°Å³ª, ÇÊ¿äÇÏ´Ù¸é, µð·ºÅ丮°£¿¡ ÆÄÀÏÀ» À̵¿½ÃŲ´Ù. ±âŸ ÆÄÀÏ¿¡ Çϵ帵ũµÈ ÆÄÀϵé(.BR link (2))¸¦ »ç¿ëÇؼ­ ¸¸µé¾îÁø °Í)Àº ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù. ¸¸ÀÏ newpath already exists it will be atomically replaced (subject to a few conditions - see ERRORS below), so that there is no point at which another process attempting to access newpath will find it missing. °¡ ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é, newpath´Â ÀÚµ¿ÀûÀ¸·Î ´ëüµÉ °ÍÀÌ´Ù. µû¶ó¼­ .I newpath¿¡ Á¢±ÙÇÏ°íÀÚ ÇÏ´Â ´Ù¸¥ ÇÁ·Î¼¼½º´Â ±× °ÍÀÌ ¾ø¾îÁ³´Ù´Â °ÍÀ» ¹ß°ßÇÒ Á¡ÀÌ ¾ø´Ù. ¸¸ÀÏ .I newpath°¡ Á¸ÀçÇÏ°í, ¿¬»êÀÌ ¸î°¡Áö ÀÌÀ¯¶§¹®¿¡ ½ÇÆÐÇÑ´Ù¸é, renameÀº .I newpathÀÇ ¿¹¸¦ ÀûÀýÇÑ °÷¿¡ ³²°ÜµÑ °ÍÀ» º¸ÁõÇÑ´Ù. ±×·¯³ª, °ãÃľ²±âÇÒ¶§, oldpath°ú newpath ¸ðµÎ ÆÄÀÏÀÇ À̸§ÀÌ ¹Ù²î¾úÀ½À» °¡¸®Å°´Â âÀÌ ÀÖÀ» °ÍÀÌ´Ù. ¸¸ÀÏ .I oldpath°¡ ½Éº¼¸¯ ¸µÅ©µÇ¾î ÀÖÀ¸¸é, ¸µÅ©ÀÇ À̸§Àº ¹Ù²ï´Ù. ¸¸ÀÏ .I newpath°¡ ½Éº¼¸¯ ¸µÅ©µÇ¾î ÀÖÀ¸¸é, ¸µÅ©´Â °ãÃľ²±â µÈ´Ù.  

¹Ýȯ°ª

¼º°øÇϸé, zero°¡ ¸®Åϵǰí, ¿¡·¯°¡ ¹ß»ýÇϸé, -1°¡ ¸®ÅϵǸç, errno°¡ ÀûÀýÇÏ°Ô ¼³Á¤µÈ´Ù.  

¿¡·¯

EISDIR
newpath´Â ±âÁ¸ µð·ºÅ丮ÀÌÁö¸¸, oldpath´Â µð·ºÅ丮°¡ ¾Æ´Ï´Ù.
EXDEV
oldpath¿Ínewpath ´Â µ¿ÀÏÇÑ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÁö ¾Ê´Â´Ù.
ENOTEMPTY or EEXIST
newpath ´Â ºó µð·ºÅ丮°¡ ¾Æ´Ï´Ù. ¿¹¸¦ µé¾î .¿Í .. ÀÌ»óÀÇ ³»¿ëµéÀ» °®°í ÀÖ´Ù.
EBUSY
oldpath¶Ç´Ânewpath°¡ÀϺÎÇÁ·Î¼¼½º(ÇöÇàÀÛ¾÷µð·ºÅ丮,·çÆ®µð·ºÅ丮,¶Ç´ÂÀб⸦ À§ÇØ ¿­¸° °æ¿ì·Î¼­)¿¡ ÀÇÇØ »ç¿ëµÇ´Â µð·ºÅ丮À̰ųª, ½Ã½ºÅÛ(¸¶¿îÆ® Æ÷ÀÎÆ®)¿¡ ÀÇÇØ »ç¿ëµÇ´Â µð·ºÅ丮À̱⠶§¹®¿¡, renameÀº ½ÇÆÐÇÑ´Ù. ¹Ý¸é¿¡ ½Ã½ºÅÛÀº À̸¦ ¿¡·¯·Î °£ÁÖÇÑ´Ù. (ÀÌ·± °æ¿ì EBUSY¸¦ ¸®ÅÏÇÒ ÇÊ¿ä°¡ ¾ø´Ù´Â °ÍÀ» Âü°íÇ϶ó. renameÀ» ½ÇÇàÇϴµ¥ ÀÖ¾î À߸øµÈ Á¡Àº Çϳªµµ ¾ø´Ù. ÇÏÁö¸¸, ¸¸ÀÏ ½Ã½ºÅÛÀÌ ÀÌ·¯ÇÑ »óȲµéÀ» Á¦¾îÇÏÁö ¸øÇÑ´Ù¸é, EBUSYÀÇ ¸®ÅÏÀÌ Çã¿ëµÈ´Ù.)
EINVAL
»õ·Î¿î °æ·Î¸íÀº °æ·Î ¿À·¡µÈ °æ·Î¸íÀÇ Á¢µÎ»ç¸¦ Æ÷ÇÔÇϰųª, ±× ÀÚüÀÇ µð·ºÅ丮¸¦ ±× ÀÚüÀÇ ÇÏÀ§ µð·ºÅ丮·Î ¸¸µé·Á´Â ½Ãµµ°¡ ÀÌ·ç¾îÁø´Ù.
EMLINK
oldpath ´Â ÀÌ¹Ì ÃÖ´ë ±×¿¡ ´ëÇÑ ÃÖ´ë ¼ýÀÚÀÇ ¸µÅ©µéÀ» °®°í Àְųª, newpath¸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮´Â ÃÖ´ë ¼ýÀÚÀÇ ¸µÅ©µéÀ» °®°í ÀÖ´Ù.
ENOTDIR
oldpath¶Ç´Ânewpath¿¡¼­µð·º·Î¸®·Î¼­»ç¿ëµÇ´Â±¸¼º¿ä¼Ò´Â»ç½Ç»óµð·ºÅ丮°¡¾Æ´Ï´Ù. Or, oldpath ´Â µð·ºÅ丮ÀÌ°í, newpath ´Â Á¸ÀçÇÏÁö¸¸, µð·ºÅ丮°¡ ¾Æ´Ï´Ù.
EFAULT
oldpath¶Ç´Ânewpath´Â¿©·¯ºÐÀǾ׼¼½º°¡°¡´ÉÇÑÁÖ¼Ò°ø°£ÀǹÛÀ»°¡¸®Å²´Ù.
EACCES
oldpath¶Ç´Ânewpath¸¦Æ÷ÇÔÇϴµð·ºÅ丮¿¡´ëÇѾ²±âÁ¢±ÙÀºÇÁ·Î¼¼½ºÀÇ À¯È¿ UID¿¡ ´ëÇØ Çã¿ëµÇÁö ¾Ê°Å³ª, .IR oldpath ¶Ç´Â newpath³»ÀÇ µð·ºÅ丮µéÁß Çϳª°¡ °Ë»ö(½ÇÇà) ±ÇÇÑÀ» Çã¿ëÇÏÁö ¾Ê°Å³ª, .I oldpath°¡ µð·ºÅ丮À̸鼭 ¾²±â ±ÇÇÑ(.B .. Ç׸ñÀ» ¾÷µ¥ÀÌÆ®ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù)À» Çã¿ëÇÏÁö ¾Ê´Â´Ù.
EPERM¶Ç´ÂEACCES
oldpath¸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮´Â ½ºÆ¼Å° ºñÆ®¸¦ ¼³Á¤µÇµµ·Ï ÇÏ°í, ÇÁ·Î¼¼½ºÀÇ À¯È¿ UID´Â ·çÆ®ÀÇ UIDµµ, »èÁ¦µÉ ÆÄÀÏÀÇ UIDµµ, À̸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮ÀÇ UIDµµ ¾Æ´Ï°Å³ª, newpath´Â Á¸ÀçÇÏ´Â ÆÄÀÏÀÌ´Ù. ±×¸®°í À̸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮´Â ½ºÆ¼Å° ºñÆ®°¡ ¼³Á¤µÇ µµ·ÏÇÏ°í, ÇÁ·Î¼¼½ºÀÇ À¯È¿ UID´Â ·çÆ®ÀÇ UIDµµ, ´ëüµÉ ÆÄÀÏÀÇ UIDµµ, À̸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮ÀÇ UIDµµ ¾Æ´Ï´Ù. ¶Ç´Â .IR pathname¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀϽýºÅÛÀº ¿äûµÈ ŸÀÔÀÇ À̸§¹Ù²Ù±â(rename)¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.
ENAMETOOLONG
oldpath¶Ç´Ânewpath°¡³Ê¹«±æ´Ù.
ENOENT
oldpath ¶Ç´Â newpath³»ÀÇ µð·ºÅ丮 ±¸¼º¿ä¼Ò°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª, ½Éº¼¸¯ ¸µÅ©ÀÌ´Ù.
ENOMEM
»ç¿ëÇÒ ¼ö ÀÖ´Â Ä¿³Î ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾Ê´Ù.
EROFS
ÆÄÀÏÀº ¿ÀÁ÷ ÀбⰡ °¡´ÉÇÑ ÆÄÀϽýºÅÛ»ó¿¡ ÀÖ´Ù.
ELOOP
oldpath¶Ç´ÂnewpathÀ»°áÁ¤Çϴµ¥ÀÖ¾î,³Ê¹«³ª¸¹Àº½Éº¼¸¯¸µÅ©µé°ú¸¶ÁÖÄ¡°ÔµÈ´Ù.
ENOSPC
ÆÄÀÏÀ» Æ÷ÇÔÇÏ´Â ÀåÄ¡´Â »õ·Î¿î µð·ºÅ丮 Ç׸ñ¿¡ ´ëÇÑ ¿©À¯°¡ ¾ø´Ù.
 

ȣȯ

POSIX, 4.3BSD, ANSI C  

¹ö±×

NFS ÆÄÀϽýºÅÛ¿¡¼­, ¿©·¯ºÐÀº ¿¬»êÀÌ ½ÇÆÐÇϸé, ÆÄÀÏÀÇ À̸§¹Ù²Ù±â°¡ ¾ÈµÈ´Ù´Â °¡Á¤À» Çؼ­´Â ¾ÈµÈ´Ù. ¸¸ÀÏ ¼­¹ö°¡ ¿¬»êÀ» renameÇÏ°í, ºØ±«µÇ¸é, ¼­¹ö°¡ ´Ù½Ã µÇ»ì¾Æ³­ ÀÌÈÄ¿¡ ó¸®µÉ ´Ù½Ã Àü¼ÛµÈ RPC´Â ½ÇÆÐÇÏ°Ô µÈ´Ù. ¾îÇø®ÄÉÀ̼ÇÀº À̸¦ ´Ù·çµµ·Ï µÇ¾î ÀÖ´Ù. ÀÌ¿Í ºñ½ÁÇÑ ¹®Á¦¿¡ ´ëÇؼ­´Â .BR linux(2)¸¦ ÂüÁ¶Ç϶ó.  

°ü·Ã Ç׸ñ

link(2), unlink(2), symlink(2), mv(1)  

¿ªÀÚ

ASPLINUX<man@asp-linux.co.kr>, 2000³â 7¿ù 26


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
ȣȯ
¹ö±×
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:06:58 GMT, March 25, 2004