2.6 KiB
2.6 KiB
Bash 01: Terminal-Navigation, Dateioperationen & Globbing 🐧
Willkommen zu Modul 01 des Linux Bash & DevOps Lehrpfads!
In diesem Modul lernst du die fundamentale Navigation im Unix-Dateisystem, das effiziente Erstellen und Verwalten von Verzeichnisbäumen sowie mächtiges Shell-Globbing (*, ?, {a,b}) kennen.
💡 1. Das Wichtigste in Kürze
Pfad-Navigation & Orientierung
pwd: Gibt das aktuelle Arbeitsverzeichnis (Print Working Directory) aus.cd /absoluter/pfad: Wechselt zu einem absoluten Pfad ausgehend vom Root/.cd relativ/zum/ort: Wechselt relativ zum aktuellen Ordner (.= aktuell,..= übergeordnet,~= Home-Verzeichnis,-= vorheriges Verzeichnis).ls -la: Zeigt alle Dateien inkl. versteckter (.) mit Berechtigungen, Owner und Dateigröße an.
Verzeichnisse & Dateien verwalten
mkdir -p ordner/sub1/sub2: Erstellt ganze Verzeichnispfade auf einmal ohne Fehler, falls sie schon existieren.touch datei.txt: Erstellt eine leere Datei oder aktualisiert den Zeitstempel.cp -r quelle/ ziel/: Kopiert Dateien und Ordner rekursiv.mv quelle ziel: Verschiebt oder benennt Dateien/Ordner um.rm -rf ordner/: Löscht Dateien und Verzeichnisse rekursiv und ohne Nachfrage (Vorsicht!).
Shell-Globbing & Brace Expansion
*: Entspricht beliebig vielen Zeichen (z.B.*.logfür alle Logdateien).?: Entspricht genau einem beliebigen Zeichen (z.B.data?.txtmatchtdata1.txt, nichtdata10.txt).[abc]/[0-9]: Matcht ein Zeichen aus der angegebenen Zeichenklasse.{a,b,c}: Brace Expansion generiert Kombinationen (z.B.touch file_{1..3}.txterzeugtfile_1.txt,file_2.txt,file_3.txt).
# Praxisbeispiel: Schnelle Projekt-Initialisierung
mkdir -p project/{src,tests,docs,config}
touch project/src/{app,utils}.js project/config/{dev,prod}.yaml
🎯 Aufgaben in aufgabe.sh
- TODO 1 (
erstelle_projektstruktur): Lege mitmkdir -pdie Ordnersrc/components,src/utils,docs/apiundbackup/logsan. - TODO 2 (
erstelle_testdateien): Erstelle die geforderten Komponenten-, Doku- und Konfigurationsdateien mittouch. - TODO 3 (
kopiere_konfigurationen): Kopiere alle*.yamlund*.logDateien mit Shell-Globbing in den Backup-Ordner. - TODO 4 (
verschiebe_dateien): Verschiebe alle Markdown-Dokumente (*.md) in das Zielverzeichnis. - TODO 5 (
bereinige_temporaere_dateien): Bereinige alte Logdateien und lösche den temporären Logs-Backup-Ordner mitrm -rf.
🧪 Tests ausführen
Führe im Terminal folgenden Befehl aus:
bash test_aufgabe.sh