Server haben meist keine grafische Oberfläche – gearbeitet wird über die Kommandozeile. Das wirkt anfangs ungewohnt, ist aber schnell gelernt: Mit rund 30 Befehlen kommst du im Alltag sehr weit. Diese Anleitung ist zum Mitmachen gedacht – am besten direkt auf deinem Debian-Server oder in einem LXC-Container.
Die wichtigsten Tastenkürzel
| Taste | Wirkung |
|---|---|
| Tab | vervollständigt Befehle und Dateinamen – spart Tipparbeit und Tippfehler |
| Pfeil hoch/runter | frühere Befehle wieder aufrufen |
| Strg+C | laufenden Befehl abbrechen |
| Strg+L | Bildschirm leeren |
| Strg+R | in früheren Befehlen suchen |
Orientieren und bewegen
pwd # Wo bin ich gerade?
ls # Was liegt hier?
ls -la # ausführlich, inkl. versteckter Dateien
cd /etc # in einen Ordner wechseln
cd .. # eine Ebene nach oben
cd ~ # zurück ins eigene Home-Verzeichnis
Alles hinter # ist ein Kommentar und muss nicht mit eingetippt werden.
Dateien und Ordner
mkdir projekte # Ordner anlegen
cp datei.txt kopie.txt # kopieren
mv alt.txt neu.txt # umbenennen oder verschieben
rm datei.txt # löschen
rm -r ordner # Ordner samt Inhalt löschen
Vorsicht: Linux kennt keinen Papierkorb. Was mit
rmgelöscht ist, ist weg. Vorrm -rlieber zweimal hinschauen.
Dateien ansehen
cat datei.txt # ganze Datei ausgeben
less datei.txt # seitenweise lesen (q zum Beenden)
tail -n 50 datei.txt # die letzten 50 Zeilen
tail -f datei.log # live mitlesen, was hinzukommt (Strg+C beendet)
grep "error" datei.log # nur Zeilen mit "error" anzeigen
Dateien bearbeiten mit nano
nano ist ein einfacher Texteditor direkt in der Kommandozeile – ideal für Konfigurationsdateien.
nano notizen.txt # Datei öffnen (oder neu anlegen)
sudo nano /etc/hosts # Systemdatei mit Admin-Rechten bearbeiten
nano -l datei.txt # mit Zeilennummern
Unten zeigt nano die wichtigsten Kürzel an. ^ steht dabei für Strg, M- für Alt:
| Kürzel | Wirkung |
|---|---|
| Strg+O, dann Enter | speichern |
| Strg+X | beenden (fragt nach, falls ungespeichert) |
| Strg+W | suchen |
| Strg+K | aktuelle Zeile ausschneiden |
| Strg+U | ausgeschnittene Zeile einfügen |
| Alt+U | rückgängig |
| Strg+_ | zu Zeilennummer springen |
Übung: nano test.txt öffnen, zwei Zeilen schreiben, mit Strg+O speichern, mit Strg+X beenden und mit cat test.txt prüfen.
Admin-Rechte mit sudo
Befehle, die das System verändern, brauchen Admin-Rechte. Dafür setzt du sudo davor und gibst dein eigenes Passwort ein:
sudo apt update
In einem LXC-Container, in dem du direkt als root angemeldet bist, fällt sudo weg.
Software installieren mit apt
sudo apt update # Paketlisten aktualisieren (immer zuerst)
sudo apt full-upgrade # alle Pakete aktualisieren
sudo apt install htop # Programm installieren
sudo apt remove htop # Programm entfernen
apt search wireguard # nach Paketen suchen
Dienste steuern mit systemctl
Dienste sind Programme, die im Hintergrund laufen (z. B. der SSH-Server):
systemctl status ssh # läuft der Dienst?
sudo systemctl restart ssh # neu starten
sudo systemctl enable --now ssh # beim Systemstart aktivieren und sofort starten
sudo systemctl stop ssh # anhalten
Logs lesen
Wenn etwas nicht funktioniert, steht der Grund fast immer im Log:
journalctl -u ssh # Log eines bestimmten Dienstes
journalctl -u ssh -f # live mitlesen
journalctl -b -p err # alle Fehler seit dem letzten Start
Systemzustand prüfen
df -h # freier Speicherplatz
free -h # Arbeitsspeicher
htop # laufende Prozesse (vorher installieren, q beendet)
ip -4 addr # eigene IP-Adressen
ping 1.1.1.1 # Internetverbindung testen (Strg+C beendet)
Rechte verstehen
ls -l zeigt vor jeder Datei eine Zeichenkette wie -rw-r--r--. Sie steht für die Rechte von Besitzer, Gruppe und allen anderen – jeweils r (lesen), w (schreiben), x (ausführen).
chmod +x skript.sh # Datei ausführbar machen
chmod 600 geheim.txt # nur der Besitzer darf lesen und schreiben
sudo chown benutzer:benutzer datei.txt # Besitzer ändern
Spickzettel zum Mitnehmen
| Aufgabe | Befehl |
|---|---|
| Wo bin ich? | pwd |
| Inhalt anzeigen | ls -la |
| Datei bearbeiten | nano datei |
| System aktualisieren | sudo apt update && sudo apt full-upgrade |
| Dienst neu starten | sudo systemctl restart name |
| Log eines Dienstes | journalctl -u name -f |
| Speicherplatz | df -h |
| Neustart | sudo reboot |