Website-Suche

Die 20 besten Linux-Befehle für den täglichen Gebrauch auf Produktionsservern


Als Linux SysAdmin, der in einer Produktionsumgebung arbeitet, dreht sich Ihre tägliche Routine darum, Systeme stabil, sicher und leistungsfähig zu halten. Vom Beheben von Problemen über die Überwachung von Ressourcen bis hin zur Sicherstellung der Betriebszeit tragen Sie viele Hüte, und Zeit ist stets von entscheidender Bedeutung.

Während Linux Tausende von Befehlen bietet, sind nicht alle Teil Ihres täglichen Werkzeugkastens. Es gibt jedoch eine Kernmenge leistungsstarker, zuverlässiger Befehle, die Sie jeden Tag, oft mehrfach, verwenden werden.

In diesem Artikel werde ich Sie durch die 20 wichtigsten Linux-Befehle führen, die jeder Systemadministrator beherrschen sollte. Diese sind nicht nur Befehle, sondern Ihre unverzichtbaren Werkzeuge zur Überwachung der Leistung, Verwaltung von Protokollen, Kontrolle von Diensten, Fehlerbehebung und vieles mehr.

1. htop – Interaktiver Prozess-Viewer

Wenn Sie noch top verwenden, ist es Zeit, zu htop zu wechseln, einer leistungsstarken, benutzerfreundlichen Alternative, die CPU-, Speicher- und Swap-Auslastung, Prozessbaum und mehr in einer übersichtlichen, interaktiven Oberfläche anzeigt.

htop

Verwenden Sie die Pfeiltasten zum Scrollen, F6, um Prozesse zu sortieren, und F9, um einen zu beenden, was viel einfacher ist, als manuell die PID zu finden und den kill-Befehl zu verwenden.

2. lsof – Liste offene Dateien und Sockets

lsof steht für List Open Files und ist eines der leistungsstärksten Werkzeuge, um zu erkennen, welcher Prozess eine bestimmte Datei, ein Verzeichnis oder einen Netzwerkport auf einem Linux-System verwendet.

lsof -i :80

Dies zeigt die PID, den Benutzer und den Befehl an, der derzeit Port 80 verwendet, was typischerweise nützlich ist, wenn Ihr Webserver nicht startet, weil der Port bereits verwendet wird.

3. journalctl – Systemprotokolle anzeigen (Systemd)

Auf systemd-basierten Systemen (wie RHEL 7+, CentOS 7+, Ubuntu 18.04+) ist journalctl Ihr Werkzeug der Wahl zum Zugreifen auf und Analysieren von Systemprotokollen.

journalctl -xe

Dieser Befehl zeigt die neuesten Protokolle mit Schwerpunkt auf Fehlern und kritischen Meldungen an – super nützlich, wenn etwas kaputt geht.

Möchten Sie die Protokolle für einen bestimmten Dienst überprüfen? Fügen Sie einfach das -u-Flag gefolgt vom Namen des Dienstes hinzu:

journalctl -u nginx

4. systemctl – Systemd-Dienste verwalten

Die meisten modernen Linux-Distributionen verwenden systemd als Standard-Init-System, und der Befehl systemctl ermöglicht es Ihnen, Dienste auf Ihrem System zu starten, zu stoppen, neu zu starten, zu aktivieren, zu deaktivieren und deren Status zu überprüfen.

Hier sind einige der häufigsten und nützlichsten Beispiele:

# Check the status of a service
systemctl status apache2

Restart the SSH service
systemctl restart sshd

Enable Nginx to start at boot
systemctl enable nginx

5. du – Festplattennutzung überprüfen

Müssen Sie herausfinden, was auf Ihrem Server Speicherplatz beansprucht? Der Befehl du (Disk Usage) ist das Standardwerkzeug dafür.

