Pfadname
# Pfadname

Ein Pfadname (auch Pfad) ist eine Zeichenfolge, die eine Datei, ein Verzeichnis, oder je nach Plattform auch andere Ressourcen auf einem Computersystem, zum Beispiel Gerätedateien unter Unix, bezeichnet.

## Aufbau

Je nach Betriebssystem besteht ein Pfadname aus folgenden Elementen:

* einer Laufwerks- oder Datenträgerbezeichnung
* einer Liste von Verzeichnissen bzw. (Unter-)Verzeichnissen
* einem Dateinamen

Fast alle modernen Betriebssysteme sind darauf ausgelegt, Daten (und damit Dateien und Verzeichnisse) auf mehreren physikalischen Datenträgern zu verwalten. Bei der Adressierung der Daten werden unterschiedliche Wege beschritten:

* Unter Windows beispielsweise wird einem Pfad ein Kennbuchstabe für das entsprechende Laufwerk, in dem sich der Datenträger befindet, vorangestellt.

    Beispiel für einen Pfadnamen unter Windows: C:\privat\testdata\beispiel.txt
    Hier bezeichnet C das Laufwerk, auf dem die Datei liegt. In der obersten Ebene des Dateibaumes auf dieser Festplatte gibt es ein Verzeichnis privat, darunter eines mit Namen testdata, und dort ist die Datei beispiel.txt zu finden.
* Unter Unix und Unix-Derivaten (z. B. Linux, NetBSD) gibt es ein „Wurzelverzeichnis“ (root directory), von dem ausgehend rein verzeichnisorientiert adressiert wird. Das Wurzelverzeichnis liegt in der Regel auf dem Datenträger, von dem der Systemstart erfolgt. Das Betriebssystem unterstützt die Einbindung der weiteren verfügbaren Datenträger dann durch Verwaltung von Einhängepunkten, englisch mount points.

    Beispiel für einen Dateinamen unter Unix: /home/benutzer/beispieldatei
    Hier gibt es im Wurzelverzeichnis ein Verzeichnis home, darunter benutzer, und dort liegt beispieldatei.
    Aus der Unix-Pfadangabe alleine ist nicht ersichtlich, auf welchem physikalischen Datenträger beispieldatei liegt.

## Absolute und relative Pfadnamen

Aus Betriebssystemsicht ist ein Pfadname nur unmissverständlich, wenn er wie oben beschrieben vollständig angegeben wird. Um Bedienung und Programmentwicklung zu vereinfachen ist es auf den meisten Systemen aber möglich, mit sogenannten relativen Pfadnamen zu arbeiten. Dabei werden einzelne Komponenten eines Pfadnamens weggelassen, z. B. die Laufwerksangabe oder ein Teil der vorangestellten Verzeichnisliste.

Beispiele für relative Pfadnamen:

* Windows: subdir\testfile oder .\autoexec.bat oder ..\daten\tabelle1.xls
* Unix: ../lib/libXYZ.a

Als Bezugspunkte für relative Pfadnamen wird seitens des Betriebssystems für jedes laufende Programm das aktuelle Laufwerk (nur Windows/Apple) sowie das aktuelle Verzeichnis verwaltet. Unvollständige, „relative“ Pfadangaben werden dann ausgehend von den aktuellen Werten interpretiert.

Beispiel (Windows):

* Aktuelles Laufwerk ist C:
* Aktuelles Verzeichnis ist \privat\texte

    Ein Zugriff auf den relativen Pfad ..\daten\tabelle1.xls wird dann ausgehend von C:\privat\texte interpretiert als C:\privat\texte\..\daten\tabelle1.xls. Die Zeichenfolge .. bedeutet einen Wechsel ins übergeordnete Verzeichnis. Damit lautet der aufgelöste, vereinfachte Pfadname dann C:\privat\daten\tabelle1.xls. Ebenso kann man in diesem Beispiel mit .\text1.txt den Pfad C:\privat\texte\text1.txt aufrufen, da . immer für das aktuelle Verzeichnis steht.
    Anstelle des Laufwerksbuchstabens ist es heute auch üblich geworden, die Namen im UNC-Format anzugeben und anstelle des Laufwerksbuchstabens auch in Windows-Systemen den Servernamen anzugeben. Siehe auch Uniform Naming Convention.

## Standardpfad

Je nach Art und Zweck der zu speichernden Dateien erfolgt ihre Ablage standardmäßig an bestimmten Stellen innerhalb hierarchisch strukturierter Verzeichnisbäume. Siehe beispielsweise Initialisierungsdatei#Speicherort.

