cryeffect.net

Die 26 wichtigsten Linux‑Terminalbefehle (Debian) – mit Erklärungen

Übersicht: Die 26 wichtigsten Linux‑Terminal‑Befehle (Debian)

Was ist das Linux-Terminal?

Das Linux-Terminal ist eine textbasierte Schnittstelle zu deinem System. Es ermöglicht die direkte Kommunikation mit dem Betriebssystem über Befehle und ist oft effizienter als grafische Benutzeroberflächen.

Warum diese 26 Befehle lernen?

  • Effizienz: Schnellere Arbeit als mit reinen GUI‑Tools
  • Universalität: Auf (nahezu) allen Linux‑Systemen verfügbar
  • Automatisierung: Fundament für Skripte und wiederholbare Abläufe
  • Administration: Unverzichtbar für Server ohne Desktop
  • Fehlersuche: Direkte Einsicht in Dienste, Logs und Systemzustand

Die 26 wichtigsten Befehle – Überblick

BefehlZweckKategorie
pwdAktuelles Verzeichnis anzeigenNavigation
lsDateien und Ordner auflistenNavigation
cdVerzeichnis wechselnNavigation
aliasBefehle abkürzenShell
mkdirVerzeichnisse erstellenDateiverwaltung
touchDateien anlegen/Zeiten ändernDateiverwaltung
cpKopierenDateiverwaltung
mvVerschieben/UmbenennenDateiverwaltung
rmLöschenDateiverwaltung
catDatei anzeigen/verkettenAnzeige
lessDatei seitenweise ansehenAnzeige
headAnfang von DateienAnzeige
tailEnde von Dateien/Live‑LogsAnzeige
grepTextsucheSuchen/Filtern
findDateien findenSuchen
wcZeilen/Wörter/Bytes zählenAuswertung
chmodRechte setzenBerechtigungen
chownBesitzer/Gruppen setzenBerechtigungen
ln(Hard-/Soft‑)Links erstellenDateisystem
tarArchive packen/entpackenArchiv
gzipKomprimieren/EntpackenArchiv
aptPaketverwaltung (Debian)Pakete
dpkgPaketdetails/Manuell installierenPakete
systemctlDienste/Boot‑Targets steuernSystem
journalctlSystemd‑Logs lesenSystem
ipNetzwerk‑Infos/‑KonfigurationNetzwerk

pwd - Print Working Directory

Zweck: Zeigt das aktuelle Verzeichnis an

1
2
pwd
# Ausgabe: /home/username/documents

ls - List Directory Contents

Zweck: Listet Dateien und Verzeichnisse auf

1
2
3
4
5
6
7
8
# Einfache Auflistung
ls

# Detaillierte Ansicht mit Berechtigungen und Größen
ls -lah

# Nur Verzeichnisse anzeigen
ls -d */

Wichtige Optionen:

  • -l = detaillierte Liste
  • -a = versteckte Dateien anzeigen
  • -h = menschenlesbare Dateigrößen

cd - Change Directory

Zweck: Wechselt zwischen Verzeichnissen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Absoluter Pfad
cd /var/log

# Relativer Pfad
cd documents/projects

# Eine Ebene nach oben
cd ..

# Zum Home-Verzeichnis
cd ~
# oder einfach:
cd

# Zum vorherigen Verzeichnis zurück
cd -

alias - Befehle abkürzen

Zweck: Erstellt Kurzbefehle für längere Kommandos

1
2
3
4
5
6
# Einfaches Alias
alias ll='ls -lah'

# Alias dauerhaft machen (in ~/.bashrc oder ~/.zshrc)
echo "alias ll='ls -lah'" >> ~/.bash_aliasses
source ~/.bash_aliasses

Dateiverwaltung

mkdir - Make Directory

Zweck: Erstellt neue Verzeichnisse

1
2
3
4
5
6
7
8
# Einfaches Verzeichnis
mkdir projekt

# Verschachtelte Verzeichnisse erstellen
mkdir -p projekt/src/tests

# Mehrere Verzeichnisse gleichzeitig
mkdir ordner1 ordner2 ordner3

cp - Copy Files

Zweck: Kopiert Dateien und Verzeichnisse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Datei kopieren
cp datei.txt backup.txt

# Datei kopieren und Eigenschaften beibehalten
cp -p datei.txt backup.txt

# Datei in anderes Verzeichnis kopieren
cp datei.txt /backup/

# Verzeichnis rekursiv kopieren
cp -r projekt/ backup/

# Mit Bestätigung vor Überschreiben
cp -i quelle.txt ziel.txt

Wichtige Optionen:

  • -r = rekursiv für Verzeichnisse
  • -i = interaktiv (fragt vor Überschreiben)
  • -v = verbose (zeigt Aktionen an)

mv - Move/Rename

Zweck: Verschiebt oder benennt Dateien um

1
2
3
4
5
6
7
8
9
10
11
# Datei umbenennen
mv alte_datei.txt neue_datei.txt

# Datei verschieben
mv datei.txt /anderer/ordner/

# Verzeichnis verschieben
mv projekt/ /backup/

