Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       rename - den Namen oder die Lage einer Datei ändern

ÜBERSICHT

       #include <stdio.h>

       int rename(const char *oldpath, const char *newpath);

BESCHREIBUNG

       rename()  benennt eine Datei um und verschiebt sie in ein anderes Verzeichnis, wenn nötig.
       Alle anderen Hard Links (erstellt mittels link(2)) sind  nicht  betroffen,  ebenso  offene
       Dateideskriptoren für oldpath.

       Falls  newpath  schon  existiert,  wird  er  in  einem atomaren Schritt überschrieben (für
       Ausnahmen siehe der Abschnitt FEHLER), so dass ein anderer Prozess jederzeit  auf  newpath
       zugreifen kann.

       Falls  oldpath  und  newpath  bestehende  Hard Links zu derselben Datei sind, tut rename()
       nichts und meldet eine erfolgreiche Ausführung.

       Wenn newpath schon existiert, aber  das  Umbenennen  aus  irgendeinem  Grund  fehlschlägt,
       garantiert rename(), dass newpath an Ort und Stelle erhalten bleibt.

       oldpath  kann  ein  Verzeichnis angeben. In diesem Fall darf newpath nicht existieren oder
       muss ein leeres Verzeichnis angeben.

       Allerdings gibt es beim  Überschreiben  wahrscheinlich  ein  Zeitfenster,  zu  dem  sowohl
       oldpath als auch newpath auf die Datei zeigen, die umbenannt werden soll.

       Falls  oldpath  auf  einen symbolischen Link zeigt, wird der Link umbenannt; falls newpath
       auf einen symbolischen Link zeigt, wird der Link überschrieben.

RÜCKGABEWERT

       Bei Erfolg wird Null zurückgegeben. Bei einem  Fehler  wird  -1  zurückgegeben  und  errno
       entsprechend gesetzt.

FEHLER

       EACCES Für  das  Verzeichnis,  das  oldpath  oder  newpath  enthält,  wurden Schreibrechte
              verweigert oder für eines der Verzeichnisse im Pfad-Präfix von oldpath oder newpath
              wurde nicht gestattet, dort zu suchen oder oldpath ist ein Verzeichnis und verwehrt
              die Schreiberlaubnis (benötigt, um den Eintrag .. zu  aktualisieren).  (Siehe  auch
              path_resolution(7).)

       EBUSY  Das  Umbenennen  scheitert,  weil oldpath oder newpath ein Verzeichnis ist, das von
              einem  anderen  Prozess  (vielleicht  als  aktuelles  Arbeitsverzeichnis  oder  als
              Root-Verzeichnis  oder weil es zum Lesen geöffnet ist) oder vom System genutzt wird
              (zum Beispiel als  Einhängepunkt)  und  das  System  dies  als  Fehler  betrachtet.
              (Beachten   Sie,  dass  es  keine  Verpflichtung  gibt,  in  solchen  Fällen  EBUSY
              zurückzugeben — es ist nichts falsch daran, die Umbenennung trotzdem durchzuführen—
              aber es ist erlaubt, EBUSY zurückzugeben, wenn das System  solche Situationen nicht
              anderweitig verarbeiten kann.q)

       EDQUOT Das Quota (Plattenkontingent) des Benutzers an Plattenblöcken auf  dem  Dateisystem
              ist erschöpft.

       EFAULT alterpfad oder neuerpfad zeigt aus dem für Sie zugänglichen Adressraum heraus.

       EINVAL Der  neue  Pfadname  enthielt ein Pfad-Präfix des alten, oder allgemeiner, es wurde
              versucht, ein Verzeichnis als Unterverzeichnis von sich selbst zu erzeugen.

       EISDIR newpath ist ein existierendes Verzeichnis, aber oldpath ist kein Verzeichnis.

       ELOOP  Bei der Auflösung von oldpath  oder  newpath  wurden  zu  viele  symbolische  Links
              gefunden.

       EMLINK oldpath  hat  schon  die maximale Anzahl Links, oder es war ein Verzeichnis und das
              Verzeichnis, welches newpath enthält, hat schon die maximale Anzahl Links.

       ENAMETOOLONG
              oldpath oder newpath war zu lang.

       ENOENT Der von oldpath angegebene Link existiert nicht oder eine Verzeichniskomponente von
              newpath existiert nicht oder oldpath oder newpath ist eine leere Zeichenkette.

       ENOMEM Es war nicht genügend Kernel-Speicher verfügbar.

       ENOSPC Das   Gerät,  das  die  die  Datei  enthält,  hat  keinen  Platz  für  einen  neuen
              Verzeichniseintrag.

       ENOTDIR
              Eine als Verzeichnis benutzte Komponente von oldpath oder newpath ist  in  der  Tat
              kein  Verzeichnis. Oder oldpath ist ein Verzeichnis und newpath existiert, ist aber
              kein Verzeichnis.

       ENOTEMPTY oder EEXIST
              newpath ist ein nicht leeres Verzeichnis,  d.h.  es  enthält  außer  ».«  und  »..«
              weitere Einträge.

       EPERM oder EACCES
              Das  Verzeichnis, das oldpath enthält, hat das Sticky-Bit (S_ISVTX) gesetzt und die
              effektive Benutzer-ID des Prozesses ist weder die  Benutzer-ID  der  zu  löschenden
              Datei  noch  die  des  beinhaltenden  Verzeichnisses  und  der  Prozess  ist  nicht
              privilegiert (Linux: verfügt nicht über die  CAP_FOWNER-Capability);  oder  newpath
              ist  eine  vorhandene  Datei  und ihr übergeordnetes Verzeichnis hat das Sticky-Bit
              gesetzt und die effektive Benutzer-ID des Prozesses ist weder die  Benutzer-ID  der
              zu  ersetzenden  Datei  noch  des beherbergenden Verzeichnisses und der Prozess ist
              nicht privilegiert (Linux: verfügt nicht über die CAP_FOWNER-Capability)  oder  das
              pathname   beherbergende   Dateisystem   unterstützt   nicht  die  Umbenennung  des
              angeforderten Typs.

       EROFS  Die Datei befindet sich auf einem nur lesbaren Dateisystem.

       EXDEV  oldpath und newpath befinden sich nicht  auf  demselben  eingehängten  Dateisystem.
              (Linux  erlaubt  es  Dateisystemen,  an  mehreren  Stellen eingehängt zu sein, aber
              rename() funktioniert nicht über verschiedene Einhängepunkte hinweg,  selbst  falls
              dasselbe Dateisystem an beiden Stellen eingehängt ist.)

KONFORM ZU

       4.3BSD, C89, C99, POSIX.1-2001.

FEHLER

       Auf  NFS-Dateisystemen  kann  bei einer fehlgeschlagenen Operation nicht davon ausgegangen
       werden, dass die Datei nicht umbenannt wurde. Falls der Server  die  Datei  umbenennt  und
       dann  abstürzt,  gibt  der erneut übertragene RPC, der nach dem Wiederanlaufen des Servers
       verarbeitet  wird,  einen  Fehler  zurück.  Von  der  Anwendung  wird  erwartet,  dies  zu
       berücksichtigen. Siehe link(2) für ein ähnliches Problem.

SIEHE AUCH

       mv(1),   chmod(2),   link(2),   renameat(2),  symlink(2),  unlink(2),  path_resolution(7),
       symlink(7)

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Elmar Jansen <ej@pumuckel.gun.de>,
       Helge Kreutzmann <debian@helgefjell.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>
       und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.