rename function is used to change a file's name.
renamefunction renames the file name oldname with newname. The file formerly accessible under the name oldname is afterward accessible as newname instead. (If the file had any other names aside from oldname, it continues to have those names.)
The directory containing the name newname must be on the same file system as the file (as indicated by the name oldname).
One special case for
rename is when oldname and
newname are two names for the same file. The consistent way to
handle this case is to delete oldname. However, POSIX requires
that in this case
rename do nothing and report success--which is
inconsistent. We don't know what your operating system will do.
If the oldname is not a directory, then any existing file named
newname is removed during the renaming operation. However, if
newname is the name of a directory,
rename fails in this
If the oldname is a directory, then either newname must not
exist or it must name a directory that is empty. In the latter case,
the existing directory named newname is deleted first. The name
newname must not specify a subdirectory of the directory
oldname which is being renamed.
One useful feature of
rename is that the meaning of the name
newname changes "atomically" from any previously existing file
by that name to its new meaning (the file that was called
oldname). There is no instant at which newname is
nonexistent "in between" the old meaning and the new meaning. If
there is a system crash during the operation, it is possible for both
names to still exist; but newname will always be intact if it
exists at all.
rename fails, it returns
-1. In addition to the usual
file name errors (see section File Name Errors), the following
errno error conditions are defined for this function:
ENOTEMPTYfor this, but some other systems return
Go to the first, previous, next, last section, table of contents.