Provided by: manpages-de-dev_2.16-1_all bug

BEZEICHNUNG

       symlink, symlinkat - erzeugt einen neuen Namen für eine Datei

ÜBERSICHT

       #include <unistd.h>

       int symlink(const char *Ziel, const char *Linkpfad);

       #include <fcntl.h>           /* Definition der AT_*-Konstanten */
       #include <unistd.h>

       int symlinkat(const char *Ziel, int newdirfd, const char *Linkpfad);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       symlink():
           _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
               || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE

       symlinkat():
           Seit Glibc 2.10:
               _POSIX_C_SOURCE >= 200809L
           Vor Glibc 2.10:
               _ATFILE_SOURCE

BESCHREIBUNG

       symlink erzeugt einen symbolischen Link Linkpfad, der die Zeichenkette Ziel enthält.

       Symbolische  Links werden zur Laufzeit so interpretiert, als wenn der neue Dateiname durch
       den alten ersetzt worden wäre. Dies gilt für Dateien und Verzeichnisse.

       Symbolische Links können ..-Komponenten im Pfad  beinhalten.  Wenn  die  zwei  Punkte  den
       Anfang des Links bilden, werden sie als das Elternverzeichnis des Links interpretiert.

       Ein  symbolischer  Link  (auch  »soft  link« genannt) kann auf eine existierende oder eine
       nicht existierende Datei zeigen. Links auf nicht existierende  Dateien  werden  als  toter
       Link bezeichnet.

       Die Rechte eines symbolischen Links sind irrelevant. Die Besitzverhältnisse werden bei der
       Auflösung des Links ignoriert. Sie werden überprüft, wenn der Link umbenannt oder gelöscht
       werden soll und sich in einem Verzeichnis mit gesetztem »Sticky Bit« (S_ISVTX) befindet.

       Wenn Linkpfad existiert, wird es nicht überschrieben.

   symlinkat()
       Der   Systemaufruf   symlinkat()  funktioniert  genauso  wie  symlink(),  außer  den  hier
       beschriebenen Unterschieden.

       Falls der in Linkpfad übergebene Pfadname relativ ist  wird  er  als  relativ  zu  dem  im
       Dateideskriptor  newdirfd  referenzierten  Verzeichnis  interpretiert  (statt  relativ zum
       aktuellen Arbeitsverzeichnis des aufrufenden Prozesses, wie es  bei  symlink()  für  einen
       relativen Pfadnamen erfolgt).

       Falls Linkpfad relativ ist und newdirfd den besonderen Wert AT_FDCWD annimmt wird Linkpfad
       als relativ zum aktuellen Arbeitsverzeichnis des aufrufenden Prozesses interpretiert  (wie
       symlink()).

       Falls Linkpfad absolut ist wird newdirfd ignoriert.

RÜCKGABEWERT

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

FEHLER

       EACCES Der Schreibzugriff auf das Verzeichnis, in dem Linkpfad angelegt werden soll, wurde
              verweigert  oder  eines der Verzeichnisse im Pfad-Präfix von Linkpfad erlaubt keine
              Suchaktionen. (Siehe auch path_resolution(7).)

       EDQUOT Das Ressourcenkontingent des Benutzers auf diesem Dateisystem ist ausgeschöpft. Die
              Ressourcen   können   Inodes   oder   Datenträgerblöcke   sein,  abhängig  von  der
              Implementation des Dateisystems.

       EEXIST Linkpfad ist schon vorhanden.

       EFAULT Ziel oder Linkpfad zeigt aus dem für Sie zugänglichen Adressraum heraus.

       EIO    Es ist ein E/A-Fehler (engl. I/O) aufgetreten.

       ELOOP  Bei der Auflösung von Linkpfad wurden zu viele symbolische Links gefunden.

       ENAMETOOLONG
              Ziel oder Linkpfad war zu lang.

       ENOENT Eine Komponente des Verzeichnisses Linkpfad existiert nicht oder ist ein toter Link
              oder Ziel oder Linkpfad ist die leere Zeichenkette.

       ENOMEM Es war nicht genügend Kernelspeicher verfügbar.

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

       ENOTDIR
              Eine als Verzeichnis  verwendete  Komponente  von  Linkpfad  ist  tatsächlich  kein
              Verzeichnis.

       EPERM  Das   Dateisystem,  welches  Linkpfad  beherbergt,  unterstützt  das  Erzeugen  von
              symbolischen Links nicht.

       EROFS  Linkpfad befindet sich in einem schreibgeschützten Dateisystem.

       Die folgenden zusätzlichen Fehler können bei symlinkat() auftreten:

       EBADF  newdirfd ist kein zulässiger Dateideskriptor.

       ENOENT Der Linkpfad ist relativ  und  newdirfd  bezieht  sich  auf  ein  Verzeichnis,  das
              gelöscht wurde.

       ENOTDIR
              Der  Linkpfad  ist  relativ und newdirfd ist ein Dateideskriptor, der sich auf eine
              Datei bezieht, die kein Verzeichnis sein darf.

VERSIONEN

       symlinkat() wurde zu Linux in Kernel 2.6.16 hinzugefügt; Bibliotheksunterstützung wurde zu
       Glibc in Version 2.4 hinzugefügt.

KONFORM ZU

       symlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.

       symlinkat(): POSIX.1-2008.

ANMERKUNGEN

       Ziel wird nicht geprüft.

       Das Löschen des Ziels eines symbolischen Links löscht diese Datei (wenn sie keine weiteren
       harten Links hat). Wenn dieses Verhalten nicht erwünscht ist, verwenden Sie link(2).

   Anmerkungen zur Glibc
       Wenn in älteren Kerneln symlinkat() nicht verfügbar ist, weicht die Glibc-Wrapper-Funktion
       auf  symlink()  aus. Wenn Linkpfad relativ ist, konstruiert die Glibc einen Pfadnamen, der
       auf dem symbolischen Link in /proc/self/fd basiert, der dem newdirfd-Argument entspricht.

SIEHE AUCH

       ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2),
       path_resolution(7), symlink(7)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.03  des  Projekts  Linux-man-pages. Eine
       Beschreibung des Projekts, Informationen, wie Fehler  gemeldet  werden  können  sowie  die
       aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Elmar Jansen <ej@pumuckel.gun.de>,
       Martin Schulze <joey@infodrom.org>,  Martin  Eberhard  Schauer  <Martin.E.Schauer@gmx.de>,
       Helge  Kreutzmann <debian@helgefjell.de>, Mario Blättermann <mario.blaettermann@gmail.com>
       und Dr. Tobias Quathamer <toddy@debian.org> 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>.