link

Autres langues

Langue: de

Version: 20. Januar 1996 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

BEZEICHNUNG

link - erzeuge einen neuen Verweis auf eine Datei

ÜBERSICHT

#include <unistd.h>

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

BESCHREIBUNG

link erzeugt einen neuen Verweis (auch bekannt als Hardlink) auf eine bestehenden Datei

Wenn newpath existiert wird er nicht überschrieben.

Der neue Name kann genauso wie der alte Name für alle Aktionen benutzt werden. Beide Namen zeigen auf die gleiche Datei (haben somit die gleichen Rechte und Eigentümer) und es ist unmöglich festzustellen welcher Name der Originalname ist.

RÜCKGABEWERT

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

ERRORS

EXDEV
oldpath und newpath sind nicht im gleichen Dateisystem.
EPERM
Das Dateisystem welches oldpath und newpath beinhaltet, erlaubt nicht das Erzeugen von Hardlinks.
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 eines der Verzeichnisses oldpath oder newpath verbietet das Suchen (execute permission fehlt).
ENAMETOOLONG
oldpath oder newpath war zu lang.
ENOENT
Eine Komponente des Verzeichnisses oldpath oder newpath existiert nicht oder ist ein unsicherer symbolischer Link.
ENOTDIR
Eine Komponente des Verzeichnisses oldpath oder newpath ist kein Directory.
ENOMEM
Es war nicht genügend Kernel-Memory verfügbar.
EROFS
Die Datei ist in einem nur lesbaren Dateisystem.
EEXIST
newpath ist schon vorhanden.
EMLINK
Die Datei auf die oldpath zeigt hat schon die maximale Anzahl links.
ELOOP
oldpath oder newpath beinhalten einen Verweis auf einen kreisenden symbolischen Link, beziehungsweise 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.
EPERM
oldpath ist der . oder .. Eintrag eines Directory's.

BEMERKUNGEN

Hard links, die mit link, kreiert werden können nicht auf verschiedenen Dateisystemen liegen. Benutze dafür symlink

KONFORM ZU

SVID, AT&T, POSIX, BSD 4.3

FEHLER

In NFS Dateisystemen kann der Rückgabewert falsch sein, wenn der NFS-Server beim Erzeugen des Links stirbt. Benutze stat(2) um zu prüfen ob der Link angelegt wurde.

SIEHE AUCH

symlink(2), unlink(2), rename(2), open(2), stat(2), ln(1), link(8)