Available in

(1) (2) (3) (5) (1)/cs (2)/de (2)/es (1)/fr (2)/fr (2)/ja (2)/ko (2)/nl (2)/pl (2)/ru (1)/tr

Contents

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)

COMMENTS

blog comments powered by Disqus