136 lines
3.1 KiB
Groff
136 lines
3.1 KiB
Groff
|
.\" Copyright (c) 1983 Regents of the University of California.
|
||
|
.\" All rights reserved. The Berkeley software License Agreement
|
||
|
.\" specifies the terms and conditions for redistribution.
|
||
|
.\"
|
||
|
.\" @(#)rename.2 6.4 (Berkeley) 5/22/86
|
||
|
.\"
|
||
|
.TH RENAME 2 "May 22, 1986"
|
||
|
.UC 5
|
||
|
.SH NAME
|
||
|
rename \- change the name of a file
|
||
|
.SH SYNOPSIS
|
||
|
.ft B
|
||
|
.nf
|
||
|
#include <stdio.h>
|
||
|
|
||
|
int rename(const char *\fIfrom\fP, const char *\fIto\fP)
|
||
|
.fi
|
||
|
.ft R
|
||
|
.SH DESCRIPTION
|
||
|
.B Rename
|
||
|
causes the link named
|
||
|
.I from
|
||
|
to be renamed as
|
||
|
.IR to .
|
||
|
If
|
||
|
.I to
|
||
|
exists, then it is first removed.
|
||
|
Both
|
||
|
.I from
|
||
|
and
|
||
|
.I to
|
||
|
must be of the same type (that is, both directories or both
|
||
|
non-directories), and must reside on the same file system.
|
||
|
.PP
|
||
|
.B Rename
|
||
|
guarantees that an instance of
|
||
|
.I to
|
||
|
will always exist, even if the system should crash in
|
||
|
the middle of the operation.
|
||
|
.PP
|
||
|
If the final component of
|
||
|
.I from
|
||
|
is a symbolic link,
|
||
|
the symbolic link is renamed,
|
||
|
not the file or directory to which it points.
|
||
|
.SH "RETURN VALUE"
|
||
|
A 0 value is returned if the operation succeeds, otherwise
|
||
|
.B rename
|
||
|
returns \-1 and the global variable
|
||
|
.B errno
|
||
|
indicates the reason for the failure.
|
||
|
.SH "ERRORS
|
||
|
.B Rename
|
||
|
will fail and neither of the argument files will be
|
||
|
affected if any of the following are true:
|
||
|
.TP 15
|
||
|
[ENAMETOOLONG]
|
||
|
A path name exceeds PATH_MAX characters.
|
||
|
.TP 15
|
||
|
[ENOENT]
|
||
|
A component of the \fIfrom\fP path does not exist,
|
||
|
or a path prefix of \fIto\fP does not exist.
|
||
|
.TP 15
|
||
|
[EACCES]
|
||
|
A component of either path prefix denies search permission.
|
||
|
.TP 15
|
||
|
[EACCES]
|
||
|
The requested link requires writing in a directory with a mode
|
||
|
that denies write permission.
|
||
|
.TP 15
|
||
|
[EPERM]
|
||
|
The directory containing \fIfrom\fP is marked sticky,
|
||
|
and neither the containing directory nor \fIfrom\fP
|
||
|
are owned by the effective user ID.
|
||
|
.TP 15
|
||
|
[EPERM]
|
||
|
The \fIto\fP file exists,
|
||
|
the directory containing \fIto\fP is marked sticky,
|
||
|
and neither the containing directory nor \fIto\fP
|
||
|
are owned by the effective user ID.
|
||
|
.TP 15
|
||
|
[ELOOP]
|
||
|
Too many symbolic links were encountered in translating either pathname.
|
||
|
(Minix-vmd)
|
||
|
.TP 15
|
||
|
[ENOTDIR]
|
||
|
A component of either path prefix is not a directory.
|
||
|
.TP 15
|
||
|
[ENOTDIR]
|
||
|
.I From
|
||
|
is a directory, but \fIto\fP is not a directory.
|
||
|
.TP 15
|
||
|
[EISDIR]
|
||
|
.I To
|
||
|
is a directory, but \fIfrom\fP is not a directory.
|
||
|
.TP 15
|
||
|
[EXDEV]
|
||
|
The link named by \fIto\fP and the file named by \fIfrom\fP
|
||
|
are on different logical devices (file systems).
|
||
|
.TP 15
|
||
|
[ENOSPC]
|
||
|
The directory in which the entry for the new name is being placed
|
||
|
cannot be extended because there is no space left on the file
|
||
|
system containing the directory.
|
||
|
.ig
|
||
|
.TP 15
|
||
|
[EDQUOT]
|
||
|
The directory in which the entry for the new name
|
||
|
is being placed cannot be extended because the
|
||
|
user's quota of disk blocks on the file system
|
||
|
containing the directory has been exhausted.
|
||
|
..
|
||
|
.TP 15
|
||
|
[EIO]
|
||
|
An I/O error occurred while making or updating a directory entry.
|
||
|
.TP 15
|
||
|
[EROFS]
|
||
|
The requested link requires writing in a directory on a read-only file
|
||
|
system.
|
||
|
.TP 15
|
||
|
[EFAULT]
|
||
|
.I Path
|
||
|
points outside the process's allocated address space.
|
||
|
.TP 15
|
||
|
[EINVAL]
|
||
|
.I From
|
||
|
is a parent directory of
|
||
|
.IR to ,
|
||
|
or an attempt is made to rename ``.'' or ``..''.
|
||
|
.TP 15
|
||
|
[ENOTEMPTY]
|
||
|
.I To
|
||
|
is a directory and is not empty.
|
||
|
.SH "SEE ALSO"
|
||
|
.BR open (2)
|