Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03275.jsonl.gz/1413

ln (link) erzeugt einen Verzeichniseintrag einer existierenden Datei unter anderem Namen
ln [Optionen] Quelle [Ziel]
ln [Optionen] Quelle ... Zielverzeichnis
Jede Datei wird bei ihrer Erzeugung mit ihrem Namen in ein Verzeichnis eingetragen. Dieser Eintrag enthält außerdem einen Verweis auf eine Inode, in der die Zugriffsrechte auf die Datei, der Dateityp und gegebenenfalls die Nummern der belegten Datenblöcke eingetragen sind.
Mit dem ln-Kommando wird ein neuer Eintrag in einem Verzeichnis angelegt, der auf die Inode einer existierenden Datei zeigt. Diese Art Link wird als `Hardlink' bezeichnet. Weil die Zugriffsrechte auf die Datei in der Inode bestimmt werden, sind die Zugriffsrechte auf alle Links einer Datei gleich.
Sie müssen dem ln-Kommando nach den Optionen zuerst den Namen der existierenden Quelldatei(en) angeben und danach den Namen des gewünschten zusätzlichen Eintrags.
Ist das letzte Argument des Aufrufs ein existierendes Verzeichnis, so werden alle als Quelle aufgelisteten Dateien unter dem gleichen Namen im Zielverzeichnis in diesem Verzeichnis eingetragen.
Wird nur eine einzige Quelldatei ohne eine Zieldatei oder ein Zielverzeichnis benannt, so wird ein Link unter diesem Namen im aktuellen Verzeichnis angelegt.
Hardlinks können nur auf dem Datenträger angelegt werden, auf dem sich die Datei (und damit die Inode) selbst befindet. Um Links über die Dateisystemgrenzen hinweg anlegen zu können, bietet Linux die Möglichkeit `symbolischer Links'. In diesen Links ist der absolute Pfad gespeichert, auf dem die gelinkte Datei gefunden werden kann. Ein Zugriff auf diese Datei wird dann vom Betriebssystem automatisch auf die gelinkte Datei umgelenkt. Im ext2fs können symbolische Links mit Pfadnamen bis zu einer Länge von 60 Zeichen in der Inode selbst gespeichert werden (fast symbolic link). In allen anderen Fällen wird für den Link ein Datenblock auf der Festplatte belegt.
Normalerweise löscht ln keine existierenden Dateien. Es werden standardmäßig ``hardlinks'' angelegt. Links auf Verzeichnisse oder auf Dateien in anderen Dateisystemen können nur mit symbolischen Links realisiert werden.
Gelegentlich verändert sich das Verhalten eines Programms, wenn es durch einen Link unter einem anderen Namen aufgerufen wird. (Das funktioniert natürlich nur, wenn diese Änderung im Programm vorgesehen ist.)