Wie erstelle ich Softlinks zu Verzeichnissen unter Linux?
Als Verknüpfung zu den verfügbaren Dateien oder Ordnern im System wird ein Softlink (Symlink oder symbolischer Link) generiert. Normalerweise werden diese Softlinks zum Verknüpfen von Bibliotheken verwendet. Softlinks ermöglichen das Speichern mehrerer Klone desselben Dokuments in verschiedenen Dateisystemen oder Zielorten.
Dieser Link verweist auf den Pfad und die Adresse des Originaldokuments. Der Softlink enthält verschiedene Aspekte, wie zum Beispiel −
Softlinks können sowohl auf Verzeichnisse als auch auf reguläre Dateien verweisen.
Nach dem Löschen des Softlinks bleibt das Originaldokument weiterhin verfügbar.
Der symbolische Link funktioniert nicht, wenn Sie die Originaldatei verschieben oder löschen.
-
Für häufig verwendete Dateien sind in der Regel Softlinks verfügbar, sodass Sie schnell auf diese Dateien zugreifen können, ohne den gesamten Speicherort eingeben zu müssen.
Die Inode-Nummern der Soft-Datei und der eigentlichen Link-Datei sind unterschiedlich.
Ein Softlink funktioniert ähnlich wie ein Hyperlink im Web. Wenn Sie unter Linux auch Softlinks zu Verzeichnissen erstellen möchten, folgen Sie bitte dieser Anleitung.
Wie erstelle ich Softlinks zu Verzeichnissen unter Linux?
„ln“ ist ein Befehlszeilenprogramm, das Verknüpfungen zwischen Dateien oder Ordnern erstellt. Standardmäßig werden Hardlinks erstellt. Mit der Option -s oder --symbolic mit dem Befehl ln können Sie Softlinks zu Verzeichnissen unter Linux erstellen. Hier ist die grundlegende Syntax des ln-Befehls, der Sie folgen können:
ln -s <source file/directory name> <target directory/file name> <soft_link name>
Or
ln --symbolic <source directory name> <target directory/file name> <soft_link name>
Verknüpfen wir beispielsweise „Dokumente“ mit dem Verzeichnis „Link“ über den ln-Befehl −
~$: ln -s Documents Link
Wenn Sie die Soft-Verknüpfung überprüfen möchten, gehen Sie zum Dateimanager und überprüfen Sie die verfügbare verknüpfte Datei −
Der obige Befehl erzeugt keine Ausgabe, nachdem die Softlinks zum Verzeichnis erfolgreich erstellt wurden. Daher können Sie den neu erstellten Softlink mit dem folgenden Befehl überprüfen:
ls -l <targeted soft_link directory/file name> <soft_link name>
Lassen Sie uns einige Beispiele verwenden, um die Erstellung von Softlinks besser zu verstehen.
~$: ls -l Documents Link
lrwxrwxrwx 1 prateek prateek 9 Feb 21 12:22 Link -> Documents
Documents: total 24
-rw-rw-r-- 1 prateek prateek 0 Feb 20 16:10 bash.sh
-rw-rw-r-- 1 prateek prateek 0 Feb 20 16:11 file.txt
drwxrwxr-x 2 prateek prateek 4096 Feb 20 16:28 'Images'
drwxrwxr-x 2 prateek prateek 20480 Feb 20 16:28 'Information'
Erstellen Sie Softlinks für die Datei zu einem Verzeichnis mit demselben Namen
Hier haben wir eine Datei „example.txt“ im Verzeichnis „Dokumente“ und werden diese Datei im Verzeichnis „Downloads“ verlinken −
~$:ln -s /home/prateek/Documents/example.txt Downloads
Um den Softlink zu überprüfen, führen Sie den folgenden Befehl aus:
~$:ls -l Downloads/example.txt
lrwxrwxrwx 1 prateek prateek 35 Feb 21 13:01 Downloads/example.txt -> /home/prateek Documents example.txt
Bonus-Tipp – Im obigen Befehl haben wir den absoluten Pfad verwendet, was einfach und empfehlenswert ist. Allerdings muss man den Weg richtig klären. Dazu können Sie den folgenden Befehl ausführen, um das Softlink-Verzeichnis zum aktuellen Verzeichnis des Terminals zu machen
~$: cd ~/Downloads
~$: ln -s /home/prateek/Documents/example.txt
Erstellen von Softlinks für die Datei zu einem Verzeichnis mit unterschiedlichen Namen
In diesem Beispiel erstellen wir einen Softlink zum Verzeichnis „Dokumente“ mit dem Namen „Dokumente1“ im Verzeichnis „Downloads“. Hier folgen wir dem obigen Befehl und geben dann den Namen an, mit dem Sie einen Link erstellen möchten. Sein Befehl wäre etwa so: −
~$: ln -s /home/prateek/Documents Downloads/Documents1
~$: ls -l Downloads/Documents1
~$: lrwxrwxrwx 1 prateek prateek 23 Feb 21 13:21 Downloads/Documents1 -> /home/prateek Documents
Auf diese Weise können Sie eine Softlink-Datei zu einem Verzeichnis mit einem anderen Linknamen erstellen.
Berechtigungen von Softlinks
Wenn wir die Berechtigung des Softlinks ändern, wird dieser mithilfe des Befehls chmod an das Zielverzeichnis oder die Zieldateien weitergeleitet. Dies geschieht, weil der Befehl chmod Berechtigungsänderungen auf das Zielverzeichnis anwendet, unabhängig davon, ob die Änderung erfolgreich ist oder nicht. Somit,
Alle Softlinks sind immer zu 0777/lrwxrwxrwx erlaubt.
Die Softlink-Berechtigung kann niemals geändert werden.
Überschreiben Sie die Softlinks
Der Befehl ln gibt eine Fehlermeldung aus, wenn ein Softlink erstellt wird, der bereits vorhanden ist (es konnte kein Softlink erstellt werden).
Mit der Option -f oder --force mit dem Befehl ln können Sie den Zielpfad des Softlinks überschreiben und diesen Fehler beheben.
ln -sf <path of the source file/directory> <path of the target file/directory>
Hinweis – Änderungen an der Originaldatei unter der aktualisierten Linux-Version aktualisieren oder überschreiben automatisch den Softlink.
Finden Sie alle Softlinks
Mit dem folgenden Suchbefehl können Sie alle unter jedem Ordner und jeder Datei vorhandenen Softlinks anzeigen:
~$: find <path of the file/directory> -type l
Lassen Sie uns zum Beispiel alle Softlinks des Downloads-Verzeichnisses herausfinden −
~$: find Downloads -type l
/home/prateek/Downloads/example.txt
/home/prateek/Downloads/Documents1
Finden Sie defekte Links
Wenn Sie die Datei von einem Verzeichnis in ein anderes verschieben oder löschen, wird der Softlink automatisch unterbrochen. Da der Link keinen Inhalt hat, führt jeder Versuch, auf diese Datei zuzugreifen, zu „keine solche Datei oder kein solches Verzeichnis“. Sie können den folgenden Suchbefehl erneut verwenden, um diese defekten Links zu finden.
~$: find <path of the file/directory> -xtype l
Als Ergebnis zeigt dieser Befehl alle defekten Softlinks im Verzeichnis oder in der Datei an. Sie können alle defekten Links auf einmal löschen, indem Sie dem obigen Befehl die Option „-the delete“ hinzufügen.
Softlinks entfernen
Softlinks sind ebenfalls wie normale Dateien, die Sie mit Hilfe des Befehls rm entfernen können. Darüber hinaus bietet Linux auch ein separates Dienstprogramm namens Unlink zum Entfernen von Softlinks, mit dessen Hilfe Sie Softlinks entfernen können.
Sie benötigen kein Argument, um Softlinks mit dem Befehl „unlink“ zu entfernen. Befolgen Sie den folgenden Befehl, um die Softlinks zu löschen
~$: unlink <path of the soft link>
Hier werden wir die Verknüpfung der example.txt-Datei mit dem Downloads-Verzeichnis aufheben −
~$: unlink /home/prateek/Documents/example.txt
Darüber hinaus können Sie Softlinks auch mit dem Befehl rm löschen. Der Vorteil des rm-Befehls gegenüber dem unlink besteht darin, dass Sie mehrere Softlinks gleichzeitig entfernen können −
~$: rm <path of the file/directory> soft link1 softlink2
Abschluss
Mit Softlinks können Sie von mehr als einem Ort aus auf jede Datei oder jedes Verzeichnis zugreifen. Mit der Option -s mit dem Befehl ln können Sie unter Linux einen Soft- oder symbolischen Link erstellen. Hier haben wir den vollständigen Vorgang zum Erstellen von Softlinks zu Verzeichnissen beschrieben. Darüber hinaus haben wir die Methoden zum Entfernen, Auffinden und Löschen dieser Links erläutert.