Provided by: manpages-de-dev_2.5-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  4.15  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>,   Mario   Blättermann
       <mario.blaettermann@gmail.com>,  Helge  Kreutzmann  <debian@helgefjell.de>  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>.