Kodokon kodokon.com

Relative Pfade, absolute Pfade und Platzhalter

Zeige mit einem absoluten oder relativen Pfad auf jede beliebige Datei und wirke auf mehrere Dateien gleichzeitig.

8 Min. · 3 Fragen

Diese Lektion in Kodokon öffnen

Es gibt zwei Arten zu sagen, wo eine Datei liegt, genau wie beim Angeben einer Adresse. Der absolute Pfad ist die vollständige Postanschrift: Er beginnt an der Wurzel und funktioniert von überall aus. Unter macOS und Linux beginnt er immer mit einem Schrägstrich /, zum Beispiel /home/yoann/my-project/index.html. Unter Windows beginnt er mit einem Laufwerksbuchstaben, zum Beispiel C:\Users\yoann\my-project.

Der relative Pfad dagegen ist eher eine Angabe wie "zweite Tür links": Er geht von dem Ordner aus, in dem du gerade bist. Drei Symbole reichen, um alles auszudrücken. Der Punkt . bedeutet den aktuellen Ordner. Die zwei Punkte .. bedeuten den übergeordneten Ordner. Die Tilde ~ bedeutet deinen Home-Ordner. Du verkettest sie mit Schrägstrichen zu einer Route.

BASH
cd /home/yoann/my-project
cd ~/my-project
cd ../other-project
cat ./src/index.html
cp ../photo.jpg .
Derselbe Ordner, einmal absolut und einmal relativ erreicht, und eine Kopie in den aktuellen Ordner.

Wenn du auf zehn Dateien einwirken musst, wirst du nicht zehn Befehle tippen. Die Shell erkennt Platzhalter, auch Muster genannt: Sonderzeichen, die für ein oder mehrere unbekannte Zeichen stehen. Der Stern * steht für eine beliebige Zeichenfolge, auch für gar keine. Das Fragezeichen ? steht für genau ein Zeichen. Eckige Klammern [ ] akzeptieren eines der Zeichen, die darin aufgezählt sind.

BASH
ls *.html
ls src/*.css
ls photo-?.jpg
ls report-202[45].pdf
cp *.txt archive/
Jede .html-Datei, die .css-Dateien in einem Unterordner, photo-1 bis photo-9, die Berichte von 2024 und 2025.

Ein letztes Detail, das viel Ärger erspart: Unter macOS und Linux wird bei Dateinamen die Groß- und Kleinschreibung unterschieden. Photo.jpg und photo.jpg sind zwei verschiedene Dateien, und ls photo* findet die erste nicht. Windows macht diesen Unterschied nicht. Ein Projekt, das auf deinem Windows-Rechner läuft, kann also auf dem Linux-Server scheitern, der es hostet, einzig wegen eines Großbuchstabens.

Wissenscheck

Stelle sicher, dass du die wichtigsten Punkte dieser Lektion behalten hast.

  1. Womit beginnt unter macOS oder Linux ein absoluter Pfad immer?
    • Mit einem Punkt .
    • Mit einem Schrägstrich /
    • Mit einer Tilde ~
    • Mit dem Namen des aktuellen Ordners
  2. Worauf passt das Muster *.html?
    • Auf jede Datei, deren Name auf .html endet
    • Nur auf die Datei, die genau *.html heißt
    • Auf jede Datei im Ordner, egal welchen Typs
  3. Du willst jede .tmp-Datei gefahrlos löschen. Welche Vorsichtsmaßnahme triffst du?
    • rm *.tmp ausführen und dann mit ls prüfen
    • Zuerst ls *.tmp ausführen, um zu sehen, was gelöscht wird
    • Keine, die Shell fragt immer nach einer Bestätigung