Dmitry Nikolaev - stock.adobe.co

50 wichtige Linux-Befehle für die Kommandozeile

Wenn Administratoren von Linux mit der Kommandozeile arbeiten, hilft Ihnen dieser Beitrag, der 50 wichtige Befehle auflistet, die oft verwendet werden.

Es ist schwierig zu sagen, auf welche Linux-Befehle Sie sich konzentrieren oder welche Sie als Einstieg nutzen sollten, weil es so viele gibt. Deshalb haben wir Experten Ken Milberg gefragt und er hat eine Liste mit Befehlen und Tools für Linux zusammengestellt. Diese Liste ist nicht vollständig, weshalb es eine Link-Liste mit weiterführenden Informationen in diesem Beitrag gibt. (Anmerkung der Redaktion)

Einführung in die Kommandozeile und die Linux-Shell

Zwischen einem Befehl und einem Utility gibt es unter Linux und Unix (UNIX) nicht wirklich einen Unterschied. Es unterscheiden sich aber Linux-/Unix-Shell-Befehle und standardmäßige Unix- oder Linux-Systembefehle oder -Tools. Mithilfe der Tastatur können Anwender zwei Arten an Befehlen ausführen, nämlich Shell-Befehle und Linux-/Unix-Befehle.

Jede Shell (Korn, C, Bourne, Bash) bringt dabei einen eigenen Befehlssatz mit, der in das Programm eingebaut ist. Wird der Name eines eingebauten Befehls als erstes Wort eines einfachen Kommandos verwendet, führt die Shell den Befehl direkt aus. Dazu muss sie noch nicht einmal einen neuen Prozess starten. Diese eingebauten Befehle sind notwendig, um gewisse Funktionalitäten zur Verfügung zu stellen. Es wäre sehr unbequem, sie mit separaten Utilities oder Kommandos zu realisieren. Auch wenn jede Shell-Art einen eigenen Befehlssatz hat, sind die individuellen Shell-Befehle gleich. Hier kommt es nicht darauf an, welche Linux-Distribution oder Unix-Variante Sie im Einsatz haben.

Beispiele solcher Linux- und Unix-Befehle sind df, cp und ls. Mit diesen Kommandos kommen Sie an gewisse Informationen oder Sie können diverse Aktionen mit Dateien und Ordnern auf Ihrem System durchführen.

Interessant ist, dass auf POSIX-Systemen das Ausführen von /usr/bin/cd aus einer Shell nicht einmal das Arbeitsverzeichnis der Shell ändert. Das liegt daran, dass Sie den in die Shell eingebauten cd-Befehl verwenden müssen. In POSIX-System-V-Systemen besitzt fast jeder eingebaute Shell-Befehl einen korrespondieren Link auf /usr/bin. Eingebaute Befehle sind in der Shell selbst enthalten. Einige Beispiele von eingebauten Befehlen bezüglich Bourne sind cd, eval, exec, exit, export und pwd. Beispiele der Bash sind alias, declare, echo und enable. So funktioniert das Ganze: Geben Sie einen Befehl ein, überprüft die Shell, ob es sich um ein eingebautes Kommando handelt. Ist das der Fall, wird die Shell diesen ausführen. Sollte dem nicht so sein, wird der Befehl des Systems ausgeführt und die Shell eröffnet dafür einen neuen Prozess.

Oftmals ist ein eingebauter Befehl gleichbedeutend mit dem gleichnamigen des Systems. Zum Beispiel unterscheidet sich der echo-Befehl der Bash von /bin/echo. Beide verhalten sich aber fast identisch. Verwechseln Sie eingebaute Shell-Befehle mit den Linux- oder Unix-Kommandos, die von der Shell geforkt werden, kann das Einfluss auf die entsprechenden Aufgaben haben. Deswegen ist es wichtig, den Unterschied zu verstehen.

Die 50 wichtigsten Linux-Befehle auf der Kommandozeile

1. vmstat

Damit bekommen Sie einen Snapshot der System-Ressourcen. Damit können Administratoren herausfinden, ob ein Flaschenhals mit CPU, Arbeitsspeicher oder I/O zusammenhängt. Führen Sie diesen Befehl aus, erhalten Sie virtuelle Speicherstatistiken.

2. chmod

Das Utility ändert die Berechtigungen einer Datei. Zusätzliche Informationen über die Syntax von chmod und Beispiele finden Sie hier.

3. chown

Mithilfe dieses Befehls ändern Sie den Besitzer einer Datei.

4. find

