| Schnelle Systeminformationen | |
hostnamectl | zeigt den Hostnamen und grundlegende Systemdaten (virtuell/Hardware, Hostname) |
uname -a | Informationen zum Linux-Kernel (Version, Architektur). |
lsb_release -a | Ubuntu-Distributionsversion (Release, Codename) |
uptime | wie lange der Server läuft + aktueller Lastdurchschnitt. |
w | wer angemeldet ist und was er tut (Sitzungen, Auslastung, Befehle). |
who | Liste der angemeldeten Benutzer |
id | UID/GID des aktuellen Benutzers und seiner Gruppe. |
date | aktuelles Datum/Uhrzeit. |
timedatectl | Uhrzeit, Zeitzone, NTP-Synchronisation. |
| |
| wer -b | Datum und Uhrzeit des letzten Downloads |
| Betriebszeit -s | Datum und Uhrzeit des letzten Downloads |
| last -x | grep boot | Kopf -n 1 | Datum und Uhrzeit des letzten Downloads |
| |
| Benutzer und Gruppen | |
adduser vit | erstellt einen Benutzer (mit einem Home-Ordner und Grundeinstellungen). |
deluser vit | löscht den Benutzer (berührt normalerweise nicht den Home-Ordner ohne Optionen). |
passwd vit | legt/ändert das Benutzerpasswort. |
usermod -aG sudo vit | Fügt den Benutzer der Gruppe sudo hinzu (gibt Sudo-Rechte). |
chage -l vit | Zeigt die Passwortrichtlinie (Gültigkeit/Ablauf) an. |
groupadd devs | erstellt die Gruppe devs. |
usermod -aG devs vit | Fügt den Benutzer der Gruppe devs hinzu. |
| |
| Berechtigungen und Eigentum | |
chmod 640 file | ändert Zugriffsrechte (Beispiel: Eigentümer rw, Gruppe r, andere ohne Rechte). |
chown user:group file | Ändert den Besitzer und die Gruppe einer Datei. |
getfacl file | zeigt ACL-Rechte (erweiterte Rechte neben chmod). |
setfacl -m u:vit:rwx dir | erteilt dem Benutzer vit ACL-Rechte für das Verzeichnis. |
| |
| Sudo (Administratorzugriff) | |
sudo -i | Öffnen Sie die Root-Shell (fast wie eine vollständige Root-Anmeldung). |
sudo -l | zeigt, welche Befehle der aktuelle Benutzer über sudo ausführen kann. |
visudo | sichere Bearbeitung /etc/sudoers (überprüft die Syntax vor dem Speichern). |
journalctl _COMM=sudo | Zeigt Ereignisse im Zusammenhang mit sudo an (wer/wann aufgerufen). |
| |
| systemd/systemctl – Dienstverwaltung | |
systemctl status nginx | Dienststatus: ob er aktiv ist, PID, letzte Protokollzeilen. |
systemctl start nginx | startet den Dienst. |
systemctl stop nginx | stoppt den Dienst. |
systemctl restart nginx | startet den Dienst neu. |
systemctl enable nginx | Aktiviert Autorun beim Booten. |
systemctl disable nginx | schaltet Autorun aus |
systemctl is-enabled nginx | Schnelle Antwort: Autorun ist aktiviert oder nicht. |
systemctl list-units --type=service --state=running | Liste aller laufenden Dienste. |
systemctl list-unit-files --type=service | Liste der Einheiten und deren Autorun-Modus. |
systemctl status nginx -l | Status mit „langen“ Linien ohne Beschnitt. |
journalctl -u nginx -b | Protokolle eines bestimmten Dienstes ab dem Zeitpunkt des Ladens. |
journalctl -u nginx --since "1 hour ago" | Serviceprotokolle der letzten Stunde. |
| |
| Prozesse und Laden | |
top | Zeigt interaktiv Prozesse, CPU, Speicher, Auslastung an. |
htop | ein praktischeres Analogon von top (falls installiert). |
ps aux --sort=-%cpu | head | Top-Prozesse nach CPU. |
ps aux --sort=-%mem | head | Top-Prozesse nach Speicher. |
pidof nginx | PID des Prozesses nach Namen (falls eine/mehrere, wird alles angezeigt). |
pgrep -a nginx | PID + Befehl ausführen (nützlicher als pidof) |
kill -TERM <pid> | „sanft“ fordert den Prozess zum Beenden auf (bevorzugt). |
kill -9 <pid> | „harte“ Kills (nur verwenden, wenn sie gefroren sind). |
nice -n 10 <cmd> | führt einen Befehl mit reduzierter CPU-Priorität aus. |
renice 10 -p <pid> | Ändert die Priorität eines bereits laufenden Prozesses. |
| |
| Speicher, Festplatte, Dateisysteme | |
free -h | Verwendung von RAM und Swap in für Menschen lesbarer Form. |
vmstat 1 5 | Kurze CPU-/Speicher-/IO-Statistiken alle 1 Sekunde (5 Mal). |
df -h | beschäftigt/frei auf Dateisystemen. |
df -i | Überprüfen des Inodes (manchmal ist Platz vorhanden, aber der Inode ist erschöpft). |
lsblk -f | Festplatten/Partitionen/FS/UUID (praktisch für Diagnose und Mounten). |
blkid | UUID- und Dateisystemtypen. |
du -h --max-depth=1 /var | sort -h | welche Ordner in /var Speicherplatz beanspruchen. |
sudo du -xh / | sort -h | tail -n 30 | Die schwersten Verzeichnisse befinden sich im Stammverzeichnis. |
lsof | grep deleted | Zeigt Prozesse an, die gelöschte Dateien geöffnet halten. |
| |
| Netzwerk und Ports | |
ip a | IP-Adressen, Schnittstellen, Status. |
ip r | Routing-Tabelle (wohin der Datenverkehr standardmäßig geleitet wird). |
ss -tulpn | welche Ports abgehört werden (TCP/UDP) und von welchen Prozessen. |
ss -tpn | aktive TCP-Verbindungen und -Prozesse. |
ping -c 4 1.1.1.1 | Überprüfung von ICMP zu IP (ob eine Verbindung zum Internet/Netzwerk besteht). |
ping -c 4 google.com | DNS + Verbindungsprüfung. |
curl -I https://example.com | Überprüfen Sie HTTP(S)-Header und Verfügbarkeit. |
wget -S --spider https://example.com | „Prüfen ohne Herunterladen“ zeigt die Serverantwort an. |
resolvectl status | Die aktuellen DNS-Einstellungen sind systemd-aufgelöst. |
resolvectl query example.com | Überprüfen Sie, wie die Domain aufgelöst wird. |
traceroute 8.8.8.8 | der Pfad der Pakete zum Knoten (wo sie „sterben“). |
| `mtr -rw 8.8.8.8 | Traceroute + Verluststatistik (sehr praktisch). |
| |
| Firewall (UFW) | |
ufw status verbose | aktuelle Regeln und Betriebszeiten. |
ufw allow 22/tcp | eingehendes SSH zulassen. |
ufw allow 80,443/tcp | HTTP/HTTPS zulassen. |
ufw deny 23/tcp | Port verweigern (Beispiel: Telnet). |
ufw delete allow 80/tcp | eine bestimmte Regel löschen. |
ufw enable | Firewall aktivieren. |
ufw disable | Schalten Sie die Firewall aus. |
| |
| SSH (Zugriff und Diagnose) | |
ssh user@host | Verbindung über SSH. |
ssh -v user@host | Detailliertes Debugging: Schlüssel, Algorithmen, Fehlergründe. |
ssh-keygen -t ed25519 | Erstellen Sie einen SSH-Schlüssel. |
ssh-copy-id user@host | Kopieren Sie den Schlüssel auf den Server (um sich ohne Passwort anzumelden). |
systemctl status ssh | SSHD-Status. |
journalctl -u ssh -b | SSHD-Protokolle ab dem Moment des Bootens. |
| |
| Pakete und Updates (APT/dpkg) | |
apt update | Aktualisiert die Liste der Pakete aus den Repositorys. |
apt upgrade | Aktualisiert Pakete ohne „gefährliche“ Abhängigkeitsersetzungen. |
apt full-upgrade | aktualisiert Pakete, kann Abhängigkeiten entfernen/ersetzen (manchmal notwendig). |
apt install pkg | Paketinstallation. |
apt remove pkg | Entfernen des Pakets (Konfigurationen können verbleiben). |
apt purge pkg | Entfernen des Pakets zusammen mit seinen Konfigurationen. |
apt autoremove | Entfernt verwaiste Abhängigkeiten. |
apt clean | löscht den Cache der heruntergeladenen Pakete. |
apt policy nginx | zeigt Versionen (installierte/verfügbare Quellen). |
apt-cache madison nginx | Liste der verfügbaren Paketversionen. |
dpkg -l | grep nginx | welche Nginx-Pakete installiert sind. |
dpkg -S /path/to/file | welches Paket die Datei „besitzt“. |
| |
| Datei-/String-Suche und Ausrichtung | |
find / -name "nginx.conf" 2>/dev/null | Suchen Sie nach einer Datei anhand des Namens (wir verbergen Zugriffsfehler). |
grep -R "PermitRootLogin" /etc/ssh -n | Suche nach einer Zeile in Dateien rekursiv + Zeilennummern. |
rg "server_name" /etc/nginx | Schnellsuche (ripgrep), falls installiert. |
which nginx | Pfad zur ausführbaren Datei, die von der Shell gestartet wird. |
whereis nginx | Wo sind die Binär-/Quellen-/Manpages (breiter als which). |
type nginx | zeigt, was es ist: alias/function/built-in/file. |
| |
| Planer: Cron- und Systemd-Timer | |
crontab -l | Liste der Cron-Jobs für den aktuellen Benutzer. |
sudo crontab -l | Cron-Jobs für Root. |
crontab -e | cron bearbeiten. |
ls -l /etc/cron.* | System-Cron-Verzeichnisse (täglich/wöchentlich/monatlich). |
systemctl list-timers --all | Liste der systemd-Timer (was läuft und wann). |
| |
| Docker (falls verwendet) | |
docker ps | Laufende Container. |
docker logs -f <container> | Containerprotokolle (Überwachung in Echtzeit). |
docker exec -it <container> bash | Gehen Sie in den Behälter. |
docker stats | Containerlast (CPU/RAM/IO). |
| |
| Schnelldiagnose-Checkliste (5 Befehle) | |
systemctl status <service> -l | Gibt es den Dienst und was steht darin? |
journalctl -u <service> -b | tail -n 200 | Servicefehler. |
ss -tulpn | ob der Port lauscht. |
df -h; df -i; free -h | Standort/Inodes/Speicher. |
ip r; resolvectl query google.com; curl -I https://example.com | Route/DNS/HTTP. |
| |
| |