🐧 Linux Bash & Cloud DevOps

Bash 01: Terminal-Navigation, Dateioperationen & Globbing

Beherrsche den Linux-Dateibaum, lerne blitzschnelle Pfad-Navigation und automatisiere Dateioperationen mit Wildcards und Brace Expansion.

🧭 1. Der Unix-Dateibaum & Pfad-Navigation

In Unix gibt es keine Laufwerksbuchstaben (wie C: oder D:). Alles entspringt dem Root-Verzeichnis / (Single Root Tree). Wir unterscheiden strikt zwischen absoluten und relativen Pfaden:

# Wo bin ich?
pwd                        # Ausgabe: /home/devops/projects

# Relative vs. Absolute Navigation:
cd /var/log/nginx          # Absoluter Pfad: Beginnt immer mit '/'
cd ../../etc               # Relativer Pfad: Zwei Ebenen hoch, dann in 'etc'
cd ~                       # Wechselt ins Home-Verzeichnis (/home/user)
cd -                       # Wechselt zum vorherigen Verzeichnis zurück

# Detailliertes Listing mit Berechtigungen und Dateigrößen:
ls -lah                    # -l: Long Format, -a: Versteckte Dateien, -h: Human-readable (KB/MB)

📁 2. Dateisystem-Operationen & Mächtiges Globbing

Als DevOps-Ingenieur erstellst, kopierst und reorganisierst du Konfigurationsdateien im Sekundentakt. Die Shell bietet hierfür mächtige Werkzeuge:

# 🎯 1. Verzeichnisse verschachtelt anlegen:
mkdir -p app/{config,src/{models,views},logs,tests}

# 🎯 2. Dateien mit Brace Expansion massenweise erstellen:
touch app/src/models/{user,order,payment}.py app/config/{dev,staging,prod}.yaml

# 🎯 3. Shell-Globbing (Wildcards):
cp app/config/*.yaml /backup/configs/       # Alle .yaml Dateien kopieren
mv app/logs/app_2026-??.log /archive/logs/  # Matcht genau 2 Zeichen für den Monat (z.B. 01..12)
rm -rf /tmp/build_cache/                    # Rekursives Löschen ohne Bestätigung
🏢 Didaktische Analogie: Das Logistikzentrum des Betriebssystems

Der Dateibaum: Stell dir das Dateisystem wie ein riesiges, strukturiertes Hochregallager vor. / ist der Haupteingang. mkdir -p baut dir sofort eine ganze Gasse mit Fachböden auf.

Globbing (* und {a,b}): Anstatt jedes Paket einzeln mit der Hand zu scannen, hältst du eine Schablone hoch: *.yaml greift automatisch alle blauen Kisten aus dem Regal, während {dev,prod} mit einem Handgriff zwei vorgefertigte Etiketten druckt!

📑 3. Cheat-Sheet: Navigation & Wildcards

Befehl / Muster Beispiel Bedeutung & DevOps-Einsatz
mkdir -p <pfad> mkdir -p /srv/app/releases Erstellt Elternverzeichnisse automatisch ohne Fehler
cp -r <src> <dst> cp -r ./templates /etc/nginx/ Kopiert ganze Verzeichnisbäume rekursiv
mv <src> <dst> mv old.env .env.backup Verschiebt oder benennt Dateien atomar um
rm -rf <pfad> rm -rf ./temp_workspace Löscht rekursiv und erzwingt Löschen ohne Prompt
* (Wildcard) rm -f *.log Matcht 0 oder beliebig viele Zeichen
? (Single Char) ls node_v?.log Matcht exakt ein einziges Zeichen
{a,b,c} touch {app,db}_{1..3}.conf Brace Expansion zur raschen Permutationserstellung

🎯 Aufgaben & Checkliste in aufgabe.sh

💡 DevOps Pro-Tipp: Quoting in Shell-Skripten

Setze Variablen bei Pfadangaben in Bash-Skripten stets in doppelte Anführungszeichen: "$basis_dir/src/components". Das verhindert gefürchtete Word Splitting Fehler, falls ein Verzeichnisname einmal Leerzeichen enthält!

💻 In Web-IDE öffnen → Weiter zu Bash 02 →