Wer kennt nicht das Problem, dass sich nach einiger Zeit produktiver Arbeit vor dem Computer etliche Dateien im Home-Verzeichnis gesammelt haben? Ist der Punkt erreicht, an dem die Eingabe von ls eine so lange Liste von Dateien auf die Konsole schreibt, dass diese aus dem sichtbaren Bereich des Terminals heraus scrollt, muss man sich schon mit ls *more oder spezielleren Wildcards behelfen. Dann wird es nötig, die Datenflut in Verzeichnissen zu ordnen. Der Kreativität sind keine Grenzen gesetzt, und schnell erstellt man sich die Unterverzeichnisse Bilder, Schriftverkehr, Urlaub, Geschenkideen etc.
Entscheidungen treffen
Schließlich kommt der Tag, an dem man seine Urlaubsfotos abspeichern möchte. Aber wohin soll man sie nun stecken? Schließlich gibt es extra einen Ordner Bilder aber auch einen Ordner Urlaub, in dem man schon alle HTML-Seiten der letzten Urlaubsplanung und die eingescannten Vouchers und Verträge des Reiseveranstalters liegen. Doch halt, gab es da nicht auch einen Ordner Schriftverkehr? Fazit: Je ordentlicher man seine Unterordner anlegen möchte, umso mehr wird man sich in dem Dilemma verstricken, Ordner in anderen Ordnern erneut anzulegen, bis z. B. schließlich Unterordner Bilder in jedem Ordner Urlaub, Schriftverkehr, Plattensammlung etc. stecken.
Ähnlich schwierig ist dieses Problem für den Programmierer, der verschiedene Programmarten, deren Quellen, Lademodule, Logs, Standardkonfigurationen etc. für verschiedene Stände (meist Entwicklung, Test und Produktion) vorhalten muss. Der Baum in Abbildung 1 vermittelt einen guten Eindruck, wie schnell eine gut organisierte Programmierschmiede vor lauter Verzeichnisbäumchen im Walde steht. Die Dateiverteilung ist hier zwar gut strukturiert, dafür sind jedoch bei der täglichen Arbeit an der Konsole äußerst umfangreiche cd-Eingaben nötig.
Dazu folgendes Beispiel: Ein Programmierer erfährt von einem Fehler im Produktivsystem seines Programms CoolBrowser und schaut zuerst dort in den default-Einstellungen nach, ob sich hier etwas Verdächtiges verbirgt. Zum Vergleich oder Nachstellen des Fehlers möchte er sich nun die Einstellungen in der Entwicklungsversion vornehmen. Das ist allerdings mit
cd ../../../../../entw/web/CoolBrowser/work/defaults
ein langer Weg (siehe Abbildung 2), und heiße Finger sind die Folge, da ständig vom Entwicklungs- ins Produktionssystem gewechselt wird.
Die Abkürzung
Viel praktischer wäre es, wenn man auf direktem Wege dorthin gelangen könnte – schließlich ist in diesem Beispiel die einzige wesentliche Information für das cd-Kommando, dass statt prod nun entw im Pfad auftauchen soll. Genau diese Möglichkeit bietet das cd-Kommando bei IBMs zLinux (übrigens auch in den Unix-Versionen USS und AIX). Ruft man cd hier mit zwei Parametern auf, durchsucht es den aktuellen Pfad nach dem ersten Auftauchen des ersten Parameters, tauscht dort die Zeichenkette gegen den Inhalt des zweiten Parameters aus und wechselt schließlich in das so ermittelte Verzeichnis. Mit dem Aufruf
cd prod entw
gelangt man also viel schneller ans Ziel (siehe Abbildung 3).



