GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie einen symbolischen Link in Linux mit dem Ln-Befehl

Symbolischer Link wird allgemein als Softlink bezeichnet oder symlink , das ist ein spezieller Dateityp, der auf eine andere Datei oder ein anderes Verzeichnis verweist.

In diesem Handbuch erfahren Sie, wie Sie unter Linux mit dem Befehl ln einen symbolischen Link erstellen, um Links zwischen Dateien herzustellen.

Arten von Links

In Linux gibt es zwei Arten von Links:Softlinks und Hardlinks.

Harte Links: Ein fester Link ist eine Kopie einer Originaldatei. Es ermöglicht den Zugriff auf die Daten in der Zieldatei. Ein Benutzer kann keinen festen Link für ein Verzeichnis erstellen, sondern nur für eine Datei. Außerdem haben fest verknüpfte Dateien eine gemeinsame Inode-Nummer. Wenn die Originaldatei gelöscht oder entfernt wird, funktioniert der Hardlink weiterhin und enthält den Inhalt der entfernten Datei. Es ist auch wichtig zu beachten, dass feste Links sich nicht über verschiedene Dateisysteme erstrecken.

Soft-Links: Im Gegensatz zu einem Hardlink ist ein Softlink lediglich ein Zeiger auf einen Dateinamen und enthält nicht den Inhalt einer anderen Datei oder der Zieldatei, auf die verwiesen wird. Wenn die Zieldatei entfernt oder gelöscht wird, ist der Softlink nicht mehr vorhanden. Die gute Seite von Softlinks ist, dass sie verwendet werden können, um auf eine Datei oder ein Verzeichnis zu verlinken, und dass sie sich über verschiedene Dateisysteme erstrecken können.

Verwendung des ln-Befehls

Der ln-Befehl wird verwendet, um Verknüpfungen zwischen Dateien herzustellen. Der Befehl erstellt standardmäßig einen festen Link. Um einen Softlink zu erstellen, hängen Sie einfach das -s an Option ( --symbolic ).

Syntax:

ln [OPTION] TARGET LINK_NAME

Um Verwirrung zu vermeiden, verwenden Sie beim Erstellen eines symbolischen Links den absoluten Pfad (relativen Pfad) der Quell- und Zieldatei.

So erstellen Sie einen symbolischen Link zu einer Datei

Führen Sie den folgenden Befehl aus, um einen symbolischen Link zu einer Datei zu erstellen:

$ ln -s { OPTIONS } file symlink

Wenn sowohl die Datei als auch der symbolische Link definiert sind, erstellt der Befehl ln einen Link von der Datei Dies ist das erste Argument für die Datei, die im zweiten Argument symlink definiert ist .

Um beispielsweise einen symbolischen Link zu einer Datei zu erstellen, verwenden Sie die Syntax,

$ ln -s  original_file symlink

Hinweis:ln gibt bei Erfolg keine Ausgabe zurück.

Ersetzen Sie im Befehl die original_file mit der bestehenden Datei, für die Sie den Symlink und den Symlink erstellen möchten mit dem symbolischen Link.

Nehmen wir ein echtes Beispiel:

$ ln -s  file1.txt   sample_link.txt

Der obige Befehl erstellt einen symbolischen Link namens „sample_link.txt“ zu der bestehenden Datei „file1.txt“ im aktuellen Verzeichnis.

Um die Erstellung des Links zu überprüfen, verwenden Sie einfach den ls-Befehl wie gezeigt:

$ ls -l sample_link.txt

Ihre Ausgabe sollte dem ähneln, was ich unten habe:

lrwxrwxrwx 1 winnie  winnie 9 Jul 12 23:43 sample_link.txt -> file1.txt

In den Berechtigungen ist das l Flag gibt an, dass es sich um einen symbolischen Link handelt, und das Zeichen - > gibt an, dass der symbolische Link auf die Datei file1.txt zeigt .

Manchmal funktionieren symbolische Links aufgrund von Pfadproblemen nicht, schlagen Sie vor, den vollständigen Pfad zu verwenden:

# absolute (full path)
ln -s /path/to/originals/originalfile1.txt backup/copy.txt

# relative
cd backup
ln -s ../originals/originalfile1.txt copy.txt

So erstellen Sie symbolische Links zu einem Verzeichnis

Das Erstellen eines symbolischen Links zu einem Verzeichnis ist genauso einfach wie das Erstellen eines Links zu einer Datei. Die Syntax bleibt weitgehend gleich. Das erste Argument nimmt den Namen des Verzeichnisses, während der symbolische Link als zweites Argument angegeben wird.

