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

Linux readlink und realpath Command Tutorial für Anfänger (mit Beispielen)

Wir haben bereits den Befehl ln besprochen, mit dem Sie Verknüpfungen zwischen Dateien erstellen können. Aber es gibt auch Tools, mit denen Sie diese Links auflösen können.

In diesem Tutorial werden wir die Grundlagen von realpath besprechen und Leselink Befehle, die ähnlich (wenn nicht gleich) in dem Sinne sind, dass sie aufgelöste symbolische Links in der Ausgabe anzeigen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf Ubuntu 18.04 LTS und auf Debian 10 getestet wurden.

Wie bereits eingangs erwähnt, zeigen sowohl realpath- als auch readlink-Befehle den aufgelösten Pfad für Symlinks in der Ausgabe an.

Es folgt ihre Syntax:

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

Und hier ist, was ihre jeweiligen Manpages sagen:

Print the resolved absolute file name
print resolved symbolic links or canonical file names

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine bessere Vorstellung davon vermitteln sollen, wie diese Tools funktionieren.

Einfach, geben Sie einfach die Datei oder den Pfad als Eingabe an. Das folgende Beispiel zeigt, wie diese beiden Befehle einen symbolischen Link auflösen.

Und so arbeiten sie mit Pfaden:

Sie können also sehen, dass beide Befehle Symlinks in den beiden Fällen erfolgreich aufgelöst haben.

Q2. Wie drucke ich den aufgelösten Pfad relativ zu einem Verzeichnis?

Mit dem realpath-Befehl können Sie dies ganz einfach tun. Angenommen, Sie versuchen beispielsweise Folgendes:

realpath /var/local/Downloadslink

Eine zusätzliche Anforderung ist jedoch, dass die Ausgabe dieses Befehls relativ zum Verzeichnis /home/himanshu ist. Dann folgt der Befehl, den Sie ausführen müssen:

realpath /var/local/Downloadslink --relative-to=/home/himanshu

Hier ist die Ausgabe:

Downloads

Sie können also sehen, dass die Option '--relative-to' Ihnen erlaubte, eine Ausgabe relativ zum /home/himanshu-Verzeichnis zu haben.

Q3. Wie kann man .. in Pfaden einfach loswerden?

Es kann Zeiten geben, in denen das Erweitern/Auflösen von Symlinks nicht das Ziel ist, sondern das Entfernen von .. im Pfad. Mit dem realpath-Befehl können Sie dies tun.

Alles, was Sie tun müssen, ist die Befehlszeilenoption -s zu verwenden. Hier ist ein Beispiel:

realpath -s ../../var/local/Downloadslink

Und das Folgende ist die Ausgabe dieses Befehls:

/var/local/Downloadslink

Q4. Wie ändere ich das Trennzeichen?

Standardmäßig wird der Zeilenumbruch als Trennzeichen verwendet. Beide Befehle bieten jedoch eine Möglichkeit, stattdessen NUL als Trennzeichen zu verwenden.

Die Option, die Sie in beiden Fällen verwenden müssen, ist -z.

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]

Schlussfolgerung

Was wir hier besprochen haben, sind nur eine Handvoll Optionen/Features, die diese Befehle bieten. Wenn Sie mit dem Üben fertig sind, gehen Sie zu den man-Seiten von readlink und realpath (hier und hier), um mehr über diese Tools zu erfahren.


Linux
  1. Linux expand Command Tutorial für Anfänger (mit Beispielen)

  2. Linux-Factor-Befehls-Tutorial für Anfänger (mit Beispielen)

  3. Linux yes Command Tutorial für Anfänger (mit Beispielen)

  4. Linux nproc Command Tutorial für Anfänger (mit Beispielen)

  5. Linux-Benutzer Befehls-Tutorial für Anfänger (mit Beispielen)

Linux test Command Tutorial für Anfänger (mit Beispielen)

Linux sha1sum Command Tutorial für Anfänger (mit Beispielen)

Linux Look Command Tutorial für Anfänger (mit Beispielen)

Linux-Lsattr-Befehls-Tutorial für Anfänger (mit Beispielen)

Linux tload Command Tutorial für Anfänger (mit Beispielen)

Linux tr Command Tutorial für Anfänger (mit Beispielen)