So erstellen Sie symbolische Links (Symlinks) unter Linux


Linux hat keine Verknüpfungen, aber symbolische Links – oder Symlinks, wie sie normalerweise genannt werden. Doch was genau sind symbolische Links? Und wie erstellt man einen? Finden wir es heraus.

Wir werden die Befehle auf eine Ubuntu-Installation ausprobieren, obwohl die Syntax auf alle Linux-Distributionen genauso funktioniert. Interessanterweise Symlinks können auch auf einem Mac-PC erstellt werden.

Was sind symbolische Links?

Wenn Sie von mehreren Standorten aus auf eine Datei zugreifen möchten, ist das einfache Kopieren der Datei keine gute Lösung. Sie verschwenden Speicherplatz und erschweren die Nachverfolgung von Änderungen, da mehrere Dateien vorhanden sind.

In einem GUI-basierten Betriebssystem würden Sie dies durch die Erstellung von Verknüpfungen umgehen. Für ein CUI-basiertes Betriebssystem (wie jede Linux-Distribution ) ist die Antwort ein Symlink. Sogar Microsoft Windows kann Symlinks in einige Situationen nutzen.

Ein Symlink oder ein symbolischer Link ist einfach eine Datei, die auf eine andere Datei oder ein anderes Verzeichnis verweist – sogar in einem völlig anderen Dateisystem oder einer völlig anderen Partition. Durch Öffnen des Symlinks erhalten Sie Zugriff auf dieselbe Originaldatei, wobei alle Änderungen auch in der Hauptdatei widergespiegelt werden.

Dies gilt auch für Berechtigungen – wenn Sie chmod verwenden, um die Berechtigungen einer Symlink-Datei zu ändern, werden tatsächlich die Berechtigungen der Zieldatei geändert.

Arten von Symlinks

Symbolische Links werden auch als Softlinks bezeichnet. Wie der Name vermuten lässt, handelt es sich nicht um die einzige Art von Dateiverknüpfungssystem unter Linux. Hardlinks können in bestimmten Szenarien als Alternative zu Symlinks verwendet werden, unterliegen jedoch einer Reihe von Einschränkungen.

Erstens sindHardlinkseinfach Dateinamen, die auf dasselbe Inode verweisen. Dies macht sie zwar sehr effizient in Bezug auf Speicher und Zugriffsgeschwindigkeit, beschränkt sie aber auch auf Dateien im selben Dateisystem oder derselben Partition. Und aufgrund einer Besonderheit von wie der Ordnerzugriff unter Linux funktioniert können Sie auch keine Hardlinks für Verzeichnisse verwenden.

Softlinks oder symbolische Linkshingegen ähneln eher Desktop-Verknüpfungen. Bei jedem Softlink handelt es sich im Wesentlichen um eine kleine Datei, die auf die Originaldaten verweist, ohne tatsächlich direkt mit diesen verknüpft zu sein. Dies bedeutet, dass Softlinks problemlos und ohne Einschränkungen auch auf Dateien und Verzeichnisse auf anderen Partitionen und Dateisystemen verweisen können.

Hardlinks vs. Softlinks – Welcher Typ ist zu verwenden?.

Softlinks sind die vielseitigste Form von Links, da sie ohne Einschränkungen sowohl für Dateien als auch für Verzeichnisse in mehreren Dateisystemen verwendet werden können. Aber warum haben wir dann überhaupt harte Links? Bieten sie Ihnen irgendwelche Vorteile gegenüber Symlinks?

Nun, auf dem Papier sind Hardlinks effizienter. Da sie dieselben Inodes verwenden, beanspruchen sie keinen zusätzlichen Speicherplatz und der Zugriff ist viel schneller als bei Softlinks. Aus diesem Grund empfehlen viele Systemadministratoren, wann immer möglich, Hardlinks zu verwenden.

