Linux Befehle

Dieser Artikel listet die zur Navigation und Administration von Linux-Distributionen über das Command Line Interface (CLI) - im Linux-Umfeld in der Regel Terminal oder Shell genannt - gebräuchlichsten Befehle und Optionen.
Befehlssyntax
Linux-Befehle sind nach folgender Syntax aufgebaut:
kommando [-optionen <parameter >] [<argumente>]
oder
kommando [--option_lang <parameter>] [<argumente>]
Der Kommandoteil ruft ein Programm auf, welches eine oder mehrere Funktionen erfüllt. Das Kommando ls zum Beispiel listet den Inhalt des Ordners auf, in dem sich der Benutzer gerade befindet.
In der Regel kann man mit Optionen dem Programm zusätzliche Informationen geben, wie es sich verhalten soll. Es kann sich dabei um die Art oder Länge der Ausgabe, aber auch um das Verhalten bei Fehlern o.ä. handeln.
Sowohl das Kommando als auch die Optionen können zusätzliche Parameter für die Ausgabe benötigen[1]. Will man zum Beispiel einen Ordner verschieben, müssen sowohl Quell- als auch Zielordner angegeben werden.
Beispiel
Wir betrachten das Kommando: ping -c 3 localhost
Dieser Befehl ist folgendermaßen gegliedert:
| Befehlsteil | Syntax | Beschreibung |
|---|---|---|
ping
|
Kommando-Name | Das Paket "Ping" wird aufgerufen |
-c
|
Option | Die Anzahl der Pingvorgänge wird festgelegt |
3
|
Options-Parameter | Es werden 3 Pingvorgänge bestimmt |
localhost
|
Kommando-Parameter | Zieladresse, welche gepingt werden soll |
Hilfsbefehle
Linux bietet mehrere Möglichkeiten, Hilfe zu Befehlen und ihren Optionen zu erhalten.
| Befehl | Beschreibung |
|---|---|
man |
Steht für Manual und ruft die Manpage eines Befehls auf |
whatis |
Nutzt ebenfalls die Manpages, gibt aber nur eine kurze Zusammenfassung über den Befehl |
info |
Startet ein Dienstprogramm zur Darstellung von Anleitungen eines Befehls |
apropos |
Zur Suche von Schlagwörtern innerhalb aller Manuals |
Standardoptionen
Linux Programme verwenden außerdem einige Standardoptionen, die alle dort gelisteten Pakete verstehen.
| Option | Beschreibung |
|---|---|
-h, --help |
Zeigt alle verfügbaren Optionen des Kommandos an und beendet den Prozess. |
--version |
Zeigt die Version des Pakets an und beendet den Prozess. |
-- |
Begrenzt die Optionen. Nach einem -- angeführte Optionen werden als Kommandoparameter interpretiert. Das Kommando sort -- -r würde die Datei -r zu sortieren versuchen.
|
Commands
Im folgenden werden die wichtigsten Befehle bei der Administration von Serversystemen nach Kategorien geordnet und aufgelistet. Die Tabellen geben außerdem Auskunft darüber, ob die jeweiligen Programme in einer Minimalinstallation eines Debian Linux enthalten sin.
System
Die folgenden Pakete geben Systeminformationen wieder oder stellen die Möglichkeit zur Manipulation bestimmter Systemparameter zur Verfügung.
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | uname | Namen und Informationen des laufenden Kernels aufrufen | -a, --all
|
Zeige alle Informationen | unix name | ||
-r, --kernel-release
|
Release‐Nummer des Kernels ausgeben | ||||||
-v, --kernel-version
|
Version des Kernels ausgeben | ||||||
| ✔ | hostname | Hostnamen des Systems abrufen oder setzen | -I, --all-ip-adresses
|
Gibt alle Netzwerkadressen des Hosts an | |||
-f, --fqdn, --long
|
Zeigt den Fully Qualified Domain Namen (FQDN) an | ||||||
-s, --short
|
Zeigt den Kurznamen des Hosts an | ||||||
| ✔ | uptime(siehe auch w) | Laufzeit (Uptime) des Systems (und angemeldete Nutzer sowie Auslastungsdaten) ausgeben | -p, --pretty
|
Verkürzt die Anzeige auf die reine Uptime | |||
| ✔ | lscpu | Informationen über die Prozessorarchitektur anzeigen | -a, --all
|
Zeigt alle Online und Offline CPUs an. Darf nur zusammen mit -e oder -p verwendet werden
|
list cpu | ||
-e, --extended
|
=Liste1,Liste2,... (Listenelemente können sein: CPU, CORE, SOCKET, BOOK, NODE, CACHE, ADDRESS, ONLINE, CONFIGURED, POLARIZATION)
|
Zeigt die Liste in menschenlesbarem Format an | |||||
-p, --parse
|
=Liste1,Liste2,...(Listenelemente wie oben) | Macht die Ausgabe maschinenlesbar | |||||
| ✔ | lsblk | Zeigt Informationen zu ausgewählten oder allen Block Devices an | -a, --all
|
Zeigt alle Geräte an | list block | ||
-f, --fs
|
Zeigt das Dateisystem an | ||||||
-t, --tree
|
Zeigt die Geräte in einem Baum an | ||||||
| ✔ | lsmod | Auflisten von geladenen Kernel Modulen | list modules | ||||
| ✔ | lsusb | Auflisten von Geräten, welche am Universal Serial Bus (USB) angeschlossen sind | -v, --verbose
|
Ausführliche Informationen anzeigen | list usb | ||
-t, --tree
|
Ausgabe als Verzeichnisbaum anzeigen | ||||||
| ✔ | free | Freien und belegten Speicher anzeigen | -h, --human
|
Macht die Ausgabe menschenlesbar. Dazu wird auf die kleinste Einheit mit drei Ziffern skaliert | |||
-s, --seconds
|
Gibt den freien Speicher fortlaufend nach dem festgelegten Zeitintervall an | ||||||
-c, --count
|
Legt die Anzahl der Zeitintervalle an, nach denen der Prozess beendet werden soll | ||||||
| ✔ | df | Festplattenbelegung anzeigen | -h, --human-readable
|
Macht die Ausgabe menschenlesbar | disk free | ||
-t, --type
|
=TYP | Listet nur die angegebenen Dateisysteme aus | |||||
-T, --print-type
|
Gibt eine Spalte mit Angabe des Dateisystems aus | ||||||
| ✔ | du | Zeigt die Festplattennutzung von Dateien an | -h, --human-readable
|
Macht die Ausgabe menschenlesbar | disk usage | ||
-c, --total
|
Gesamtsumme erstellen | ||||||
| ✔ | modinfo | Zeigt Informationen über bestimmte Linux Kernel Module | <modulname>
|
module information | |||
| ✔ | grep | Sucht in Dateien oder Systemausgaben nach Mustern und gibt diese aus | -f, -file=
|
<dateiname>
|
Durchsucht eine bestimmte Datei nach Suchmustern | global regular expression print | |
-e,--regexp=
|
<Muster>
|
Sucht nach einem bestimmten Muster | |||||
-r,-recursive
|
Durchsucht unterhalb jedes Verzeichnisse rekursiv |
Prozessverwaltung
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | top | Zeige alle laufenden Prozesse | table of processes | ||||
| ✔ | kill | Beendet einen Prozess | -L
|
Listet alle Signale, die an einen Prozess gesendet werden können | <Prozess ID (PID)>
|
||
| ✔ | pkill | Sendet ein SIGTERM Signal an den benannten Prozess
|
<Prozessname>
|
process kill | |||
| ✔ | killall | Beendet alle Prozesse anhand ihres Namens | <Prozessname>
|
||||
| ✔ | ps | Berichtet über den Prozessstatus | -e
|
Wählt alle Prozesse aus | process status | ||
-f
|
Zeigt die Auflistung im Vollformat an | ||||||
| ✘ | bg | Befiehlt Jobs, im Hintergrund ausgeführt zu werden1 | <Jobbezeichnung>
|
background | |||
| ✘ | fg | Befiehlt Jobs, im Vordergrund ausgeführt zu werden | <Jobbezeichnung>
|
foreground | |||
| ✔ | nice | Bestimmt die Priorität eines Befehls bei der Zuteilung von Prozessorzeit | <Prozessname>
|
nice | |||
| ✔ | renice | Ändert den nice-Wert von laufenden Prozessen | <nice value (-20[hoch] bis +19[niedrig])> <Prozess-ID>
|
1 Will man einen Job starten und diesen im Hintergrund ausführen lassen, so kann man auch ein & an das Ende des Kommandos setzen. Beispiel: ping 8.8.8.8 > pinglog &.
Netzwerk
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | ip | Anzeige und Verwaltung von Routing, Netzwerkgeräten, Interfaces und Tunneln | Internet Protocol | ||||
| ✘ | dig | Sucht nach Informationen zu angegebenen Domain Name Servern | Domain Information Groper | ||||
| ✘ | nslookup | Direkte Abfrage von Domain Name Servers (DNS) über das Internet | Name Server lookup | ||||
| ✘ | traceroute | Gibt die Route zum eingegebenen Host aus | <host-ip>
|
||||
| ✘ | tracepath1 | Verfolgt den Pfad zu einem Netzwerkhost | |||||
| ✘ | host | Tool zur Konvertierung von IP-Adressen in DNS Namen und anders herum | |||||
| ✔ | ping | Versucht einen Host per ICMP über ein Netzwerk zu erreichen | |||||
| ✔ | ss | Gibt die Statistiken für Sockets zurück | Socket Statistics | ||||
| ✘ | ssh | OpenSSH Client für die Anmeldung an entfernten Hosts | Secure Shell | ||||
| ✘ | scp | Transferiert Daten über OpenSSH per SFTP-Protokoll | Secure Copy | ||||
| ✘ | route | Ein Filter für Pakete, die über bestimmte Routen gesendet werden | |||||
| ✔ | iw[2] | Anzeigen und ändern von Wireless Geräten und ihren Konfigurationen | Interface Wireless | ||||
| ✘ | mtr | Werkzeug zur Diagnose von Netzwerken | |||||
| ✘ | whois | Client für den whois Directory Service | |||||
| ✘ | iftop | Zeigt die Banbdreitenverwendung der Netzwerkinterfaces des Hosts an | interface table of processes | ||||
| ✘ | tcpdump | Gibt Informationen zu Paketen im Netzwerk aus | |||||
| ✘ | ifplugstatus | Prüft den "Link-Beat" der Netzwerkschnittstellen | interface plug status | ||||
| ✔ | wget | Nicht-interaktive Download-Applikation | |||||
| ✘ | curl | Werkzeug für den Transfer von Daten zu oder von einem Server |
1 Kann über die iputils installiert werden.
Verzeichnisstruktur
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Eselsbrücke |
|---|---|---|---|---|---|---|---|
| ✔ | mkdir | Erstellt neue Verzeichnisse | -m, --mode
|
=MODUS | Zugriffsrechte setzen (siehe chmod)
|
<verzeichnis,verzeichnis,...>
|
make directory |
| ✔ | cd | Ändert das aktuelle Arbeitsverzeichnis | <verzeichnis>
|
change directory | |||
| ✔ | pwd | Gibt das derzeitige Arbeitsverzeichnis aus | print working directory | ||||
| ✔ | ls | Listet die Inhalte eines Verzeichnisses auf | -l
|
Langes Listenformat | list | ||
-h, --human-readable
|
Menschenlesbares Format (Bytes in KB, MB, GB) | ||||||
-a
|
Listet auch versteckte Verzeichnisse (mit .beginnende Verzeichnisse)
|
Dateiverwaltung
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | rm | Entfernen von Dateien und Verzeichnissen | -r
|
Rekursiv: Löscht auch Unterverzeichnisse | <datei-/verzeichnisname>
|
remove | |
-f
|
Force: Erzwingt Löschen ohne Nutzerabfrage | ||||||
| ✔ | touch | Zeitstempel von Dateien ändern - Legt Dateien an, wenn das Argument nicht vorhanden ist | <dateiname>
|
||||
| ✔ | cp | Kopieren von Dateien und Verzeichnissen | <quelldatei/-verzeichnis> <zieldatei/-verzeichnis>
|
copy | |||
| ✔ | mv | Verschieben von Dateien und Verzeichnissen | <quelldatei/-verzeichnis> <zieldatei/-verzeichnis>
|
move | |||
| ✔ | cat | Anzeigen und Zusammenführen von Dateien | <dateiname>
|
concatenate | |||
| ✔ | head | Anzeigen der ersten Zeilen einer Datei | <dateiname>
|
||||
| ✔ | tail | Anzeigen der letzten Zeilen einer Datei | <dateiname>
|
||||
| ✔ | ln | Verknüpfungen zwischen Dateien erstellen | <dateiname>
|
link | |||
| ✔ | find | Dateien innerhalb einer Verzeichnishierarchie finden | <dateiname>
|
||||
| ✔ | wc | Bytes, Wörter oder Zeilen von Dateien ausgeben | -l
|
Gibt die Anzahl der Zeilen einer Datei aus | <Datei>
|
word count |
Benutzer- und Gruppenverwaltung
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | whoami | ID des angemeldeten Benutzers ausgeben | |||||
| ✔ | who | ID aller angemeldeten Benutzer ausgeben | |||||
| ✘ | finger | Gibt Informationen zu allen angemeldeten Benutzern aus | |||||
| ✔ | last | Liste zuletzt angemeldeter Besucher anzeigen | |||||
| ✔ | adduser | Fügt einen neuen Benutzer hinzu | |||||
| ✔ | deluser | Löscht einen Benutzer | |||||
| ✔ | passwd | Ermöglicht das Ändern des Passworts | Password | ||||
| ✔ | usermod | Änderung von Benutzerkonen | user modification | ||||
| ✔ | w | Gibt Informationen zu allen angemeldeten Benutzern aus |
Rechteverwaltung
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | chmod | Ändert den Modus von Dateien | change mode | ||||
| ✔ | chown | Ändert die Benutzer- und Gruppenrechte | change owner | ||||
| ✔ | chgrp | Ändert die Gruppenzugehörigkeit von Dateien | change group | ||||
| ✘ | umask | Anzeige oder Setzen der Date-Modus Maske | -S
|
Symbolische Ausgabe | unix mask | ||
-p
|
Ausgabe in der Art, dass sie als Input wiederverwendet werden kann |
Dateikomprimierung und -archivierung1
| Debian Standard | Befehl | Beschreibung | Wichtige Optionen | Options-Parameter | Optionsbeschreibung | Argumente | Herkunft |
|---|---|---|---|---|---|---|---|
| ✔ | tar | Archivierungswerkzeug | Tape Archive | ||||
| ✔ | gzip | Werkzeug zur Datenkompression | GNU zip | ||||
| ✘ | bzip2 | Werkzeug zur Datenkompression | zipper | ||||
| ✘ | xz | Werkzeug zur Datenkompression | x zip |
1Siehe auch: Vergleich gzip, bzip2, xz und Archive unter Linux (tar, gz, bz2, zip)
I/O Umleitung
| Debian Standard | Befehl | Beschreibung | Beispielhafte Verwendung |
|---|---|---|---|
| ✔ | < | Anstatt einer manuellen Eingabe wird der Inhalt einer Datei als Argument (stdin) verwendet |
grep -nw < /etc/protocols 'ipv6'
|
| ✔ | > | Die Standardausgabe ( stdout) wird in eine Datei umgelenkt
|
echo "Hello World!" > text
|
| ✔ | >> | Die Standardausgabe (stdout) wird einer Datei angehängt
|
echo "Hello World!" >> text
|
| ✔ | 2> | Die Fehlerausgabe ( stderr ) wird in eine Datei umgelenkt
|
find /usr admin 2> error-file
|
| ✔ | 2>> | Die Fehlerausgabe (stderr) wird einer Datei angehängt
|
find /usr games 2>> error-file
|
| ✔ | &> | Lenkt die Standardausgabe (stdout) und Fehlerausgabe (stderr) in eine Datei um
|
find /usr admin &> searchfile
|
| ✔ | &>> | Hängt die Standardausgabe (stdout) und Fehlerausgabe (stderr) an eine Datei an
|
find /usr games &>> searchfile
|
| ✔ | | | Die Pipe verknüpft zwei Befehle miteinander | cat /etc/protocols | grep 'ipv6'
|
| ✔ | 2>&1 | Gibt die Fehlerausgabe als Standardausgabe aus | cat notafile > file 2>&1[3]
|
Sonstiges und nützliches
| Befehl | Optionen | Argumente | Beschreibung |
|---|---|---|---|
which
|
<Befehl>
|
Finde einen Befehl | |
cat
|
/proc/cpuinfo |
Anzeige von Informationen zu den Prozessoren im System | |
cat |
/proc/meminfo |
Anzeige von Informationen zum Arbeitsspeicher des Systems | |
free |
-h --si |
Anzeige von Informationen zur Arbeitsspeichernutzung des Systems (-h zur besseren Lesbarkeit mit angepassten Einheiten; h: human readable; --si: Anzeige in Potenzen zu 1000)
| |
df |
-H |
Anzeige von Informationen zu den Datenträgerbelegungen des Systems (-H zur besseren Lesbarkeit mit angepassten Einheiten in Potenzen zu 1000)
|
Weiterführende Informationen
Artikel zu Linux Kernel Modulen: How to display list of modules or device drivers in the Linux Kernel
Einzelnachweise
- ↑ Unterschied von Agrument und Parameter (stackoverflow, 23.04.24)
- ↑ iw Dokumentation (wireless.wiki.kernel.org, 28.06.2024)
- ↑ Understand Shell Script's idiom: 2>&1 (www.brianstorti.com, 28.06.2024)
|
Autor: Stefan Bohn Stefan Bohn ist seit 2020 bei der Thomas-Krenn.AG beschäftigt. Ursprünglich als Berater für IT-Lösungen im PreSales beheimatet, wechselte er 2022 zum Product Management. Dort widmet er sich dem Wissenstransfer und treibt dabei auch das Thomas-Krenn Wiki voran. |

