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