Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
rename - andert den Namen oder die Lage einer Datei
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 2 rename
eingeben.
"UBERSICHT
#include <unistd.h>
int rename(const char *oldpath, const char *newpath);
BESCHREIBUNG
rename benennt eine Datei um, wobei sie gegebenenfalls in ein anderes
Verzeichnis verlegt werden kann.
Andere Hardlinks der Datei (angelegt mit link) bleiben davon unberuhrt.
Wenn newpath schon existiert wird er uberschrieben (fur Ausnahmen siehe
Abschnitt FEHLER), so dass kein anderer Prozess, der versucht newpath
zu erreichen, diesen nicht findet.
Wenn newpath schon existiert aber das Umbenennen aus irgendeinem Grund
fehlschlagt, oder das System crasht, garantiert rename das newpath
vorhanden erhalten bleibt.
Beim Andern gibt es ein Zeitfenster zu dem sowohl oldpath als auch
newpath auf die Datei zeigen die umbenannt werden soll.
Wenn oldpath auf einen symbolischen Link zeigt wird der Link umbenannt;
wenn newpath auf einen symbolischen Link zeigt wird der Link
uberschrieben.
R"UCKGABEWERT
Bei Erfolg wird Null zuruckgegeben. Bei einem Fehler wird -1
zuruckgegeben und errno entsprechend gesetzt.
FEHLER
EISDIR newpath ist ein vorhandenes Directory aber oldpath ist kein
vorhandenes Directory.
EXDEV oldpath und newpath befinden sich nicht im gleichen Filesystem.
ENOTEMPTY
newpath ist ein Directory das nicht leer ist.
EBUSY newpath ist ein vorhandenes Directory und ist aktuelles
Directory oder Root Directory eines Prozesses.
EINVAL Es wurde versucht ein Directory als Subdiretory von sich selbst
zu erzeugen.
EMLINK oldpath hat schon die maximale Anzahl Links, oder es ist ein
Directory und das Directory welches newpath enthalt hat schon
die maximale Anzahl Links.
ENOTDIR Ein Teil des Directory oldpath oder newpath ist in Wirklichkeit
kein Directory.
EFAULT oldpath oder newpath zeigt auBerhalb des Benutzer-Adressraums.
EACCES Die effektive uid des Prozesses hat kein Schreibrecht in dem
Directory in dem oldpath oder newpath angelegt werden soll,
oder eines der Directory's oldpath oder newpath verbietet das
Suchen (execute permission fehlt), oder did not allow search
(execute) permission, or oldpath ist ein Directory und hat
keine Schreibberechtigung (wird zum Andern des .. benotigt).
EPERM Das Directory welches oldpath enthalt hat das Sticky Bit
gesetzt und die effektive Userid des Prozesses ist ungleich der
Userid der Datei die geloscht werden soll , oder das
Dateisystem welches pathname enthalt erlaubt nicht das
Umbenenen einer Datei.
ENAMETOOLONG
oldpath oder newpath sind zu lang.
ENOENT Eine Komponente des Directory's oldpath oder newpath
existiert nicht oder ist ein unsicherer symbolischer Link.
ENOMEM Es war nicht genugend Kernel-Memory verfugbar.
EROFS Die Datei ist in einem nur lesbaren Dateisystem.
ELOOP oldpath oder newpath beinhalten einen Verweis auf einen
kreisenden symbolischen Link, beziehungsweise auf einen
symbolischen Link der auf sich selbst verweist.
ENOSPC Die Geratedatei die die Datei enthalt hat keinen Platz fur
einen neuen Directoryeintrag.
KONFORM ZU
POSIX, BSD 4.3, ANSI C
BUGS
Momentan (Linux 0.99pl7) erlauben die meisten Dateisysteme auBer Minix
kein Uberschreiben. Sie erhalten beim Versuch EEXIST.
Auf NFS Dateisystemen kann bei einer fehlgeschlagenen Operation nicht
davon ausgegangen werden das die Datei nicht umbenannt wurde. Wenn der
Server die Datei umbenennt und dann crasht, gibt der RPC einen Fehler
zuruck. Die Applikation muss dies berucksichtigen. Siehe link(2) fur
ein ahnliches Problem.
SIEHE AUCH
link(2), unlink(2), symlink(2), mv(1), link(8).
Linux 29. Marz 1996 RENAME(2)