Eine Übersicht der Befehle, die Sie bei der Verwaltung eines VPS täglich verwenden. Zu jedem erklären wir, was er tut und was seine Optionen bedeuten. Am Ende finden Sie einen Spickzettel zum Ausdrucken.
Was Sie brauchen
- Ein StormHost-VPS mit Ubuntu 24.04 oder Debian 13
- Eine SSH-Verbindung (Anleitung) oder die Browser-Konsole
- Etwa 20 Minuten zum Ausprobieren
Wie Sie einen Befehl lesen#
ls -la /var/log| Teil | Beispiel | Bedeutung |
|---|---|---|
| Befehl | ls | Das Programm, das ausgeführt wird (hier: einen Ordner auflisten). |
| Optionen | -la | Ändern sein Verhalten. Kurze werden mit einem Bindestrich geschrieben und lassen sich kombinieren (-l -a = -la), lange mit zwei (--all). |
| Argument | /var/log | Worauf der Befehl wirkt (eine Datei, ein Ordner, ein Paketname). |
Nützliche Tasten:
| Taste | Was sie tut |
|---|---|
| Tab | Vervollständigt den Namen eines Befehls, einer Datei oder eines Ordners. Zweimaliges Drücken listet die Möglichkeiten auf. Erspart Ihnen Tippfehler. |
| Pfeiltasten Auf / Ab | Blättern durch zuvor eingegebene Befehle. |
| Strg+C | Bricht den laufenden Befehl ab. Im Terminal ist das nicht Kopieren. |
| Strg+R | Durchsucht den Befehlsverlauf nach Text. |
| Strg+L | Leert den Bildschirm (wie der Befehl clear). |
sudo: Als root (# am Ende der Eingabeaufforderung) können Sie alles. Als normaler Benutzer ($ am Ende der Eingabeaufforderung) stellen Sie einem Befehl, der Administratorrechte braucht, sudo voran, zum Beispiel sudo apt update. Es fragt nach dem Passwort Ihres Benutzers. In dieser Anleitung schreiben wir die Befehle für root; als normaler Benutzer ergänzen Sie sudo.
Hilfe: Fast jeder Befehl hat eine Hilfe über befehl --help und ein Handbuch über man befehl (blättern mit der Leertaste, beenden mit q).
Ordner und Pfade#
Linux hat keine Laufwerke C: und D:. Alles beginnt beim Wurzelordner /.
| Ordner | Was darin ist |
|---|---|
/ | Die Wurzel des gesamten Systems. |
/root | Der Home-Ordner des Benutzers root. |
/home/jan | Der Home-Ordner des Benutzers jan. Die Abkürzung für Ihren eigenen Home-Ordner ist ~. |
/etc | Konfigurationsdateien für System und Dienste. |
/var/log | Logs (manche Logs stehen nur im Journal, siehe journalctl). |
/var/www | Der übliche Ort für Websites. |
/tmp | Temporäre Dateien, beim Neustart gelöscht. |
Ein absoluter Pfad beginnt mit / und funktioniert von überall (/etc/ssh/sshd_config). Ein relativer Pfad geht vom Ordner aus, in dem Sie sind (logs/latest.log). . ist der aktuelle Ordner, .. der übergeordnete.
pwd
ls -la
cd /var/log
cd ..
cdpwd– gibt aus, in welchem Ordner Sie gerade sind.ls -la– listet den Ordnerinhalt auf:-lausführlich (Berechtigungen, Besitzer, Größe, Datum),-aeinschließlich versteckter Dateien (sie beginnen mit einem Punkt).cd /var/log– wechselt in den Ordner/var/log.cd ..– geht eine Ebene nach oben.cd– kehrt ohne Argument in Ihren Home-Ordner zurück.
So lesen Sie eine Zeile von ls -la:
-rw-r--r-- 1 root root 1234 Oct 1 10:00 config.yml| Teil | Bedeutung |
|---|---|
- | Typ: - Datei, d Ordner, l Link. |
rw-r--r-- | Berechtigungen: Besitzer (rw-), Gruppe (r--), andere (r--). r lesen, w schreiben, x ausführen (bei einem Ordner: betreten). |
root root | Besitzer und Gruppe. |
1234 | Größe in Bytes (menschenlesbar mit der Option -h, z. B. 1.2K). |
Oct 1 10:00 | Datum der letzten Änderung. |
Dateien#
| Befehl | Was er tut |
|---|---|
cat datei.txt | Gibt die ganze Datei aus. Praktisch für kurze Dateien. |
less datei.txt | Zeigt eine lange Datei an. Pfeiltasten und Leertaste blättern, /text sucht, q beendet. |
tail -n 50 datei.log | Die letzten 50 Zeilen. Mit -f gibt er neue Zeilen fortlaufend aus (ein Log verfolgen). |
cp quelle ziel | Kopiert eine Datei. Einen Ordner kopieren Sie mit der Option -r (rekursiv). |
mv quelle ziel | Verschiebt eine Datei oder einen Ordner oder benennt sie um. |
mkdir -p pfad/zum/ordner | Erstellt einen Ordner; -p erstellt auch fehlende übergeordnete Ordner. |
rm datei | Löscht eine Datei. |
rm -r ordner | Löscht einen Ordner einschließlich Inhalt. |
rm löscht endgültig
Linux hat keinen Papierkorb. Was Sie mit rm löschen, ist weg. Seien Sie besonders vorsichtig mit rm -r, und führen Sie rm -rf nie mit einem Pfad aus, den Sie nicht zweimal geprüft haben. Ein Leerzeichen zu viel genügt: rm -rf /var/www/ meine-seite statt rm -rf /var/www/meine-seite löscht den ganzen Ordner /var/www mit allen Websites. Sie können den gesamten VPS in der Registerkarte Backups aus einem Backup wiederherstellen, verlieren dabei aber die Änderungen seit dem Backup.
Der Editor nano#
nano /etc/hostsÖffnet die Datei in einem einfachen Editor. Die Steuerung steht in den unteren Zeilen; ^ bedeutet Strg und M- bedeutet Alt.
| Tasten | Was sie tun |
|---|---|
| Strg+O, dann Eingabe | Speichert die Datei. |
| Strg+X | Schließt den Editor. Bei ungespeicherten Änderungen fragt er: Y speichern, N verwerfen. |
| Strg+W | Sucht nach Text. |
| Strg+K | Schneidet die ganze Zeile aus. |
| Strg+U | Fügt die ausgeschnittene Zeile ein. |
| Alt+U | Macht die letzte Änderung rückgängig. |
Text aus der Zwischenablage fügen Sie mit der Tastenkombination Ihres Terminals ein (Windows Terminal Strg+V, PuTTY ein Rechtsklick, macOS Cmd+V).
Berechtigungen und Besitzer#
chmod 644 soubor.txt
chmod 755 skript.sh
chown jan:jan soubor.txt
chown -R www-data:www-data /var/www/webchmod– ändert Berechtigungen. Die Zahl hat drei Ziffern: Besitzer, Gruppe, andere. Jede Ziffer ist eine Summe aus4(lesen) +2(schreiben) +1(ausführen).chown benutzer:gruppe– ändert Besitzer und Gruppe.-R– rekursiv, also auch für alles im Ordner.
| Zahl | Berechtigungen | Typische Verwendung |
|---|---|---|
644 | Besitzer liest und schreibt, andere lesen nur | Gewöhnliche Dateien, Website-Konfiguration |
600 | nur der Besitzer liest und schreibt | Passwörter, Schlüssel, .env |
755 | Besitzer alles, andere lesen und ausführen | Ordner, ausführbare Skripte |
700 | nur der Besitzer | Private Ordner (~/.ssh) |
Verwenden Sie keine Berechtigungen 777 (jeder darf alles). Sie lösen kein Berechtigungsproblem; sie öffnen die Datei nur für jedermann.
Pakete (apt)#
| Befehl | Was er tut |
|---|---|
apt update | Lädt die aktuelle Paketliste herunter. Führen Sie ihn immer vor einer Installation aus. |
apt upgrade | Aktualisiert installierte Pakete. Installiert neue Abhängigkeiten, entfernt aber nie ein Paket. |
apt full-upgrade | Aktualisiert alles, auch wenn dafür ein Paket entfernt werden muss (typischerweise bei größeren Abhängigkeitsänderungen). |
apt install htop | Installiert ein Paket. Mehrere Pakete trennen Sie mit einem Leerzeichen. |
apt remove htop | Deinstalliert ein Paket, behält aber seine Konfigurationsdateien. |
apt purge htop | Deinstalliert ein Paket einschließlich Konfiguration. |
apt autoremove | Entfernt Abhängigkeiten, die nichts mehr braucht. |
apt search name | Sucht ein Paket nach Name und Beschreibung. |
Die Option -y (apt install -y htop) bestätigt automatisch die Frage „Möchten Sie fortfahren?“.
Dienste und Logs#
Dienste (Webserver, Datenbank, SSH) verwaltet systemd mit dem Befehl systemctl.
| Befehl | Was er tut |
|---|---|
systemctl status nginx | Dienststatus: active (running) läuft, failed abgestürzt, plus die letzten Logzeilen. Beenden mit q. |
systemctl restart nginx | Startet den Dienst neu. |
systemctl reload nginx | Lädt eine neue Konfiguration ohne Unterbrechung (nur manche Dienste unterstützen das). |
systemctl stop nginx / start nginx | Stoppt / startet den Dienst. |
systemctl enable nginx | Der Dienst startet beim Booten des VPS. Mit --now startet er auch sofort. |
systemctl disable nginx | Der Dienst startet nicht beim Booten. |
systemctl --failed | Listet abgestürzte Dienste auf. |
journalctl liest die Logs der Dienste:
journalctl -u nginx -n 50 --no-pager
journalctl -u nginx -f
journalctl -u nginx --since "1 hour ago"-u nginx– nur Einträge des Dienstesnginx.-n 50– die letzten 50 Zeilen.--no-pager– direkt ausgeben, ohne den Betrachterless.-f– neue Einträge fortlaufend ausgeben (beenden mit Strg+C).--since "1 hour ago"– Einträge der letzten Stunde ("2026-10-01 10:00"funktioniert ebenfalls).
Festplatte, Arbeitsspeicher und Prozesse#
| Befehl | Was er zeigt |
|---|---|
df -h | Belegter und freier Platz auf den Festplatten. Achten Sie auf die Zeile mit dem Einhängepunkt /. -h = menschenlesbare Einheiten. |
du -sh /var/log | Wie viel Platz ein Ordner belegt. -s Summe, -h menschenlesbar. |
du -xh --max-depth=1 / 2>/dev/null | sort -h | Größen der Ordner in der Wurzel, von klein nach groß sortiert. Zum Finden dessen, was die Festplatte gefüllt hat. -x zählt nur die Systemfestplatte, 2>/dev/null verbirgt Meldungen über nicht zugängliche Dateien, sort -h sortiert nach Größe. |
free -h | RAM und Swap. Die Spalte available ist die entscheidende. |
uptime | Wie lange der VPS läuft und die durchschnittliche Last über 1, 5 und 15 Minuten. |
htop | Eine Live-Übersicht über Prozesse, CPU und Arbeitsspeicher. Die Taste M sortiert nach Arbeitsspeicher, P nach CPU, q beendet. Falls er fehlt: apt install htop. |
top | Eine einfachere Version von htop, immer installiert. |
ss -tulpn | Ports, auf denen Programme lauschen. |
Die Optionen von ss -tulpn: -t TCP, -u UDP, -l nur lauschende Ports, -p Programmname, -n Zahlen statt Namen. Die Adresse 0.0.0.0 oder [::] bedeutet von außen erreichbar (wenn die Firewall es durchlässt), 127.0.0.1 nur innerhalb des VPS.
Netzwerk#
| Befehl | Was er tut |
|---|---|
ip a | IP-Adressen der Netzwerkschnittstellen (ip -br a für eine Kurzform). |
ip r | Die Routing-Tabelle. Die Zeile default via … ist das Standard-Gateway. |
ping -c 4 1.1.1.1 | Verbindungstest: 4 Pakete an den Server 1.1.1.1. |
curl -I https://example.cz | Lädt nur die Header einer Website herunter. Bestätigt, dass die Seite antwortet (HTTP/2 200). |
dig example.cz A +short | Schlägt den DNS-Eintrag einer Domain nach. Falls er fehlt: apt install bind9-dnsutils. |
Benutzer#
| Befehl | Was er tut |
|---|---|
whoami | Als welcher Benutzer Sie angemeldet sind. |
id jan | Die Gruppen des Benutzers jan. |
adduser jan | Legt einen Benutzer an (siehe Einen neuen VPS absichern). |
passwd jan | Ändert das Passwort des Benutzers jan (ohne Namen das Passwort des aktuellen Benutzers). |
sudo -i | Wechselt von einem normalen Benutzer zu root. |
exit | Meldet Sie ab oder beendet sudo -i. |
Neustart und Herunterfahren#
| Befehl | Was er tut |
|---|---|
reboot | Startet das System des VPS neu. |
poweroff | Fährt den VPS herunter. Wieder einschalten können Sie ihn nur mit der Schaltfläche Start in der Registerkarte Konsole. |
Nach einem Upgrade von RAM oder CPU reicht reboot nicht; verwenden Sie die Schaltfläche Neustart im Kundenbereich (siehe Browser-Konsole).
Spickzettel#
| Aufgabe | Befehl |
|---|---|
| Wo bin ich | pwd |
| Was ist im Ordner | ls -la |
| In einen Ordner wechseln | cd /pfad |
| Datei anzeigen | cat datei / less datei |
| Datei bearbeiten | nano datei |
| Log verfolgen | tail -f datei.log |
| Kopieren / verschieben | cp a b / mv a b |
| Löschen (endgültig) | rm datei / rm -r ordner |
| Berechtigungen | chmod 644 datei |
| Besitzer | chown jan:jan datei |
| Updates | apt update && apt full-upgrade |
| Installieren | apt install paket |
| Dienststatus | systemctl status dienst |
| Dienst neu starten | systemctl restart dienst |
| Dienst-Log | journalctl -u dienst -f |
| Speicherplatz | df -h |
| Was belegt Platz | du -sh /pfad/* |
| Arbeitsspeicher | free -h |
| Prozesse | htop |
| Offene Ports | ss -tulpn |
| IP-Adressen | ip -br a |
| Befehl abbrechen | Strg+C |
Fehlerbehebung#
command not found#
Das Programm ist nicht installiert, oder der Name enthält einen Tippfehler. Ubuntu sagt Ihnen oft, welches Paket das Programm enthält (Command 'htop' not found, but can be installed with: apt install htop).
Permission denied#
Sie haben nicht die Rechte. Wiederholen Sie den Befehl als normaler Benutzer mit sudo. Bei einem Skript fehlt die Ausführungsberechtigung: chmod +x skript.sh.
No such file or directory#
Der Pfad existiert nicht. Prüfen Sie ihn mit der Taste Tab (sie vervollständigt nur existierende Namen) und achten Sie auf Groß- und Kleinschreibung: Linux behandelt Config.yml und config.yml als verschiedene Dateien.
E: Unable to locate package#
Führen Sie zuerst apt update aus. Bleibt der Fehler, hat das Paket einen anderen Namen; suchen Sie mit apt search.
E: Could not get lock /var/lib/dpkg/lock-frontend #
Im Hintergrund läuft eine andere Installation (oft automatische Updates). Warten Sie einige Minuten und führen Sie den Befehl erneut aus.
No space left on device#
Die Festplatte ist voll. Finden Sie heraus, was den Platz belegt (du -xh --max-depth=1 / 2>/dev/null | sort -h, dann dasselbe im größten Ordner, zum Beispiel du -xh --max-depth=1 /var 2>/dev/null | sort -h), löschen Sie, was Sie nicht brauchen (alte Backups, Logs), räumen Sie Pakete (apt clean) und alte Journaleinträge (journalctl --vacuum-size=200M) auf. Oder erweitern Sie die Festplatte.
Zusammenfassung
- Befehl = Programm, Optionen und Argumente; Tab vervollständigt, Strg+C bricht ab.
- Dateien:
ls,cd,cat,less,nano,cp,mv,rm(endgültig!). - Pakete:
apt update,apt install,apt full-upgrade. - Dienste:
systemctl status|restart|enable, Logs mitjournalctl -u dienst. - Ressourcen:
df -h,du -sh,free -h,htop,ss -tulpn.