# Mit Bestätigung
mv -i datei.txt ziel.txt

rm - Remove Files (Vorsicht!)

Zweck: Löscht Dateien und Verzeichnisse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Datei löschen
rm datei.txt

# Datei löschen ohne Rückfrage
rm -f datei.txt

# Verzeichnis mit Inhalt löschen
rm -r ordner/

# Mit Bestätigung vor jedem Löschen
rm -i datei.txt

# Mehrere Dateien löschen
rm *.tmp

# Besonderheit bei rm -rf/ dieser wird von den meisten Systemen blockiert:
rm -rf /

⚠️ Sicherheitshinweise:

  • Immer -i verwenden bei unsicheren Löschvorgängen
  • Niemals rm -rf / ausführen
  • Vor dem Löschen mit ls prüfen, was betroffen ist

touch – Dateien anlegen/Zeitstempel ändern

Zweck: Leere Dateien erstellen oder Zeitstempel aktualisieren

1
2
3
4
5
# Leere Datei anlegen
touch README.md

# Zeitstempel aktualisieren
touch existing.log

Information und Suche

cat - Concatenate and Display

Zweck: Zeigt Dateiinhalt an

1
2
3
4
5
6
7
8
9
10
11
# Dateiinhalt anzeigen
cat datei.txt

# Mehrere Dateien verketten
cat datei1.txt datei2.txt

# Mit Zeilennummern
cat -n datei.txt

# Für große Dateien besser: less verwenden
less große_datei.log

Hinweis: Für cat gibts alternative noch batcat mit Syntaxhighlighting, Zeilennummern und ist Standardmäßig in less Style.

grep - Global Regular Expression Print

Zweck: Sucht nach Textmustern in Dateien

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Einfache Textsuche
grep "TODO" datei.txt

# Mit Zeilennummern
grep -n "Error" logfile.txt

# Groß-/Kleinschreibung ignorieren
grep -i "fehler" datei.txt

# Rekursiv in Verzeichnissen suchen
grep -r "function" ./src/

# Mit Kontext (3 Zeilen vor/nach dem Fund)
grep -C 3 "wichtig" datei.txt

# Text suchen, rekursiv in Ordnern, mit Zeilennummern.
grep -rn "Suchwort" ./verzeichnis/

Praktische Kombinationen:

1
2
3
4
5
6
7
8
# Prozesse filtern
ps aux | grep ssh

# Log-Dateien durchsuchen
grep "ERROR" /var/log/syslog

# Mehrere Dateien gleichzeitig
grep -n "TODO" *.py

man - Manual Pages

Zweck: Zeigt Dokumentation für Befehle an

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Hilfe zu einem Befehl
man ls

# Nach Stichworten suchen
man -k network

# Schnelle Hilfe (meist verfügbar)
ls --help

# Alle verfügbaren Sektionen anzeigen
man -f printf

# Alternative: tldr für kurze Erklärungen (muss installiert sein)
tldr ls

Zusatz: less, head, tail, find, wc

less – Inhalte seitenweise ansehen

Zweck: Große Dateien komfortabel lesen; Navigation mit Space, b, /Suchtext, q.

1
less /var/log/syslog

head – Anfang anzeigen

Zweck: Erste Zeilen einer Datei ausgeben.

1
head -n 20 README.md

tail – Ende anzeigen / Live‑Logs

Zweck: Letzte Zeilen; mit -f folgt die Ausgabe neuen Log‑Einträgen.

1
2
tail -n 50 /var/log/syslog
tail -f /var/log/syslog

find – Dateien finden

Zweck: Dateien/Verzeichnisse nach Namen, Typ, Zeit, Größe suchen.

1
2
3
4
5
6
7
8
# nach Namen (case‑insensitive)
find . -iname "*.log"

# nur Verzeichnisse der Tiefe 1
find /etc -maxdepth 1 -type d

# nach Größe >100MB
find . -type f -size +100M

wc – zählen

Zweck: Zeilen, Wörter, Bytes zählen.

1
2
3
wc -l datei.txt   # Zeilen
wc -w datei.txt # Wörter
wc -c datei.txt # Bytes

chmod – Rechte setzen

Zweck: Lese/Schreib/Ausführrechte für Nutzer/Gruppe/Alle verändern.

1
2
3
4
5
# symbolisch: füge Ausführrecht für Nutzer hinzu
chmod u+x skript.sh

# oktal: rwxr-xr--
chmod 754 datei

chown – Besitzer/Gruppen setzen

Zweck: Eigentümer und Gruppe ändern (meist sudo nötig).

1
sudo chown root:adm /var/log/custom.log

Zweck: Hard‑ oder symbolische Links erstellen.

1
2
# symbolischer Link
ln -s /usr/bin/python3 ~/bin/python

Archive und Kompression

tar – packen/entpacken

Zweck: Verzeichnisse zu Archiven bündeln.

1
2
3
4
5
# Archiv erstellen (gzip)
tar -czf backup.tar.gz ~/projekt

# Archiv entpacken
tar -xzf backup.tar.gz -C ./restore

gzip – komprimieren/entpacken