Dennoch sind die Nachteile der Verwendung symbolischer Links minimal. Vor allem moderne Computer kümmern sich nicht wirklich um ein paar Kilobyte zusätzlichen Speicher, und wenn Sie das System nicht mit Millionen von Softlinks füllen, spielt die zusätzliche Dateigröße kaum eine Rolle.

Symbolische Links erstellen

Symbolische Links – oder besser gesagt Dateilinks im Allgemeinen – werden mit dem Befehl ln erstellt. Standardmäßig erstellt der Befehl Hardlinks. Um einen symbolischen Link zu erstellen, müssen Sie das Flag -s an den ln-Befehl anhängen.

Die Syntax ist einfach genug. Der Befehl ln benötigt zwei Parameter – den Pfad der Datei (oder des Ordners), mit der verknüpft werden soll, und den Pfad der zu erstellenden Verknüpfungsdatei.

So:

ln -s user_names.txt Namen

Dadurch wird ein symbolischer Link namens „names“ erstellt, der mit der Textdatei „user_names“ verbunden ist. Um zu sehen, ob der symbolische Link tatsächlich erstellt wurde, verwenden Sie einfach den Befehl ls.

Wie Sie sehen können, zeigt Ubuntu unterschiedliche Farben für verschiedene Dateikategorien an, wobei Verzeichnisse durch dunkelblau und symbolische Links durch eine hellere blaue Farbe (eigentlich Cyan) gekennzeichnet sind.

Wir können dieselbe Syntax auch verwenden, um einen Symlink für den Ordner zu erstellen:

ln -s Beispiele Beispielordner

Um symbolische Links zu Dateien und Ordnern in anderen Verzeichnissen zu erstellen, verwenden Sie einfach deren vollständigen Pfad. Zum Beispiel:

ln -s examples/example3.txt distance_example

Einschränkungen von Symlinks

Symbolische Links sind eine großartige Möglichkeit, Dateien in Ihrem System zu verbinden, ohne auf das Erstellen von Kopien zurückgreifen zu müssen, sie haben jedoch ihre eigenen Einschränkungen. Ja, auch wenn Softlinks weniger restriktiv sind als Hardlinks, gibt es dennoch einige Dinge zu beachten..

Erstens überprüft der ln-Befehl die erstellten Links nicht wirklich. Dies bedeutet, dass es möglich ist, einen Dateinamen einzugeben, der tatsächlich nicht existiert, und dass keine Fehlermeldungen angezeigt werden. Die einzige Möglichkeit, den Link zu bestätigen, besteht darin, ihn zu verwenden und zu prüfen, ob er zur richtigen Datei führt.

Zweitens: Während der Zugriff auf oder das Ändern der Berechtigungen des Symlinks die Eigenschaften der Originaldatei ändert, gilt das Gleiche nicht für das Löschen der Datei. Sie können Entfernen Sie den symbolischen Link sicher ausführen, ohne die verknüpfte Datei oder das verknüpfte Verzeichnis zu beeinträchtigen.

Symlinks unter Linux erstellen

Das größte Problem bei der Verwendung des Terminals zum Erstellen symbolischer Links ist die Schwierigkeit, auf wichtige Dateien zuzugreifen, die über verschiedene Verzeichnisse verteilt sind. Die clevere Lösung besteht darin, symbolische Links zu solchen Dateien aus Ihrem Home-Verzeichnis selbst zu erstellen, wie Desktop-Verknüpfungen.

Und im Gegensatz zu Hardlinks können Symlinks problemlos und ohne Einschränkungen erstellt werden, selbst für Verbindungen zu Verzeichnissen oder Dateien in verschiedenen Partitionen und Dateisystemen. Beachten Sie, dass dies auch bedeutet, dass ein symbolischer Link möglicherweise auf eine nicht vorhandene Datei verweist. Sie müssen versuchen, auf den Link zuzugreifen, um zu überprüfen, ob die Datei vorhanden ist.

.

Zusammenhängende Posts:


10.05.2023