SYMLINK(2)

BEZEICHNUNG
symlink - erzeuge einen symbolischen Namen für eine Datei

ÜBERSICHT
#include <unistd.h>

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

BESCHREIBUNG
Symlink erzeugt für die Datei oldpath einen symbolischen Verweis newpath. Symbolische Links werden zur Laufzeit interpretiert, als wenn der neue Dateiname durch den Alten ersetzt worden wäre. Dies gilt für Dateien und Verzeichnisse. Symbolische Links können .. im Pfad beinhalten. Dies wird als das na^chstho^here Verzeichnis des Links interpretiert. Ein symbolischen Link (auch Soft Link genannt) kann auf eine existierende oder eine nicht existierende Datei zeigen. Dies wird als toter Link bezeichnet. Die Rechte eines symbolischen Links sind irrelevant. Der Eigentümer wird beim Auflösen des Links ignoriert, jedoch u^berprüft wenn der Link umbenannt oder gelöscht werden soll. Aber nur wenn der Link in einem Directory ist, daß das sticky Bit gesetzt hat. Wenn newpath existiert, wird es nicht überschrieben.

RÜCKGABEWERT
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben errno entsprechend gesetzt.

ERRORS

EPERM
    Das Dateisystem welches pathname beinhaltet erlaubt nicht das Erzeugen von symbolischen links.

EFAULT
    oldpath oder newpath zeigt außerhalb des Benutzer-Adressraums.

EACCES
    Die effektive uid des Prozesses hat kein Schreibrecht in dem Verzeichnis in dem newpath angelegt werden soll, oder das Verzeichnis newpath verbietet das Suchen (execute permission fehlt).

ENAMETOOLONG
    oldpath oder newpath war zu lang.

ENOENT
    Eine Komponente des Verzeicnisses newpath existiert nicht oder ist ein toter symbolischer Link, oder oldpath ist ein leerer String.

ENOTDIR
    Eine Komponente des Verzeichnisses newpath ist kein Directory.

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

EROFS
    Die Datei ist in einem schreibgeschu^tzgten Dateisystem.

EEXIST
    newpath ist schon vorhanden.

ELOOP
    newpath beinhalten einen Verweis auf einen zirkula^ren symbolischen Link, also auf einen symbolischen Link der auf sich selbst verweist.

ENOSPC
    Die Gerätedatei die die Datei enthält hat keinen Platz für einen neuen Verzeichniseintrag.

BEMERKUNGEN
Es wird keine Prüfung auf oldpath durchgeführt. Das Löschen der Datei auf die ein symbolischer Link zeigt, löscht diese Datei (wenn sie keine anderen Hardlinks hat). Wenn dies nicht gewünscht ist sollte link. benutzt werden.

KONFORM ZU
SVID, AT&T, POSIX, BSD 4.3

FEHLER
Siehe open(2) bezüglich mehreren Datein mit gleichem Namen und NFS.

SIEHE AUCH
link(2), unlink(2), rename(2), open(2), lstat(2), ln(1), link(8).