Communitygithub.com

Terminal & CLI Skill

Referenz für die Arbeit im Linux-Terminal – vom grundlegenden Bash-Wissen bis zur Container-Orchestrierung und KI-Agenten-Ausführung.

Was ist Terminal & CLI Skill?

Diese Skill bietet eine umfassende Referenz für die Arbeit in einer Linux-Terminalumgebung, abgestimmt auf KI-Agenten wie Claude Code, Cursor und Codex. Sie deckt den gesamten Stack ab: von grundlegenden Bash-Befehlen (Pipes, Skripte, Dateisystem, Installation, Umgebungsvariablen) über Container-Tools (Podman, kubectl, Helm) bis hin zu HTTP-Anfragen mit curl und der Ausführung von KI-Agenten (aider-chat, claude CLI). Die Skill ist als zentrale Anlaufstelle gedacht, um schnelle, zuverlässige Terminal-Operationen durchzuführen – sei es zur Code-Ausführung, Fehlersuche oder Systemverwaltung. Für detaillierte Befehlssammlungen wird auf spezifische Referenzdateien (`references/bash.md`, `references/containers.md` usw.) verwiesen, die bei Bedarf geladen werden können.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add roebi/agent-skills

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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/:

ThemaReferenzdatei
Bash-Grundlagen: Pipes, Skripte, Dateisystem, Installation, Umgebungsvariablenreferences/bash.md
Container: Podman, Kubernetes (kubectl), Helmreferences/containers.md
HTTP-Anfragen: curlreferences/curl.md
KI-Agenten: aider-chat, claude CLIreferences/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/bash beginnen
  • set -euo pipefail fü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-Muster
  • references/containers.md — Podman, kubectl, Helm
  • references/curl.md — curl für HTTP-Anfragen
  • references/agents.md — aider-chat und claude CLI

Verwandte Skills