du -sh /var/*

Dieser Befehl zeigt die Größe jedes Unterverzeichnisses innerhalb von /var an. Das -s-Flag gibt eine Zusammenfassung (anstatt jede Datei aufzulisten), und -h macht die Ausgabe menschenlesbar (wie MB, GB statt nur Bytes).

120M   /var/log  
1.5G   /var/lib  
4.0K   /var/tmp  

6. df – Festplattennutzung überprüfen

Möchten Sie wissen, wie viel Speicherplatz auf den Festplatten Ihres Servers noch frei ist? Verwenden Sie den Befehl df, der zeigt, wie viel Festplattenspeicher genutzt wird und wie viel auf allen eingebundenen Dateisystemen noch verfügbar ist.

df -h

Dieser Befehl ist unerlässlich, wenn Sie mit vollen Festplatten, Backups oder Anwendungsabstürzen aufgrund fehlendem Speicherplatz zu tun haben.

7. kostenlos – Speicher- und Swap-Nutzung überprüfen

Zu wenig Speicher? Verwenden Sie den Befehl free, um zu überprüfen, wie viel RAM und Swap Ihr System verwendet.

free -h

8. Betriebszeit – Systemlaufzeit und Durchschnittliche Last überprüfen

Der Befehl uptime zeigt Ihnen, wie lange Ihr Linux-System bereits läuft, wie viele Benutzer angemeldet sind und die durchschnittliche Systemauslastung der letzten 1, 5 und 15 Minuten.

uptime

Beispielausgabe:

10:42:35 up 3 days,  5:22,  2 users,  load average: 0.10, 0.25, 0.32

9. top – Das grundlegende Echtzeit-Systemmonitor

top ist nicht so benutzerfreundlich wie htop, aber es ist auf fast jedem Linux-System vorinstalliert. Wenn Sie an einem minimalen oder frisch installierten Server arbeiten, auf dem htop noch nicht verfügbar ist, ist top Ihre schnelle Lösung.

top

10. ps aux – Eine Momentaufnahme der laufenden Prozesse erstellen

Brauchen Sie einen schnellen Überblick über alle Prozesse, die auf Ihrem System laufen? ps aux gibt Ihnen eine vollständige Momentaufnahme – wer was ausführt, wie viel CPU und Speicher sie verwenden und mehr.

ps aux | grep apache

Dieser Befehl listet alle Prozesse auf, und der Teil grep apache filtert nur die, die mit Apache zu tun haben. Sehr praktisch, wenn man Dienste verfolgt, Probleme debuggt oder Skripte schreibt, die die Prozessaktivität überwachen.

Möchten Sie tiefer eintauchen? Verwenden Sie:

ps aux --sort=-%mem | head

Dies zeigt die speicherintensivsten Prozesse, sortiert in absteigender Reihenfolge.

11. netstat/ss – Netzwerkverbindungen überprüfen

Als Systemadministrator ist es wichtig zu wissen, welche Dienste auf welchen Ports lauschen und welche Remoteverbindungen auf Ihrem Server aktiv sind.

Jahrelang war netstat der bevorzugte Befehl. Aber jetzt hat ss (Socket-Statistiken) seinen Platz eingenommen – es ist schneller, moderner und wird aktiv gepflegt.

ss -tuln

12. ip – Netzwerkinterface und Routing

Der Befehl ip ist der moderne Ersatz für die alten Befehle ifconfig und route. Wenn Sie immer noch ifconfig verwenden, ist es Zeit zu wechseln – ip ist leistungsfähiger, wird aktiv gepflegt und ist standardmäßig auf allen modernen Linux-Distributionen verfügbar.

Hier sind zwei wichtige Unterbefehle, die Sie täglich verwenden werden:

ip a        # Shows all IP addresses and network interfaces
ip r        # Displays the system's routing table

13. ping – Netzwerkverbindung

Eines der einfachsten und schnellsten Werkzeuge, um zu überprüfen, ob ein Host (Website, Server oder IP) von Ihrem System aus erreichbar ist. Es funktioniert, indem ICMP (Internet Control Message Protocol) Echo-Anfragen gesendet und auf Antworten gewartet werden.

ping google.com

Wenn der Host erreichbar ist, sehen Sie Antworten mit Zeit, TTL (Time to Live) und Paketstatistiken. Möchten Sie nur einige Pakete senden, anstatt endlos zu überfluten? Verwenden Sie die Option -c (für Anzahl):

ping -c 4 google.com

14. traceroute/tracepath – Netzwerk-Routen-Debugging

Wenn ein Server oder eine Website nicht reagiert und ping Ihnen keine Antworten gibt, ist es an der Zeit zu sehen, wie Ihre Pakete durch das Netzwerk reisen und wo sie hängen bleiben. Hier kommt traceroute (oder seine Alternative tracepath) ins Spiel.

Diese Befehle zeigen den gesamten Weg, den Ihr Paket von Ihrem System zum Ziel nimmt, und listen jeden zwischengeschalteten Router oder Hop auf dem Weg auf.

traceroute google.com

15. nc (Netcat) – Verbindung zu Ports testen

nc, kurz für Netcat, wird oft als Schweizer Taschenmesser des Netzwerkens bezeichnet. Eine der gebräuchlichsten und leistungsfähigsten Anwendungen für Systemadministratoren ist zu überprüfen, ob ein Port auf einem entfernten Rechner geöffnet und erreichbar ist – sehr praktisch zur Fehlersuche bei Diensten wie SSH, Webservern oder Datenbankports.

Angenommen, Sie möchten testen, ob SSH (Port 22) auf einem entfernten Server 192.168.1.10 offen ist.

nc -zv 192.168.1.10 22

16. rsync – Dateien über SSH synchronisieren

Wenn es darum geht, Dateien zu sichern oder zu synchronisieren, ist nichts besser als rsync, das schnell, effizient und netzwerkfreundlich ist. Im Gegensatz zu scp, das alles von Grund auf kopiert, überträgt rsync nur geänderte Teile von Dateien, was sowohl Zeit als auch Bandbreite spart.

rsync -avz /data/ user@remote:/backup/

Dieser Befehl wird verwendet, um alles im Verzeichnis /data/ von Ihrem lokalen Computer mit einem Remote-Server über SSH zu synchronisieren oder zu kopieren und es in das Verzeichnis /backup/ auf diesem Server zu platzieren.

17. crontab – Aufgaben planen (Aufgabenautomatisierung)

Als Systemadministrator möchten Sie nicht jeden Tag manuell Skripte ausführen, oder? Hier kommt crontab ins Spiel, das es Ihnen ermöglicht, Aufgaben automatisch zu bestimmten Zeiten auszuführen – sei es für das Ausführen von Backups, das Rotieren von Protokollen oder das Senden von Berichten.

crontab steht für “cron Tabelle” – eine Datei, die eine Liste von Befehlen enthält, die vom Cron-Daemon nach einem Zeitplan ausgeführt werden. Es ist wie Ihr persönlicher Aufgabenplaner für Linux.

crontab -e

Fügen Sie Einträge hinzu wie:

0 2 * * * /usr/bin/backup.sh

Jede Zeile in einer Crontab folgt diesem 5-Felder-Format:

* * * * *  command-to-run
│ │ │ │ │
│ │ │ │ └── Day of the week (0 - 7) [Sunday = 0 or 7]
│ │ │ └──── Month (1 - 12)
│ │ └────── Day of the month (1 - 31)
│ └──────── Hour (0 - 23)
└────────── Minute (0 - 59)

18. tail -f – Echtzeit-Protokollüberwachung

Wenn auf einem Linux-System etwas schiefgeht, sind Protokolle normalerweise der erste Ort, an dem Sie nachsehen sollten. Der Befehl tail -f ermöglicht es Ihnen, Protokolle in Echtzeit anzusehen, was beim Debuggen sehr hilfreich ist.

tail -f /var/log/messages

Möchten Sie Protokolle für einen bestimmten Dienst oder ein Schlüsselwort filtern? Kombinieren Sie es mit grep:

tail -f /var/log/syslog | grep sshd

19. chmod und chown – Dateiberechtigungen und Eigentum

Die Verwaltung von Dateiberechtigungen ist auf jedem Linux-System entscheidend, und diese beiden Befehle helfen Ihnen zu steuern, wer auf was zugreifen kann:

  • chmod setzt Berechtigungen (lesen, schreiben, ausführen).
  • chown ändert den Besitzer und die Gruppe.

Beispiele:

chmod 755 script.sh
chown user:user file.txt

20. finden – Nach Dateien suchen

Sie müssen eine Datei finden, sind sich aber nicht sicher, wo sie ist? Der Befehl find ist Ihre beste Wahl, da er leistungsstark, flexibel ist und nach Dateiname, Größe, Typ oder sogar Änderungsdatum funktioniert.

find /var/log -name "*.log"

Möchten Sie alte Dateien aufräumen?

find /tmp -type f -mtime +7 -delete

Das löscht Dateien in /tmp, die älter als 7 Tage sind – sehr nützlich für Skripte zur Festplattenbereinigung.

Letzte Worte

Als SysAdmin kann das Wissen um diese 20 Befehle Ihre Effizienz drastisch verbessern. Ob Sie ein Problem beheben, den Systemzustand überwachen oder Aufgaben automatisieren – dies sind die Werkzeuge, zu denen Sie täglich greifen werden.

Wenn Sie diesen Artikel hilfreich fanden, teilen Sie ihn mit Ihren Mit-Linux-Administratoren oder speichern Sie ihn für künftige Referenz.