find durchsucht den Verzeichnisbaum rekursiv. Das Ganze ist abhängig vom Ausdruck (von rechts nach links), den Sie in diesem Befehl verwendet haben. Das Tool sucht nach Dateien, die einem Booleschem Ausdruck entsprechen. Alle Schleifen überprüft find dabei nicht. Trifft auf der linken Seite eine Boolesche Operation (AND und OR) zu, ist die rechte Seite irrelevant. Weitere Informationen zur Dokumentation der GNU-Version von find finden Sie hier.

5. cp

Sie verwenden cp, um Dateien zu kopieren.

6. vi

Der textbasierte Editor vi wird von vielen Linux-Administratoren gerne verwendet. Dabei bringt vi leistungsfähige Funktionen mit, die sowohl Programmierer als auch Systemadministratoren unterstützen. Häufig finden Sie auf Linux-Systemen auch vim (vi improved), da dieser Editor etwas weniger kryptisch zu verwenden ist.

7. enable

enable aktiviert oder deaktiviert einen Drucker.

8. cd

Der cd-Befehl legt das Arbeitsverzeichnis eines Prozesses fest. Als Anwender wechselt man damit auch Ordner.

9. sudo

Ein Systemadministrator kann bestimmten Anwendern oder Gruppen ermöglichen, dass sie einige oder alle Befehle als root oder als ein anderer Nutzer ausführen dürfen. Die Befehle und verwendeten Parameter werden dabei geloggt. sudo steht für superuser do.

10. netstat

Mit dem Befehl netstat zeigt Ihnen das System Informationen über den Netzwerkstatus des Computers. Ebenfalls können Sie herausfinden, auf welchen offenen Ports der Rechner lauscht. Auch die Verbindungen zu anderen Computern im Internet oder eigenen Netzwerk zeigt der Befehl an. Je nach angewandten Parametern liefert das Tool unterschiedliche Informationen.

11. cron

Mit cron können Sie Aufgaben zeitgesteuert automatisieren. Weitere Informationen zur Syntax von cron und Beispiele finden Sie hier.

12. traceroute

Mit traceroute finden Sie den Weg zum Host. Das Tool eignet sich ausgezeichnet, um Probleme im Netzwerk oder mit dem Router zu finden. Sollte die Domäne nicht funktionieren oder verfügbar sein, können Sie traceroute auch zusammen mit einer IP-Adresse verwenden.

13. rsync

rsync synchronisiert Daten von einer Stelle auf der Festplatte mit einer anderen. Das Tool wurde von Andrew Tridgell entwickelt, der zum Kerne-Entwickler-Team von Samba gehört. Sie finden weitere Informationen dazu im Artikel Einfache Backup-Lösung unter Linux mit rsync, SSH und cron realisieren.

14. df

Der Befehl df gibt Informationen über den genutzten Festplattenplatz aus.

15. pwd

Der pwd-Befehl zeigt den Namen des derzeitigen Arbeitsverzeichnisses an. Der Befehl ist eine Abkürzung für print working directory.

16. rpm

Der Red Hat Package Manager (RMP) ist ein Paket-Management-System für die Kommandozeile. Damit können Sie Softwarepakete installieren, deinstallieren und aktualisieren. Ebenfalls ist eine Überprüfung möglich und Sie können nach Paketen suchen. Jedes Softwarepaket besteht aus einem Archiv an Daten und es beinhaltet Informationen, wie zum Beispiel Version und Beschreibung.

17. grep

Mit diesem Tool können Sie in einer oder mehreren Dateien nach bestimmten Zeichenketten oder Mustern suchen. Sie haben damit auch die Möglichkeit, Zeichen durch andere zu ersetzen.

18. ls

Mit ls erhalten Sie diverse Informationen zu Dateien. Administratoren lassen sich damit die Inhalte von Verzeichnissen auflisten. Unter anderem können Sie herausfinden, wann Konfigurationsdateien zum letzten Mal geändert wurden. Für ls gibt es zahlreiche Parameter. Ein Beispiel ist ls -r. Damit lassen Sie sich die Dateien in umgekehrter Reihenfolge anzeigen.

19. man

Das ist die Abkürzung für manual.

20. top

Mit dem Befehl top erhalten Sie umfassende Informationen zur Auslastung des Systems. Sie sehen, wie viel Arbeitsspeicher verbraucht wird und welche Last auf den CPUs liegt. Weiterhin fasst der Befehl top alle laufenden Prozesse zusammen und weist auch auf sogenannte Zombies hin. Letzteres sind nicht mehr funktionierende Prozesse. Ebenso finden Sie via top heraus, welche Prozesse am meisten Ressourcen verbrauchen.

Das etwas übersichtlichere htop gehört auch in diese Kategorie. Allerdings ist es bei den meisten Linux-Distributionen nicht vorinstalliert. Sie finden es aber normalerweise in den Repositories. Weitere Infos zu top gibt es hier.

