Was macht Terminal & CLI Skill?
Referenz für die Arbeit im Linux-Terminal – vom grundlegenden Bash-Wissen bis zur Container-Orchestrierung und KI-Agenten-Ausführung.
So verwenden Sie diese Skill
Diese Datei deckt die gängigsten Muster ab. Für detaillierte Befehlsreferenzen
laden Sie bei Bedarf die entsprechende Datei aus references/:
| Thema | Referenzdatei |
|---|---|
| Bash-Grundlagen: Pipes, Skripte, Dateisystem, Installation, Umgebungsvariablen | references/bash.md |
| Container: Podman, Kubernetes (kubectl), Helm | references/containers.md |
| HTTP-Anfragen: curl | references/curl.md |
| KI-Agenten: aider-chat, claude CLI | references/agents.md |
1. Einen Bash-Befehl ausführen
command [options] [arguments]
# Sequentiell ausführen – bei Fehler abbrechen
cmd1 && cmd2 && cmd3
# Unabhängig vom Fehlerstatus ausführen
cmd1; cmd2; cmd3
# Ausgabe in eine Variable erfassen
OUTPUT=$(command)
# stdout / stderr / beides umleiten
command > out.txt
command 2> err.txt
command &> all.txt
# Alle Ausgaben verwerfen
command > /dev/null 2>&1
2. Prüfen, ob ein Tool existiert
type -a tool_name # Alle Fundorte des Tools
apropos keyword # Befehle finden, die zu einem Schlüsselwort passen
which tool_name # Erstes Binary im PATH
whereis tool_name # Binary, Quelle und Man-Page-Orte
3. Kombinieren mit &&
# Nur fortfahren, wenn der vorherige Befehl erfolgreich war
sudo apt update && sudo apt upgrade -y
# Mehrere Schritte sicher verketten
mkdir -p build && cd build && cmake ..
4. Pipes mit |
# stdout eines Befehls als stdin an den nächsten übergeben
cmd1 | cmd2 | cmd3
# Häufige Muster
ls -la | grep ".conf"
ps aux | grep nginx
journalctl -u myservice | grep ERROR | tail -20
cat file.txt | wc -l
5. Inhalte mit cat lesen
cat file.txt # Gesamte Datei auf stdout
cat file1.txt file2.txt # Mehrere Dateien zusammenfügen
head -n 20 file.txt # Erste 20 Zeilen
tail -n 20 file.txt # Letzte 20 Zeilen
tail -f /var/log/app.log # Live-Log-Ausgabe verfolgen
less file.txt # Seitierte Ansicht (q zum Beenden)
grep "pattern" file.txt # Zeilen, die auf das Muster passen
grep -r "pattern" ./dir/ # Rekursive Suche im Verzeichnis
grep -n "pattern" file.txt # Mit Zeilennummern
grep -i "pattern" file.txt # Groß-/Kleinschreibung ignorieren
6. Ergebnisse sortieren
sort file.txt # Alphabetisch (aufsteigend)
sort -r file.txt # Umgekehrte Reihenfolge
sort -n file.txt # Numerisch sortieren
sort -k2 file.txt # Nach Spalte 2 sortieren
sort -t: -k3 -n /etc/passwd # Benutzerdefinierter Trenner (:), Spalte 3, numerisch
ls -la | sort -k5 -n # ls-Ausgabe nach Dateigröße (Spalte 5) sortieren
7. Einzigartige Ergebnisse
# uniq entfernt nur *aufeinanderfolgende* Duplikate – immer zuerst sortieren
sort file.txt | uniq # Entfernen von Duplikaten
sort file.txt | uniq -c # Vorkommen zählen
sort file.txt | uniq -d # Nur Duplikate anzeigen
sort file.txt | uniq -u # Nur Zeilen anzeigen, die einmal vorkommen
# Typische Pipeline: Fehlertypen in einem Log zählen
cat app.log | grep ERROR | sort | uniq -c | sort -rn
8. Skripte mit Heredoc schreiben und ausführen
# Eine Skriptdatei inline erstellen
cat << 'EOF' > myscript.sh
#!/bin/bash
set -euo pipefail # Bei Fehler, nicht gesetzter Variable oder Pipe-Fehler abbrechen
echo "Heute: $(date +%Y-%m-%d)"
for i in 1 2 3; do
echo "Schritt $i"
done
EOF
chmod +x myscript.sh
./myscript.sh
# Oder direkt ohne Datei ausführen
bash << 'EOF'
echo "Inline-Ausführung"
ls -la /tmp
EOF
Skript-Best-Practices:
- Immer mit
#!/bin/bashbeginnen set -euo pipefailfür sichere Standardeinstellungen verwenden- Variablen immer in Anführungszeichen setzen:
"$VAR"nicht$VAR $(...)anstelle von Backticks verwenden
9. Dateisystem – Kurzreferenz
# Navigieren & anzeigen
pwd && ls -lah # Wo bin ich + was ist hier
tree -L 2 # Verzeichnisbaum (2 Ebenen tief)
find /path -name "*.log" # Nach Namen suchen
du -sh /path # Größe eines Verzeichnisses
df -h # Speichernutzung aller Einhängepunkte
# Erstellen / Kopieren / Verschieben / Löschen
mkdir -p /path/to/dir # Mit Elternverzeichnissen erstellen
cp -r src/ dst/ # Verzeichnis kopieren
mv src dst # Verschieben oder umbenennen
rm -rf dir/ # Rekursiv löschen (endgültig)
# Berechtigungen & Besitzer
chmod +x file # Ausführbar machen
chmod 644 file # rw-r--r--
chown user:group file # Besitzer ändern
# Links
ln -s /target /link # Symbolischer Link
readlink -f /link # Symlink zur echten Pfadauflösung
# Einhängepunkte
mount # Alle aktiven Einhängepunkte auflisten
lsblk # Blockgerätebaum
findmnt # Einhängepunktbaum
→ Vollständige Dateisystem-Referenz: references/bash.md
10. Installieren & Aktualisieren – Kurzreferenz
# APT
sudo apt update && sudo apt upgrade -y
sudo apt install -y package-name
# pip (Python)
pip install package --break-system-packages
# npm (Node.js)
npm install -g package-name
→ Vollständige Installationsreferenz (snap, aus Quelle, pip-Optionen): references/bash.md
11. Hilfe zu einem Befehl erhalten
command --help # Inline-Hilfe (am schnellsten)
man command # Vollständige Handbuchseite
apropos keyword # Manpage-Zusammenfassungen durchsuchen
whatis command # Einzeilige Beschreibung
info command # GNU-Info-Seiten (für GNU-Tools)
help cd # Hilfe für Shell-interne Befehle
12. Umgebungsvariablen – Kurzreferenz
export VAR="value" # Für aktuelle Shell und Unterprozesse setzen
echo $VAR # Variable lesen
unset VAR # Variable entfernen
env # Alle Umgebungsvariablen auflisten
VAR=value command # Nur für einen einzelnen Befehl setzen
→ Persistente Variablen, .env-Dateien laden: references/bash.md
Detaillierte Referenzen
Laden Sie diese Dateien, wenn Sie eine vollständige Befehlsabdeckung benötigen:
references/bash.md— vollständiges Dateisystem, Installieren/Aktualisieren, Umgebungsvariablen, Skripting-Musterreferences/containers.md— Podman, kubectl, Helmreferences/curl.md— curl für HTTP-Anfragenreferences/agents.md— aider-chat und claude CLI