Wer einen Linux-Server administriert, kommt um die Kommandozeile nicht herum. In diesem Artikel lernen Sie die wichtigsten Befehle, die Sie für den Alltag brauchen.

pwd - Aktuelles Verzeichnis anzeigen

pwd
# Ausgabe: /home/benutzer

cd - Verzeichnis wechseln

cd /var/log          # In absolutes Verzeichnis wechseln
cd logs              # In Unterverzeichnis wechseln
cd ..                # Eine Ebene nach oben
cd ~                 # Ins Home-Verzeichnis
cd -                 # Ins vorherige Verzeichnis zurück

ls - Verzeichnisinhalt auflisten

ls                   # Einfache Auflistung
ls -l                # Detaillierte Auflistung mit Rechten
ls -la               # Inkl. versteckter Dateien (mit Punkt)
ls -lh               # Mit lesbaren Dateigrößen (KB, MB)
ls -lt               # Nach Änderungsdatum sortiert

Dateien und Verzeichnisse

mkdir - Verzeichnis erstellen

mkdir ordner                    # Einzelnes Verzeichnis
mkdir -p ordner/unter/tief      # Mit Unterverzeichnissen

touch - Leere Datei erstellen

touch datei.txt

cp - Dateien kopieren

cp datei.txt kopie.txt          # Datei kopieren
cp -r ordner/ backup/           # Verzeichnis rekursiv kopieren

mv - Dateien verschieben/umbenennen

mv datei.txt neuer-name.txt     # Umbenennen
mv datei.txt /tmp/              # Verschieben

rm - Dateien löschen

rm datei.txt                    # Datei löschen
rm -r ordner/                   # Verzeichnis rekursiv löschen
rm -rf ordner/                  # Ohne Nachfrage (Vorsicht!)

Warnung: rm -rf / oder ähnliche Befehle können Ihr System zerstören. Immer doppelt prüfen!

Dateien anzeigen und bearbeiten

cat - Dateiinhalt ausgeben

cat datei.txt                   # Gesamte Datei ausgeben
cat datei1.txt datei2.txt       # Mehrere Dateien nacheinander

less - Datei seitenweise anzeigen

less /var/log/syslog
# Navigation: Leertaste = nächste Seite, q = beenden

head / tail - Anfang / Ende einer Datei

head -n 20 datei.txt            # Erste 20 Zeilen
tail -n 50 /var/log/syslog      # Letzte 50 Zeilen
tail -f /var/log/syslog         # Live-Ansicht (Follow)

nano - Einfacher Texteditor

nano datei.txt
# Speichern: Strg+O, Beenden: Strg+X

Suchen und Finden

find - Dateien suchen

find /var -name "*.log"         # Nach Name suchen
find / -size +100M              # Dateien größer 100 MB
find /home -user root           # Dateien von Benutzer root

grep - In Dateien suchen

grep "error" /var/log/syslog    # Nach Text suchen
grep -r "TODO" /var/www/        # Rekursiv in Verzeichnis
grep -i "error" datei.txt       # Groß-/Kleinschreibung ignorieren

System-Informationen

df - Festplattenplatz

df -h                           # Speicherplatz aller Partitionen

du - Verzeichnisgröße

du -sh /var/log                 # Größe eines Verzeichnisses
du -sh /*                       # Größe aller Ordner in /

free - Arbeitsspeicher

free -h                         # RAM-Auslastung

top / htop - Prozesse

top                             # Prozessübersicht (q = beenden)
htop                            # Bessere Variante (falls installiert)

Prozesse verwalten

ps - Prozesse anzeigen

ps aux                          # Alle Prozesse
ps aux | grep nginx             # Nach Prozess filtern

kill - Prozess beenden

kill 1234                       # Prozess mit PID 1234 beenden
kill -9 1234                    # Erzwingen (SIGKILL)
killall nginx                   # Alle Prozesse mit Namen beenden

Berechtigungen

chmod - Rechte ändern

chmod 755 script.sh             # rwxr-xr-x
chmod +x script.sh              # Ausführbar machen
chmod -R 644 /var/www/          # Rekursiv ändern

chown - Besitzer ändern

chown www-data:www-data datei   # Benutzer und Gruppe
chown -R www-data /var/www/     # Rekursiv

Netzwerk

ip - Netzwerkinformationen

ip addr                         # IP-Adressen anzeigen
ip route                        # Routing-Tabelle

ping - Erreichbarkeit testen

ping google.com                 # Strg+C zum Beenden
ping -c 4 google.com            # Nur 4 Pakete senden

ss - Offene Ports

ss -tulpn                       # Alle lauschenden Ports

Paketverwaltung (Debian/Ubuntu)

apt update                      # Paketliste aktualisieren
apt upgrade                     # Pakete aktualisieren
apt install nginx               # Paket installieren
apt remove nginx                # Paket entfernen
apt search nginx                # Paket suchen

Tipps für die Kommandozeile

1. Tab-Vervollständigung: Drücken Sie Tab, um Befehle und Pfade zu vervollständigen 2. Historie: Mit Pfeil-nach-oben durch vorherige Befehle blättern 3. Strg+C: Laufenden Befehl abbrechen 4. Strg+R: In der Historie suchen 5. man befehl: Hilfe zu einem Befehl anzeigen

Fazit

Diese Befehle decken 90% der täglichen Server-Administration ab. Lernen Sie sie nicht auswendig, sondern nutzen Sie sie regelmäßig - die Routine kommt von allein. Für Einsteiger empfehlen wir, mit einem Test-Server zu üben, bevor Sie an Produktivsystemen arbeiten.