Unterschied absoluter/realtiver Pfad (i-nodes)?


29.01.2022, 14:39

Ist der Unterschied wirklich einfach nur, dass absolute Pfade im Wurzelverzeichnis beginnen und realtive Pfade im aktuellen Verzeichnis, und die Art es mit .../.../... anzugeben, dieselbe?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Ein relativer Pfad ist, wie der Name schon sagt, relativ von der aktuellen Position (Working Directory).

Ein absoluter Pfad beginnt, wie du schon erkannt hast, immer an der Wurzel. Bei Unix(artigen) Systemen wäre dies / bei Windows der Laufwerksbuchstabe (zum Beispiel C:).

Nehmen wir zum Beispiel eine Bash-Session. Damit befinde ich mich in meinem Home-Verzeichnis (/home/lezurex). In meinem Home-Verzeichnis habe ich einen Ordner mit dem Namen IchHasseMeineStudenten und FragenSieWenAnders.

Hiermit komme ich in FragenSieWenAnders:

# Relativ
cd FragenSieWenAnders
# Absolut
cd /home/lezurex/FragenSieWenAnders

Nun befinde ich mich also in diesem Ordner. Jetzt möchte ich aber in den Ordner IchHasseMeineStudenten.

# Relativ
cd ../IchHasseMeineStudenten
# Absolut
cd /home/lezurex/IchHasseMeineStudenten

.. ist hierbei ein Hardlink auf das darüber gelegene Verzeichnis. In jedem neuen Verzeichnis werden die Hardlinks . und .. erstellt, sodass diese Art der Navigation möglich wird.

Es gibt aber noch eine dritte Methode dafür:

# Relativ vom Home-Verzeichnis aus
cd ~/IchHasseMeineStudenten

Die Tilde ist hierbei eine Referenz auf das Home-Verzeichnis des aktuell eingeloggten Nutzers. Sie ist Teil der ausgeführten Shell, nicht des Dateisystems. Überall wird dies also nicht funktionieren.

Kurz gesagt also: Ein absoluter Pfad beginnt mit / (oder auf Windows mit einem Laufwerksbuchstaben), der Rest ist relativ.