21. cat

Der Befehl cat leitet sich von concatenate (verketten) ab. Sie können damit Inhalte zusammenfügen. In der Regel verwenden Sie cat unter Linux, um mehrere Dateien zu verknüpfen oder sich als eine einzelne anzeigen zu lassen.

22. mv

Der Befehl mv benennt Dateien um oder verschiebt diese in andere Verzeichnisse.

23. cpio

Sie können mit cpio Dateien von und aus Archiven kopieren.

24. ping

ping wurde nach dem Geräusch benannt, das ein Echolot von sich gibt. Der Befehl schickt Anfragen an einen von Ihnen definierten Host. Nach dem Rundtrip sehen Sie die entsprechenden Antworten. Brechen Sie einen ping zum Beispiel mit der Tastenkombination Strg+C ab, bekommen Sie eine Zusammenfassung des Ergebnisses. Unter anderem sehen Sie die Durchschnittszeit des Rundtrips und den Prozentsatz der Pakete, die verloren gegangen sind. Systemadministratoren verwenden diesen Befehl andauern. Damit stellen Sie zum Beispiel fest, ob es ein Netzwerkproblem zwischen zwei Systemen gibt.

25. ifconfig

Damit überprüfen Sie die Konfiguration der Netzwerkschnittstellen. Sie können die Konfiguration eines Anwenders einsehen, sollte der Client des Nutzers kürzlich eingerichtet worden sein. Ebenso lässt es sich für die Diagnose einsetzen, wenn ein System den entfernten Host nicht erreichen kann und das mit anderen Computern im selben Netzwerk möglich ist. Mit ifconfig können Sie ebenfalls eine Netzwerkadresse temporär festlegen.

26. ssh

Sie verwenden ssh für sichere Netzwerkverbindungen und das Tunneln von TCP-Services. OpenSSH ist die Open-Source-Version. Weitere Infos zu ssh finden Sie in diesem Artikel.

27. tar

Mit dem Tool tar erstellen Sie sogenannte tar-Archive und können diese manipulieren. Sie haben die Möglichkeit, Dateien aus zuvor erstellten tar-Archiven zu extrahieren. Auch das Hinzufügen weiterer Dateien, Updates und das Auflisten des Inhalts sind denkbar. Ursprünglich wurde tar entwickelt, um damit Daten auf Datenbändern zu speichern. Daher auch der Name tar, der sich von Tape Archiver ableitet. Der Name ist in der heutigen Zeit etwas verwirrend, da Sie mit tar ebenso Daten auf andere Geräte oder in Dateien schreiben können. In Kombination mit anderen Tools lassen sich mit tar auch Backups auf entfernten Geräten oder Dateien realisieren.

28. alias

Damit können Sie eine längere Zeichenkette durch eine kürzere oder eine, die Sie sich leichter merken können, ersetzen.

29. apt

Dieses Tool ist der Paket-Manager für Debian-basierte Systeme oder Pakete im .deb-Format. Sie können damit nach Paketen suchen, diese installieren und deinstallieren. Zu apt gehören die Unterbefehle apt-get und apt-cache.

30. aspell

Es handelt sich hier um die GNU-Open-Source-Rechtschreibprüfung. Es ist bekannt für seine großartige Liste an falsch geschriebenen Wörtern.

31. awk

Der awk-Befehl sucht nach Zeichenkettenmustern in einer Datei und verarbeitet diese. Ein Entwickler kann kleine Programme in Form von Ausdrücken schreiben, um Textdateien zu ändern, sollten bestimmte Muster zutreffen. Auch ein Extrahieren von Daten aus solchen Dateien ist möglich. Dieser Befehl vereinfacht Prozesse, die traditionell mit den Programmiersprachen C oder Pascal erledigt wurden. Zusätzliche Informationen zu awk-Syntax und Beispiele finden Sie hier. Die Software gawk steht übrigens für GNU awk und man setzt sie häufig in Linux-Distributionen ein.

32. bzip2

Dieser Befehl reduziert die Größe von Dateien oder Backup-Archiven, in dem man diese mit bzip2 komprimiert. Sie können damit Dateien auch dekomprimieren.

33. cmp

Damit haben Sie die Möglichkeit, Dateien zu vergleichen. Das Programm cmp teilt Ihnen mit, ob zwei oder mehrere Dateien identisch sind.

34. comm

Der comm-Befehl vergleicht zwei sortierte Dateien Zeile für Zeile.

35. declare

Der Befehl declare deklariert Variablen und setzt Attribute.

36. echo