Die folgende Syntax ist ein Beispiel dafür, wie Sie vorgehen würden:

$ ln -s  /path/to/directory  ~/directory

Zum Beispiel, um einen symbolischen Link aus dem Verzeichnis /Downloads/music/ zu erstellen zu ~/my_music Führen Sie den Befehl aus:

$ ln -s  /Downloads/music  ~/my_music

So überschreiben Sie einen symbolischen Link

Überschreiben symbolischer Links durch einfaches Aufrufen des ln-Befehls ohne zusätzliche Argumente erhalten Sie immer einen Fehler wie gezeigt:

Beispiel:Wenn Sie versuchen, den folgenden Befehl erneut auszuführen:

$ ln -s  file1.txt   sample_link.txt

Sie erhalten den angezeigten Fehler:

ln: failed to create symbolic link 'sample_link.txt': File exists

Eine Problemumgehung für dieses Problem besteht darin, eine weitere Option -f einzuführen oder --force um den Zielpfad des Symlinks wie gezeigt zu überschreiben:

$ ln -sf  file1.txt   sample_link.txt

Diesmal führt das Überschreiben des Softlinks zu keinem Fehler.

So entfernen Sie Symlinks

Um symbolische Linux-Links oder Symlinks zu entfernen, können Sie entweder den Befehl rm oder den Befehl unlink verwenden Befehl. Und es ist ganz einfach. Für Verknüpfung aufheben verwenden Sie die folgende Syntax, um symbolische Links zu entfernen:

$ unlink symlink_to_be_removed

Das Entfernen eines Softlinks mit dem Befehl rm ist genauso wie beim Löschen oder Entfernen einer normalen Datei:

$ rm symlink_to_be_removed

Sind Symlinks wichtig?

Es ist im Allgemeinen eine gute Idee, einen Symlink zu einer Datei zu erstellen, wenn Sie eines der folgenden Ziele erreichen möchten:

  1. Haben Sie von mehreren Orten aus Zugriff auf eine oder mehrere Dateien, ohne doppelte Kopien zu erstellen, die zwangsläufig viel Speicherplatz beanspruchen können.
  2. Wenn Sie Originalversionen der Datei beibehalten und sicherstellen möchten, dass der Link auf die neueste Version der Datei verweist. Das funktioniert, weil der Symlink auch dann aktiv bleibt, wenn Sie die Datei durch eine andere Datei mit demselben Dateinamen ersetzt haben.

Linux-Programme verwenden symbolische Links als Alias, sodass Benutzer nicht wissen müssen, welche Version des Codes verwendet wird.

# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2

Schlussfolgerung

Symbolische Links und Standardkürzel sind ähnlich, aber es gibt einige Unterschiede zwischen den beiden.

Eine Standardverknüpfung, wie Sie sie in Windows finden würden, ist einfach eine normale Datei, die auf ein bestimmtes Verzeichnis, eine Datei oder eine Anwendung verweist. Diese Verknüpfung wird normalerweise als Symbol angezeigt, das an einem beliebigen Ort erstellt werden kann, und wenn darauf geklickt wird, wird die Originaldatei, das Originalverzeichnis oder die Originalanwendung geöffnet.

Ein symbolischer Link repräsentiert tatsächlich die Originaldatei im funktionalen Sinne. Es ist ein direkter Ersatz für ein Objekt wie eine Datei. Ihr Linux-System liest den symbolischen Linux-Link so, als wäre es das Zielobjekt. Eine gewöhnliche Verknüpfung verweist einfach auf eine Datei oder ein Verzeichnis und tut sonst nichts.

Das ist alles über das Erstellen eines symbolischen Links in Linux und für weitere Informationen siehe ln man. Ich hoffe, Sie hatten Spaß beim Lesen und hinterlassen Sie bitte Ihre Kommentare und Vorschläge.


Linux
  1. So erstellen Sie harte und symbolische Links in Linux

  2. So erstellen Sie ein Skript eines Linux-Befehls

  3. So erstellen Sie Dateisystem-Snapshots mit Snapper Command unter Linux

  4. So teilen Sie ISO oder Datei mit dem Befehl „Split“ in Linux

  5. So erstellen Sie Sparse-Dateien in Linux mit dem Befehl „dd“.

So erstellen Sie einen Alias ​​unter Linux

Linux ln – So erstellen Sie einen symbolischen Link in Linux [Beispiel-Bash-Befehl]

So erstellen Sie eine Datei in Linux mit Terminal

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So erstellen Sie eine Datei in Ubuntu Linux mit Befehl und GUI

Was sind symbolische Links in Linux? Wie erstellt man symbolische Links?