Provided by: manpages-de-dev_4.13-4_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 NeuVerzdd, 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  NeuVerzdd  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  NeuVerzdd  den  besonderen  Wert AT_FDCWD annimmt wird
       Linkpfad  als  relativ  zum  aktuellen  Arbeitsverzeichnis   des   aufrufenden   Prozesses
       interpretiert (wie symlink()).

       Falls Linkpfad absolut ist wird NeuVerzdd 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  NeuVerzdd ist kein zulässiger Dateideskriptor.

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

       ENOTDIR
              Der  Linkpfad  ist relativ und NeuVerzdd 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 NeuVerzdd-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.10  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.