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

BefehlWirkungKopieren
pwdAktuelles Verzeichnis anzeigen
ls -lahDateien mit Details, versteckten Dateien und lesbaren Größen
cd ~Ins Home-Verzeichnis wechseln
cd -Ins vorherige Verzeichnis wechseln
mkdir -p projekt/src/libVerzeichnis samt Zwischenordnern anlegen
touch datei.txtLeere Datei anlegen oder Zeitstempel aktualisieren
cp -r quelle/ ziel/Ordner rekursiv kopieren
mv alt.txt neu.txtVerschieben oder umbenennen
rm datei.txtDatei löschen (ohne Papierkorb)
rm -r ordner/Ordner samt Inhalt löschen (Vorsicht)
ln -s /pfad/ziel linkSymbolischen Link anlegen
find . -name "*.log"Dateien nach Namen suchen
find . -type f -mtime -7Dateien, die in den letzten 7 Tagen geändert wurden
du -sh *Größe jedes Eintrags im Ordner
df -hFreier Speicher je Laufwerk
file dateiDateityp erkennen
stat dateiDetails wie Rechte und Zeitstempel

Text ansehen und bearbeiten

BefehlWirkungKopieren
cat datei.txtInhalt ausgeben
less datei.txtSeitenweise lesen (q beendet)
head -n 20 datei.txtErste 20 Zeilen
tail -n 50 datei.txtLetzte 50 Zeilen
tail -f /var/log/syslogDatei live mitlesen
grep -rn "suchtext" .Rekursiv mit Zeilennummern suchen
grep -i "fehler" app.logSuche ohne Groß-/Kleinschreibung
grep -v "debug" app.logZeilen ohne Treffer ausgeben
wc -l datei.txtZeilen zählen
sort datei.txt | uniq -c | sort -rnHäufigkeit gleicher Zeilen, absteigend
cut -d, -f1 daten.csvErste Spalte einer CSV-Datei
awk '{print $1}' access.logErstes Feld jeder Zeile ausgeben
sed 's/alt/neu/g' datei.txtText ersetzen und ausgeben
sed -i 's/alt/neu/g' datei.txtDirekt in der Datei ersetzen (GNU sed)
tr 'a-z' 'A-Z' < datei.txtIn Großbuchstaben umwandeln
diff -u alt.txt neu.txtUnterschiede zweier Dateien
befehl | tee ausgabe.txtAusgabe anzeigen und zugleich speichern
find . -name "*.tmp" -print0 | xargs -0 rmGefundene Dateien an einen Befehl übergeben

Rechte und Benutzer

BefehlWirkungKopieren
chmod +x skript.shAusführbar machen
chmod 644 datei.txtLesen für alle, Schreiben nur für Besitzer
chmod 755 ordner/Ordner für alle lesbar und betretbar
chown nutzer:gruppe dateiBesitzer und Gruppe ändern
sudo befehlBefehl mit Root-Rechten ausführen
whoamiAktuellen Benutzer anzeigen
idBenutzer- und Gruppen-IDs

Prozesse

BefehlWirkungKopieren
ps auxAlle laufenden Prozesse
topProzesse live nach Last (htop ist komfortabler)
kill 1234Prozess beenden lassen (SIGTERM)
kill -9 1234Prozess sofort beenden (SIGKILL)
pkill -f nodeProzesse nach Namen beenden
befehl &Im Hintergrund starten
jobsHintergrundjobs der Shell
fg %1Job in den Vordergrund holen
nohup befehl &Weiterlaufen lassen nach Abmelden

Netzwerk

BefehlWirkungKopieren
curl -I https://example.comNur die Antwort-Header abrufen
curl -o datei.zip https://example.com/datei.zipDatei herunterladen
ping -c 4 example.comErreichbarkeit prüfen, 4 Pakete
ss -tulpnOffene Ports und lauschende Prozesse (ersetzt netstat)
ip aNetzwerkschnittstellen und Adressen
dig example.com MX +shortDNS-Einträge abfragen
ssh nutzer@serverPer 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 443Prüfen, ob ein Port erreichbar ist

Archive

BefehlWirkungKopieren
tar -czf archiv.tar.gz ordner/Ordner als tar.gz packen
tar -xzf archiv.tar.gztar.gz entpacken
tar -tzf archiv.tar.gzInhalt anzeigen, ohne zu entpacken
zip -r archiv.zip ordner/ZIP-Archiv erstellen
unzip archiv.zip -d ziel/ZIP in einen Ordner entpacken
gzip datei.txtDatei komprimieren (gunzip entpackt)

System und Shell

BefehlWirkungKopieren
uname -aKernel und System
uptimeLaufzeit und Last
free -hArbeitsspeicher
historyBefehlsverlauf
which python3Pfad eines Programms
man befehlHandbuchseite öffnen
alias ll='ls -lah'Kurzbefehl anlegen
export API_URL=https://example.comUmgebungsvariable setzen
echo $PATHSuchpfad anzeigen
envAlle Umgebungsvariablen
crontab -eZeitgesteuerte Aufgaben bearbeiten
systemctl status nginxStatus eines Dienstes
journalctl -u nginx -fProtokoll eines Dienstes live

Umleitung und Verknüpfung

BefehlWirkungKopieren
befehl > datei.txtAusgabe in Datei schreiben (überschreibt)
befehl >> datei.txtAusgabe anhängen
befehl > log.txt 2>&1Ausgabe und Fehler in eine Datei
befehl 2>/dev/nullFehlermeldungen verwerfen
befehl1 | befehl2Ausgabe an den nächsten Befehl weitergeben (Pipe)
befehl1 && befehl2Zweiten nur bei Erfolg ausführen
befehl1 || befehl2Zweiten 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"; doneSchleife ü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

  1. Im Feld „Befehl oder Aufgabe suchen“ einen Befehl wie grep oder eine Aufgabe wie „entpacken“ eingeben.
  2. In der gefilterten Liste die passende Gruppe ansehen, etwa Text ansehen und bearbeiten, Rechte und Benutzer oder Netzwerk.
  3. 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.
Fragen

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.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge