Einführung
Stellen Sie sich vor, Sie haben ein unordentliches Zimmer mit Hunderten verstreut herumliegenden Papieren.
- Einige davon sind Hausaufgaben (
math_hw.txt,english_hw.txt). - Einige sind Fotos (
pic1.png,pic2.png). - Einige sind Abfall (
temp_1,temp_2).
Wenn Sie alle Fotos in eine Kiste legen möchten, sammeln Sie sie nicht einzeln auf. Sie sagen: „Nehmen Sie alles, was wie ein Foto aussieht.“
Unter Linux verwenden wir dafür Platzhalter (auch Globbing genannt). Sie funktionieren wie Jokerkarten in einem Kartenspiel: Sie können für andere Zeichen stehen.
Dieses Konzept ist leistungsstark, weil Sie mit Mustern statt mit einzelnen Namen arbeiten können. Auf realen Systemen können Dutzende, Hunderte oder Tausende passende Dateien vorhanden sein. Die mustergesteuerte Auswahl ist einer der Gründe, warum sich Shell-Aufgaben so gut skalieren lassen.
In diesem Labor lernen Sie zwei leistungsstarke Symbole kennen:
- Das Sternchen (
*): Steht für beliebige Zeichen (unabhängig von deren Anzahl). - Das Fragezeichen (
?): Steht für genau ein einzelnes Zeichen.
Mehrere Dateien auswählen (*)
Der Platzhalter * ist der bekannteste Platzhalter. Er bedeutet: „Beliebig viele Zeichen finden (einschließlich null Zeichen).“
Sehen wir uns an, was sich in unserem unordentlichen Ordner befindet:
ls
Damit listen Sie Dateien auf. Stellen Sie sich nun vor, Sie möchten nur die Textdateien auflisten, also Dateien, die mit .txt enden.
Statt ls notes.txt readme.txt report.txt einzugeben, geben Sie einfach *.txt ein.
Das bedeutet: „Finde jede Datei, die mit .txt endet.“
ls *.txt
Ausgabe:
notes.txt readme.txt report.txt
Die Shell hat *.txt geprüft, das Muster auf alle passenden Textdateien erweitert und image.png sowie andere Dateien ignoriert. Sie haben die Liste damit gefiltert!
Dieser Satz enthält ein wichtiges Konzept: Die Shell führt die Mustererweiterung aus, bevor der Befehl ls gestartet wird. Anders gesagt erhält ls häufig bereits eine fertige Liste von Dateinamen und nicht das ursprüngliche Muster *.txt. Das erklärt, warum Platzhalter mit vielen verschiedenen Befehlen funktionieren.
Dateien mit * verschieben
Nun führen wir eine nützliche Aufgabe aus. Wir haben mehrere Datendateien: data_2025.csv, data_2024.csv, data_old.log.
Wir möchten aufräumen. Verschieben Sie alle Dateien, die mit data_ beginnen, in einen Sicherungsordner.
Erstellen Sie zuerst den Ordner:
mkdir backup
Verwenden Sie nun den Platzhalter, um alle Dateien auf einmal zu verschieben. Das Muster data_* findet alles, was mit data_ beginnt.
mv data_* backup/
Damit sagen Sie Linux: „Wenn eine Datei mit data_ beginnt, legen Sie sie in die Sicherungskiste.“
Hier zeigen sich die praktischen Vorteile von Platzhaltern. Statt für jede passende Datei denselben Befehl zu wiederholen, formulieren Sie die Namensregel einmal und lassen die Shell das Muster für Sie erweitern.
Überprüfen Sie, ob die Dateien aus dem aktuellen Verzeichnis verschwunden sind:
ls
Prüfen Sie anschließend, ob sie sicher angekommen sind:
ls backup
Erfolg! Sie haben drei Dateien mit einem einzigen Befehl verschoben.
Ein einzelnes Zeichen auswählen (?)
Das Sternchen * ist gierig – es erfasst alles. Manchmal müssen Sie genauer vorgehen.
Der Platzhalter für das Fragezeichen ? steht für genau ein Zeichen.
Dadurch ist ? präziser als *. Es eignet sich, wenn Dateinamen einem vorhersehbaren Format folgen und Sie vermeiden möchten, versehentlich längere Namen als vorgesehen zu erfassen.
Wir haben Dateien mit den Namen temp_1, temp_2 und temp_a.
temp_*würdetemp_1UNDtemp_very_long_namefinden.temp_?findet eine Datei nur dann, wenn sich nach dem Unterstrich genau ein Zeichen befindet.
Testen wir das Muster, bevor wir Dateien löschen (das ist immer eine gute Gewohnheit!):
ls temp_?
Treffer: temp_1, temp_2, temp_a.
Da wir nun sicher sind, löschen wir die Dateien:
rm temp_?
Überprüfen Sie, ob sie verschwunden sind:
ls
Diese Vorgehensweise ist sehr nützlich, wenn Sie Dateien mit einer bestimmten Namensstruktur auswählen möchten.
Die Sicherheitsgewohnheit aus diesem Schritt sollten Sie sich merken: Prüfen Sie ein Muster zunächst mit einem nicht destruktiven Befehl wie ls, bevor Sie es mit rm oder mv verwenden. Musterverarbeitung ist leistungsstark. Deshalb ist es sinnvoll, die Treffer vor der eigentlichen Aktion zu überprüfen.
Zusammenfassung
Sie haben die Möglichkeiten der mustergesteuerten Auswahl kennengelernt.
*(Sternchen): Der Platzhalter „Alles finden“. Ideal, um alle Dateien eines Typs (*.png) oder alle Dateien einer Serie (day_*) auszuwählen.?(Fragezeichen): Der Platzhalter „Ein einzelnes Zeichen“. Ideal für eine präzise Auswahl (file_?.txt).
Damit ist Modul 2 abgeschlossen. Sie wissen nun, wie Sie:
- Im Dateibaum navigieren (
pwd,cd,ls). - Dateien und Ordner erstellen (
touch,mkdir). - Dateien kopieren und verschieben (
cp,mv). - Dateien und Ordner löschen (
rm,rmdir). - Dateien stapelweise auswählen (
*,?).
Sie sind bereit für Modul 3. Dort werden wir diese Dateien öffnen und den darin enthaltenen Text tatsächlich lesen und bearbeiten!