Damit können Sie eine Zeichenkette in der Standardausgabe wiedergeben.

37. eval

Das ist ein spezieller, eingebauter POSIX-Befehl. Er evaluiert mehrere Argumente, indem er sie als zusammengefasstes Argument liest. Im Anschluss gibt es Informationen über den Status des Arguments.

38. exec

Es ist die Kurzform für execute. Der Befehl exec ersetzt den Elternprozess des Kommandos, das Sie eingetippt haben.

39. exit

Damit können Sie ein Programm, eine Shell oder ein Unix-Netzwerk verlassen.

40. export

export legt den Wert einer Variablen fest. Alle Sub-Prozesse können dann darauf zugreifen, die der zur derzeit genutzten Shell gehören.

41. free

Mithilfe des Befehls free erhalten Administratoren Statistiken zum Arbeitsspeicher. Sie sehen eine Zusammenfassung, die in Gesamt, Belegt, Frei, Gemeinsam, Puffer und Cached aufgeteilt ist. Es gibt Einblicke, wie der Kernel den Arbeitsspeicher gerade verwendet.

42. gzip

Das Tool ist ein Kompressions-Utility, das als Ersatz für compress entwickelt wurde. Die Vorteile gegenüber compress liegen in einer besseren Komprimierrate. Weiterhin befinden sich keine patentierten Algorithmen in gzip. Das Utility wurde vom GNU-Projekt adaptiert und wird sehr gerne im Internet eingesetzt. Jean-loup Gailly hat gzip geschrieben und Mark Adler den Dekompressions-Code.

43. ifup

Damit können Sie eine Netzwerkschnittstelle aktivieren. Mit ifdown lässt sich das Netzwerk-Interface deaktivieren.

44. less

Mithilfe von less können Administratoren durch Konfigurations- und Log-Dateien oder alle anderen Textdateien blättern. Dabei zeigt das Tool die Textdateien auf dem Bildschirm an. Der Befehl erlaubt es auch, nach Text innerhalb eines Dokuments zu suchen. more wird oft zusammen mit less verwendet. Damit können Sie sich die Dateien seitenweise anzeigen lassen.

45. locate

locate listet Dateien in einer Datenbank auf, die dem eingegebenen Muster entsprechen. Damit finden Sie Dateien im System.

Secure locate (slocate) stellt eine Möglichkeit zur Verfügung, Dateien auf ihrem System schnell zu finden und zu indizieren. Es verwendet genau wie GNU locate inkrementelle Enkodierung, um die Datenbank zu komprimieren. Dadurch wird die Suche beschleunigt. Allerdings speichert das Tool auch Dateiberechtigungen und den Besitzer. Somit sehen die Anwender keine Dateien in den Ergebnissen, für die sie keine Zugriffsrechte haben. Das Tool bietet auch unterschiedliche Methoden an, um Dateien unter Linux zu finden.

46. netconfig, netcfg

Mit netconfig können Sie ein Netzwerk konfigurieren. In einer Reihe an Konfigurationsbildschirmen geben Sie die entsprechenden Informationen an.

47. screen

Das Utility screen ist ein Terminal-Multiplexer. Sie können im Endeffekt ein einziges Terminalfenster verwenden und darin mehrere Terminalapplikationen laufen lassen. screen verwenden Administratoren gerne, da ein Prozess beim Verlassen des screen-Fensters nicht terminiert wird. Somit können Sie einen Prozess anstoßen, screen verlassen und sich dann vom System abmelden, ohne den Prozess zu unterbrechen.

48. sed

sed steht für Streams Editor und ist genau genommen kein Editor oder eine Textverarbeitung. Sie verwenden es, um damit Text zu filtern. Sie können zum Beispiel diverse Operationen durchführen, um damit eingehenden Text zu modifizieren. Das Tool sed verwenden Administratoren in der Regel, um mithilfe bestimmter Muster Text aus Dateien zu extrahieren. Auch das Ersetzen von Zeichenketten innerhalb einer Datei realisiert man damit gerne.

49. shutdown

Mithilfe von shutdown fahren Sie einen Computer herunter. Sie können den Befehl auch mit diversen Parametern wie zum Beispiel -h für Halt oder -r für Reboot verwenden.

50. snort

snort ist ein IPS/IDS (Intrusion Prevention System/Intrusion Detection System), das eine regelbasierte Sprache verwendet. Somit kombiniert man die Vorteile bei der Untersuchung von Signatur, Protokoll und Anomalien. snort ist derzeit das am meist eingesetzte IDS/IPS und hat sich in der Branche zum De-Facto-Standard gemausert.

Erfahren Sie mehr über Serverbetriebssysteme