Ü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.