Bash-Befehle: Linux-Spickzettel
Bash-Befehle für den Alltag im Terminal, nach Aufgaben gruppiert: Dateien, Text, Rechte, Prozesse, Netzwerk und Archive. Mit Suche und Kopieren auf Klick.
Navigation und Dateien
| Befehl | Wirkung | Kopieren |
|---|---|---|
pwd | Aktuelles Verzeichnis anzeigen | |
ls -lah | Dateien mit Details, versteckten Dateien und lesbaren Größen | |
cd ~ | Ins Home-Verzeichnis wechseln | |
cd - | Ins vorherige Verzeichnis wechseln | |
mkdir -p projekt/src/lib | Verzeichnis samt Zwischenordnern anlegen | |
touch datei.txt | Leere Datei anlegen oder Zeitstempel aktualisieren | |
cp -r quelle/ ziel/ | Ordner rekursiv kopieren | |
mv alt.txt neu.txt | Verschieben oder umbenennen | |
rm datei.txt | Datei löschen (ohne Papierkorb) | |
rm -r ordner/ | Ordner samt Inhalt löschen (Vorsicht) | |
ln -s /pfad/ziel link | Symbolischen Link anlegen | |
find . -name "*.log" | Dateien nach Namen suchen | |
find . -type f -mtime -7 | Dateien, die in den letzten 7 Tagen geändert wurden | |
du -sh * | Größe jedes Eintrags im Ordner | |
df -h | Freier Speicher je Laufwerk | |
file datei | Dateityp erkennen | |
stat datei | Details wie Rechte und Zeitstempel |
Text ansehen und bearbeiten
| Befehl | Wirkung | Kopieren |
|---|---|---|
cat datei.txt | Inhalt ausgeben | |
less datei.txt | Seitenweise lesen (q beendet) | |
head -n 20 datei.txt | Erste 20 Zeilen | |
tail -n 50 datei.txt | Letzte 50 Zeilen | |
tail -f /var/log/syslog | Datei live mitlesen | |
grep -rn "suchtext" . | Rekursiv mit Zeilennummern suchen | |
grep -i "fehler" app.log | Suche ohne Groß-/Kleinschreibung | |
grep -v "debug" app.log | Zeilen ohne Treffer ausgeben | |
wc -l datei.txt | Zeilen zählen | |
sort datei.txt | uniq -c | sort -rn | Häufigkeit gleicher Zeilen, absteigend | |
cut -d, -f1 daten.csv | Erste Spalte einer CSV-Datei | |
awk '{print $1}' access.log | Erstes Feld jeder Zeile ausgeben | |
sed 's/alt/neu/g' datei.txt | Text ersetzen und ausgeben | |
sed -i 's/alt/neu/g' datei.txt | Direkt in der Datei ersetzen (GNU sed) | |
tr 'a-z' 'A-Z' < datei.txt | In Großbuchstaben umwandeln | |
diff -u alt.txt neu.txt | Unterschiede zweier Dateien | |
befehl | tee ausgabe.txt | Ausgabe anzeigen und zugleich speichern | |
find . -name "*.tmp" -print0 | xargs -0 rm | Gefundene Dateien an einen Befehl übergeben |
Rechte und Benutzer
| Befehl | Wirkung | Kopieren |
|---|---|---|
chmod +x skript.sh | Ausführbar machen | |
chmod 644 datei.txt | Lesen für alle, Schreiben nur für Besitzer | |
chmod 755 ordner/ | Ordner für alle lesbar und betretbar | |
chown nutzer:gruppe datei | Besitzer und Gruppe ändern | |
sudo befehl | Befehl mit Root-Rechten ausführen | |
whoami | Aktuellen Benutzer anzeigen | |
id | Benutzer- und Gruppen-IDs |
Prozesse
| Befehl | Wirkung | Kopieren |
|---|---|---|
ps aux | Alle laufenden Prozesse | |
top | Prozesse live nach Last (htop ist komfortabler) | |
kill 1234 | Prozess beenden lassen (SIGTERM) | |
kill -9 1234 | Prozess sofort beenden (SIGKILL) | |
pkill -f node | Prozesse nach Namen beenden | |
befehl & | Im Hintergrund starten | |
jobs | Hintergrundjobs der Shell | |
fg %1 | Job in den Vordergrund holen | |
nohup befehl & | Weiterlaufen lassen nach Abmelden |
Netzwerk
| Befehl | Wirkung | Kopieren |
|---|---|---|
curl -I https://example.com | Nur die Antwort-Header abrufen | |
curl -o datei.zip https://example.com/datei.zip | Datei herunterladen | |
ping -c 4 example.com | Erreichbarkeit prüfen, 4 Pakete | |
ss -tulpn | Offene Ports und lauschende Prozesse (ersetzt netstat) | |
ip a | Netzwerkschnittstellen und Adressen | |
dig example.com MX +short | DNS-Einträge abfragen | |
ssh nutzer@server | Per SSH anmelden | |
scp datei.txt nutzer@server:/pfad/ | Datei per SSH kopieren | |
rsync -avz ordner/ nutzer@server:/ziel/ | Ordner synchronisieren, nur Änderungen | |
nc -zv example.com 443 | Prüfen, ob ein Port erreichbar ist |
Archive
| Befehl | Wirkung | Kopieren |
|---|---|---|
tar -czf archiv.tar.gz ordner/ | Ordner als tar.gz packen | |
tar -xzf archiv.tar.gz | tar.gz entpacken | |
tar -tzf archiv.tar.gz | Inhalt anzeigen, ohne zu entpacken | |
zip -r archiv.zip ordner/ | ZIP-Archiv erstellen | |
unzip archiv.zip -d ziel/ | ZIP in einen Ordner entpacken | |
gzip datei.txt | Datei komprimieren (gunzip entpackt) |
System und Shell
| Befehl | Wirkung | Kopieren |
|---|---|---|
uname -a | Kernel und System | |
uptime | Laufzeit und Last | |
free -h | Arbeitsspeicher | |
history | Befehlsverlauf | |
which python3 | Pfad eines Programms | |
man befehl | Handbuchseite öffnen | |
alias ll='ls -lah' | Kurzbefehl anlegen | |
export API_URL=https://example.com | Umgebungsvariable setzen | |
echo $PATH | Suchpfad anzeigen | |
env | Alle Umgebungsvariablen | |
crontab -e | Zeitgesteuerte Aufgaben bearbeiten | |
systemctl status nginx | Status eines Dienstes | |
journalctl -u nginx -f | Protokoll eines Dienstes live |
Umleitung und Verknüpfung
| Befehl | Wirkung | Kopieren |
|---|---|---|
befehl > datei.txt | Ausgabe in Datei schreiben (überschreibt) | |
befehl >> datei.txt | Ausgabe anhängen | |
befehl > log.txt 2>&1 | Ausgabe und Fehler in eine Datei | |
befehl 2>/dev/null | Fehlermeldungen verwerfen | |
befehl1 | befehl2 | Ausgabe an den nächsten Befehl weitergeben (Pipe) | |
befehl1 && befehl2 | Zweiten nur bei Erfolg ausführen | |
befehl1 || befehl2 | Zweiten nur bei Fehler ausführen | |
echo "Heute: $(date +%F)" | Ausgabe eines Befehls einsetzen | |
sudo !! | Letzten Befehl mit sudo wiederholen | |
for f in *.jpg; do echo "$f"; done | Schleife über Dateien |
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Bash im Terminal
Dieser Bash Spickzettel enthält 90 Bash-Befehle für die tägliche Arbeit im Terminal: Dateien verwalten, Text durchsuchen, Rechte setzen, Prozesse beenden, Netzwerk prüfen und Archive packen. Die meisten Linux Befehle funktionieren in jeder gängigen Shell, also auch in zsh auf dem Mac und in der Git Bash oder WSL unter Windows.
Einige Shell Befehle verhalten sich je nach System unterschiedlich. sed -i braucht unter macOS ein zusätzliches leeres Argument (sed -i '' …), ss und ip gibt es nur unter Linux, auf dem Mac nutzen Sie netstat und ifconfig. Befehle wie rm -r oder kill -9 kennen keinen Papierkorb und keine Rückfrage; prüfen Sie Pfade vorher mit ls oder echo.
Die Stärke der Bash liegt im Verknüpfen: Mit der Pipe | geht die Ausgabe eines Befehls direkt an den nächsten, etwa grep nach sort nach uniq -c. Viele Terminal Befehle zeigen mit --help eine Kurzhilfe, man öffnet das vollständige Handbuch. Als Bash Cheat Sheet lässt sich die Seite durchsuchen und jeder Befehl mit einem Klick kopieren.
Anleitung: Bash-Befehle in 3 Schritten
- Im Feld „Befehl oder Aufgabe suchen“ einen Befehl wie grep oder eine Aufgabe wie „entpacken“ eingeben.
- In der gefilterten Liste die passende Gruppe ansehen, etwa Text ansehen und bearbeiten, Rechte und Benutzer oder Netzwerk.
- Mit „Kopieren“ den Befehl übernehmen und Platzhalter wie datei.txt oder nutzer@server im Terminal anpassen.
Typische Anwendungsfälle
- Server-Administration: Schnell nachschlagen, wie man ein Log live mitliest oder offene Ports anzeigt.
- Einstieg in Linux: Die wichtigsten Befehle für Dateien, Rechte und Prozesse an einem Ort finden.
- Skripte schreiben: Umleitungen, Pipes und Verknüpfungen mit && und || nachschlagen.
Häufige Fragen
Was ist der Unterschied zwischen Bash und Shell?
Shell ist der Oberbegriff für die Kommandozeile eines Systems. Bash ist eine bestimmte Shell und auf vielen Linux-Systemen voreingestellt; macOS nutzt heute zsh, die die meisten Bash-Befehle ebenso versteht.
Wie finde ich eine Datei im Terminal?
Mit find . -name "name*" ab dem aktuellen Ordner. Nach Inhalt suchen Sie mit grep -rn "text" ..
Was bedeutet chmod 755?
Der Besitzer darf lesen, schreiben und ausführen (7), Gruppe und alle anderen dürfen lesen und ausführen (5). Für normale Dateien ist 644 üblich.
Wie beende ich ein hängendes Programm?
Mit Strg+C im Terminal. Läuft es im Hintergrund, suchen Sie die Prozessnummer mit ps aux | grep name und beenden es mit kill, notfalls mit kill -9.
Funktionieren die Befehle unter Windows?
In WSL und der Git Bash ja. In PowerShell heißen viele Befehle anders, einige wie ls, cd oder cat gibt es dort als Alias.
Wie lösche ich einen Ordner mit Inhalt im Linux-Terminal?
Mit rm -r ordner/. Der Befehl löscht ohne Papierkorb; prüfen Sie den Pfad vorher mit ls, besonders wenn Sie zusätzlich -f oder sudo verwenden.
Wie suche ich einen Text in allen Dateien eines Ordners?
Mit grep -rn "suchtext" . durchsucht grep den aktuellen Ordner rekursiv und zeigt Dateiname und Zeilennummer. Mit -i ignoriert die Suche Groß- und Kleinschreibung.
Das könnte auch helfen
HTTP-Statuscodes
Alle gängigen HTTP-Statuscodes von 100 bis 511 mit Bedeutung, typischer Ursache und Suche.
ÖffnenHTTP-Header-Referenz
Wichtige Anfrage- und Antwort-Header mit Bedeutung und Beispiel, durchsuchbar.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
ÖffnenDNS-Records erklärt
DNS-Record einfügen und zerlegen lassen: A, MX, TXT, SPF, SOA, SRV, CAA, HTTPS und mehr.
Öffnen