Shell-Spickzettel
Eine durchsuchbare, druckbare Bash-/Shell-Referenz — Navigation, Dateien, Pipes, Variablen, Schleifen, Bedingungen und praktische Einzeiler. Kostenlos.
Navigation
8pwd
Arbeitsverzeichnis ausgeben
ls -la
Alle Dateien mit Details auflisten
cd /path
Verzeichnis wechseln
cd -
Zum vorherigen Verzeichnis gehen
cd ~
Zum Home-Verzeichnis gehen
tree -L 2
Verzeichnisbaum anzeigen (2 Ebenen)
pushd / popd
Verzeichnis-Stack pushen und poppen
ls -lhS
Nach Größe, menschenlesbar auflisten
Dateien & Verzeichnisse
10touch file.txt
Leere Datei erstellen
mkdir -p a/b/c
Verschachtelte Verzeichnisse erstellen
cp -r src dest
Rekursiv kopieren
mv old new
Verschieben oder umbenennen
rm -rf dir
Rekursiv entfernen (Vorsicht!)
ln -s target link
Symbolischen Link erstellen
cat file.txt
Dateiinhalt ausgeben
head -n 20 / tail -n 20
Erste / letzte 20 Zeilen
tail -f log.txt
Datei beim Wachsen verfolgen
less file.txt
Datei seitenweise durchblättern
Suchen & finden
8grep 'pattern' file
Nach Muster in einer Datei suchen
grep -rin 'text' .
Rekursiv, Groß-/Kleinschreibung egal, nummeriert
find . -name '*.php'
Dateien nach Namen finden
find . -type f -mtime -1
Am letzten Tag geänderte Dateien
find . -size +10M
Dateien größer als 10 MB
which node
Ausführbare Datei lokalisieren
locate file.txt
Über indizierte Datenbank finden
grep -v 'skip' file
Treffer invertieren (Zeilen ausschließen)
Textverarbeitung
9wc -l file
Zeilen zählen
sort file | uniq -c
Sortieren, dann Duplikate zählen
cut -d',' -f1 file
CSV-Spalte extrahieren
awk '{print $1}' file
Erstes Feld ausgeben
sed 's/old/new/g' file
Text ersetzen
tr 'a-z' 'A-Z'
Zeichen übersetzen
diff a.txt b.txt
Zwei Dateien vergleichen
tee out.txt
In Datei und stdout schreiben
xargs -I{} cmd {}
Befehle aus Eingabe bauen
Pipes & Umleitung
9a | b
Ausgabe von a in b leiten
cmd > file
stdout umleiten (überschreiben)
cmd >> file
stdout umleiten (anhängen)
cmd 2> err.log
stderr umleiten
cmd > out 2>&1
Beide Streams umleiten
cmd < input.txt
stdin aus einer Datei lesen
cmd1 && cmd2
cmd2 nur ausführen, wenn cmd1 erfolgreich
cmd1 || cmd2
cmd2 nur ausführen, wenn cmd1 fehlschlägt
cmd &
Im Hintergrund ausführen
Berechtigungen & Eigentum
8chmod 755 file
rwx für Eigentümer, rx für andere setzen
chmod +x script.sh
Datei ausführbar machen
chmod -R 644 dir
Rekursive Berechtigungsänderung
chown user:group file
Eigentümer und Gruppe ändern
umask 022
Standard-Berechtigungsmaske
sudo cmd
Befehl als root ausführen
stat file
Datei-Metadaten anzeigen
ls -l file
Berechtigungsbits ansehen
Prozesse & System
9ps aux
Laufende Prozesse auflisten
top / htop
Live-Prozessmonitor
kill -9 PID
Prozess erzwungen beenden
pkill -f name
Prozesse nach Namen beenden
jobs / fg / bg
Hintergrund-Jobs verwalten
df -h
Festplattennutzung
du -sh dir
Größe eines Verzeichnisses
free -h
Speichernutzung
uname -a
System- und Kernel-Info
Variablen & Expansion
9NAME='value'
Variable setzen (keine Leerzeichen)
echo \"$NAME\"
Variable verwenden
export PATH=\"$PATH:/x\"
An Kindprozesse exportieren
$(command)
Befehlssubstitution
${VAR:-default}
Standard, wenn nicht gesetzt
$1 $2 $@
Positions-Argumente des Skripts
$?
Exit-Status des letzten Befehls
read -p 'Name: ' x
Benutzereingabe lesen
echo {1..5}
Klammer-Expansion
Skripting
9#!/usr/bin/env bash
Shebang-Zeile
set -euo pipefail
Sichererer Strict-Modus
if [ -f file ]; then ...; fi
Bedingung über einen Dateitest
[ \"$a\" = \"$b\" ]
String-Vergleich
for f in *.txt; do ...; done
Über Dateien iterieren
while read line; do ...; done < file
Datei Zeile für Zeile lesen
case \"$x\" in a) ...;; esac
Mehrwegverzweigung
function greet() { echo hi; }
Funktion definieren
trap cleanup EXIT
Handler beim Beenden ausführen
Kein Eintrag passt zu „:q“.
Brauchen Sie Hilfe?
Ein Problem mit diesem Tool gefunden? Sagen Sie es unserem Team.