Zweck: Einzeldateien komprimieren.

1
2
gzip große_datei.iso
gunzip große_datei.iso.gz

Paketverwaltung (Debian)

apt – Pakete suchen/ installieren/ aktualisieren

Zweck: Komfortable Paketverwaltung.

1
2
3
4
5
sudo apt update
sudo apt upgrade -y
apt search htop
sudo apt install htop
sudo apt remove paketname

dpkg – Paketdetails/Manuelle Installation

Zweck: Niedrigere Ebene der Paketverwaltung.

1
2
3
4
5
6
7
8
9
10
11
dpkg -l | grep nginx
sudo dpkg -i paket.deb

# Paketinformationen anzeigen
dpkg -s paketname

# Paketinformationen anzeigen von installierten Dateien
dpkg -L paketname

# zeigt aus welchem Paket eine Datei stammt
dpkg -S /usr/bin/nginx

Dienste, Logs, Netzwerk

systemctl – Dienste steuern

Zweck: Systemd‑Dienste starten/stoppen/aktivieren.

1
2
3
systemctl status ssh
sudo systemctl restart ssh
sudo systemctl enable --now ssh

journalctl – Logs lesen

Zweck: Systemd‑Journal abfragen/filtern.

1
2
3
4
5
journalctl -u ssh --since "today"
journalctl -p err -b # nur Fehler seit letztem Boot

# Log der letzten 5 Minuten
journalctl --since "5 minutes ago"

ip – Netzwerk

Zweck: IP‑Infos anzeigen/setzen (Nachfolger von ifconfig).

1
2
3
4
5
6
7
ip addr show

# ip addr show in Kurzform
ip a

ip route
ip -s link

Pipes und Umleitung

Pipes verbinden Befehle miteinander:

1
2
3
4
5
6
7
8
9
10
11
# Nur Verzeichnisse anzeigen
ls -la | grep "^d"

# Prozesse zählen
ps aux | wc -l

# Sortierte Ausgabe
ls | sort

# Top 10 größte Dateien
ls -la | sort -k5 -nr | head -10

Umleitung speichert Ausgaben:

1
2
3
4
5
6
7
8
9
10
11
# Ausgabe in Datei schreiben (überschreibt)
ls -la > dateiliste.txt

# An Datei anhängen
date >> log.txt

# Fehler umleiten
command 2> fehler.txt

# Alles umleiten
command > ausgabe.txt 2>&1

Terminal-Shortcuts

ShortcutFunktion
Ctrl+CProzess abbrechen
Ctrl+DTerminal beenden
Ctrl+LBildschirm leeren
Ctrl+RRückwärtssuche in History
TabAutomatische Vervollständigung
↑/↓Durch Command-History navigieren
!!Letzten Befehl wiederholen

Wildcards und Globbing

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Alle .txt Dateien
ls *.txt

# Alle Dateien die mit 'test' beginnen
ls test*

# Einzelnes Zeichen ersetzen
ls datei?.txt

# Bereich von Zeichen
ls [a-z]*.txt

# Verzeichnisse ausschließen
ls !(dir1|dir2)

Häufige Anwendungsfälle

Dateien finden und verwalten

1
2
3
4
5
6
7
8
9
10
11
# Große Dateien finden
ls -laSh | head -10

# Dateien nach Datum sortiert
ls -lat

# Versteckte Konfigurationsdateien anzeigen
ls -la | grep "^\."

# Leere Verzeichnisse erstellen
mkdir -p projekt/{src,tests,docs}

Log-Analyse

1
2
3
4
5
6
7
8
# Letzte Zeilen einer Log-Datei
tail -f /var/log/syslog

# Fehler in Logs suchen
grep -i "error\|fail\|warn" /var/log/syslog

# Log-Einträge zählen
grep -c "ERROR" logfile.txt

System-Information

1
2
3
4
5
6
7
8
9
10
11
# Festplattenbelegung
df -h

# Speichernutzung
free -h

# Aktuelle Prozesse
ps aux | head -10

# Netzwerkverbindungen (ss statt netstat)
ss -tulpn

Tipps für Einsteiger

  • Tab-Vervollständigung: Nutze Tab zum automatischen Vervollständigen von Dateinamen
  • History: Verwende und zum Navigieren durch vorherige Befehle
  • Vorsicht bei rm: Immer erst prüfen, dann löschen
  • Backup: Erstelle Backups wichtiger Dateien vor Änderungen
  • Üben: Verwende diese Befehle täglich, um Routine zu entwickeln
  • Manual: Bei Unsicherheit immer man befehl verwenden
  • tldr: Nutze tldr befehl für kurze Erklärungen (muss installiert sein)

Fazit

Diese 26 Befehle bilden ein solides Fundament für Debian und weitere Distros. du decken Navigation, Dateiverwaltung, Suche, Rechte, Paketverwaltung, Dienste, Logs und Netzwerk ab – genau das, was du für den Alltag auf Desktop und Server brauchst. Mit diesen Grundlagen werden auch komplexere Tools (awk, sed, xargs, rsync, iptables/nft) leichter verständlich.