Provided by: manpages-de-dev_0.10-1_all bug

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)