Startseite > Datei- und Verzeichnisverwaltung > realpath

realpath: Tatsächlichen Pfad ermitteln

Der Befehl realpath folgt symbolischen Links und entfernt relative Pfadkomponenten wie `.` oder `..`, um den absoluten Pfad einer Datei oder eines Verzeichnisses auszugeben. Dies ist nützlich, um die genaue Position einer Datei in Skripten zu ermitteln oder komplexe Pfade zu vereinfachen.

Übersicht

realpath interpretiert alle symbolischen Links in einem gegebenen Pfad und entfernt relative Pfadkomponenten, um einen standardisierten absoluten Pfad zurückzugeben. Dies ist unerlässlich, um die tatsächliche Position eines Objekts im Dateisystem genau zu bestimmen.

Hauptfunktionen

  • Interpretation von symbolischen Links
  • Konvertierung von relativen Pfaden in absolute Pfade
  • Pfadnormalisierung (z. B. Entfernen von `//`, `/./`, `/../`)

Wichtige Optionen

Der Befehl realpath bietet einige nützliche Optionen zur Steuerung der Pfadinterpretationsweise.

Pfadverarbeitungsoptionen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`realpath` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Verschiedene Anwendungsbeispiele des Befehls realpath.

Absoluten Pfad des aktuellen Verzeichnisses ermitteln

realpath .

Gibt den tatsächlichen absoluten Pfad des aktuellen Arbeitsverzeichnisses aus.

Tatsächlichen absoluten Pfad einer bestimmten Datei ermitteln

realpath my_document.txt

Gibt den tatsächlichen absoluten Pfad der angegebenen Datei aus.

Tatsächlichen Zielpfad eines symbolischen Links ermitteln

ln -s /etc/hosts myhosts
realpath myhosts

Gibt den absoluten Pfad der tatsächlichen Datei oder des Verzeichnisses aus, auf das der symbolische Link verweist. (Erstellung eines symbolischen Links für das Beispiel)

Pfad normalisieren, ohne symbolische Links zu interpretieren

ln -s /etc/hosts myhosts
realpath -s myhosts

Gibt den gegebenen Pfad in normalisierter Form aus, ohne symbolischen Links zu folgen.

Relativen Pfad zu einem bestimmten Verzeichnis ausgeben

realpath --relative-to=/home/user /home/user/documents/report.pdf

Gibt den relativen Pfad des Zielpfades zum angegebenen Basisverzeichnis (`--relative-to`) aus.

Tipps & Hinweise

realpath ist sehr nützlich, um die Unsicherheit von Pfaden in Skripten zu beseitigen und Sicherheit und Genauigkeit zu erhöhen.

Bedeutung der Pfadnormalisierung

realpath entfernt automatisch unnötige Pfadkomponenten wie `//`, `/./`, `/../` und liefert den kürzesten und genauesten absoluten Pfad. Dies reduziert Fehler bei der Pfadvergleichung oder beim Dateizugriff in Skripten.

Verwendung mit xargs

find . -type f -print0 | xargs -0 realpath -z

Bei der Verarbeitung der tatsächlichen Pfade mehrerer Dateien kann die Option `-z` zusammen mit `xargs -0` verwendet werden, um auch Dateinamen mit Leerzeichen oder Sonderzeichen sicher zu verarbeiten.

Umgang mit nicht existierenden Pfaden

realpath funktioniert standardmäßig nur, wenn der Pfad existiert. Die Ausführung mit einem nicht existierenden Pfad gibt einen Fehler zurück. Um dies in Skripten zu behandeln, ist es ratsam, die Fehlermeldungen mit der Option `-q` zu unterdrücken oder zuerst die Existenz des Pfades mit `test -e` zu überprüfen.


Gleiche Kategorie Befehle