Wie gefällt Ihnen der Artikel?
2
Wie gefällt Ihnen der Artikel?
2

Die wichtigsten Linux-Befehle im Überblick

Wie die meisten modernen Betriebssysteme stellt Ihnen auch Linux zwei Schnittstellen für Benutzereingaben zur Verfügung. Alle Einstellungen, die Sie über die grafische Benutzeroberfläche (Graphical User Interface, GUI) treffen, lassen sich in Form von Kommandozeilenbefehlen auch über die sogenannte Shell vornehmen.

Bei der Shell handelt es sich um ein Programm, das als Schnittstelle zwischen System und Benutzer fungiert. Es umfasst einen Kommandozeileninterpreter, der Benutzereingaben über die Tastatur entgegennimmt, diese auswertet, gegebenenfalls Programme startet und den Output in Form einer Textausgabe an den Benutzer zurückgibt. Darüber hinaus besitzt jede Shell eine eigene Programmiersprache, die es ermöglicht, Shell-Skripte zu schreiben – zum Beispiel, um Programmaufrufe zu verknüpfen und administrative Aufgaben zu erleichtern.

Jede Shell läuft in einem Terminal. In den Anfängen des Computerzeitalters kamen dazu eigenständige Geräte, sogenannte Hardcopy-Terminals (Drucker oder Bildschirm plus Tastatur), zum Einsatz. Diese wurden auf modernen Rechnern durch sogenannte Terminalemulatoren ersetzt. Programme, die Benutzern ein grafisches Fenster für die Interaktion mit der Shell zur Verfügung stellen.

Sobald Sie das Terminal Ihres Betriebssystems aufrufen, startet dieses die in den Einstellungen festgelegte Standard-Shell (z.B. die Bourne again shell, Bash) und nimmt Eingaben am sogenannten Prompt (der Eingabeaufforderung) entgegen.

Fakt

Im Laufe der Zeit wurden diverse Shells für unixoide Betriebssysteme entwickelt, die sich in Funktionsumfang und Benutzerfreundlichkeit unterscheiden. Als Linux-Nutzer haben Sie somit die Wahl, welchen Kommandozeileninterpreter Sie benutzen. Auf den meisten Betriebssystemen sind bereits mehrere Shells vorinstalliert. Der Wechsel von einer Shell zur anderen erfolgt bequem aus dem Terminal heraus (siehe chsh im Kapitel User-Account-Management). Zu den bekanntesten Shells zählen neben den Standard-Programmen Bash und Dash die Fish, die Z-Shell, die Korn-Shell, die (t)csh und die Mksh

Die Interaktion mit der Shell erfolgt in der Regel über Befehle, mit denen sich gleichnamige Kommandozeilenprogramme aufrufen lassen. Für jede Aktion, die Sie über das Terminal ausführen möchten, verwenden Sie einen Programmaufruf nach folgendem Grundschema:

BEFEHL [OPTIONEN] [ARGUMENTE]

Ein Programmaufruf über das Terminal erfolgt über den Namen des Programms. Die meisten Programme bieten die Möglichkeit, bestimmte Programmfunktionen über Optionen anzusprechen. Erwartet ein Programm Argumente – z. B. in Form von Dateien oder Verzeichnispfaden – werden diese in der Regel nach den gewählten Optionen angegeben.

Im Folgenden bieten wir Ihnen einen Überblick über die gängigsten Linux-Befehle und die damit verbundenen Kommandozeilenprogramme.

Grundkommandos

In der Kategorie Grundkommandos finden Sie grundlegende Linux-Befehle, die der Steuerung des Terminals dienen. Erfahren Sie, wie Sie den Sichtbereich des Terminals leeren, vorhergehende Terminaleingaben aus dem Verlauf (der History) abrufen oder die Terminal-Sitzung beenden.

Befehl

Beschreibung

clear

Terminal leeren

Nutzen Sie den Kommandozeilenbefehl clear, um den Bildschirminhalt zu löschen. 

clear

Sie erhalten ein leeres Terminal mit Eingabeaufforderung (Prompt). Ältere Eingaben bleiben im Scrollback-Buffer erhalten.

Statt über diesen Befehl lässt sich das Terminal auch über die Tastenkombination [STRG] + [L] leeren.

exit

Sitzung beenden

Der Kommandozeilenbefehl exit beendet die aktuelle Sitzung und schließt das Terminal.

exit

Verwenden Sie alternativ die Tastenkombination [STRG] + [D].

help

Liste aller Shell-Befehle anzeigen

Nutzen Sie den Befehl help, um sich eine Liste aller integrierten Shell-Befehle (Built-in-Befehle) anzeigen zu lassen.

help

Rufen Sie help in Kombination mit einem Shell-Befehl auf, um sich eine Kurzbeschreibung des jeweiligen Befehls ausgeben zu lassen.

help BEFEHL  

history

Einträge der History-Datei ausgeben

In der Bash werden die letzten 500 Befehle, die Sie über die Kommandozeile eingegeben haben, in der sogenannten History gespeichert.

Diese Funktion dient als Eingabehilfe und ermöglicht Ihnen, die Liste der vorhergehenden Befehle mit den Pfeiltasten zu durchsuchen und durch die Bestätigung mit der Entertaste erneut auszuführen.

Die History kann über die Tastenkombination [STRG] + [R] nach Stichworten durchsucht werden. Alternativ haben Sie die Möglichkeit, sich die komplette Liste nummeriert im Terminal ausgeben zu lassen.

Nutzen Sie dazu den Befehl history ohne Optionen und Argumente.

history

Möchten Sie die Ausgabe filtern, kombinieren Sie history via Pipe mit dem Kommandozeilenprogramm grep (siehe Suchoptionen) und einem Suchwort.

history | grep SUCHWORT

Hilfeseiten

Sie wissen nicht weiter? Kein Problem. Unter Linux stehen Ihnen diverse Hilfs- und Dokumentationsseiten wie die Unix-Man-Pages und die GNU-Infoseiten direkt über das Terminal zur Verfügung. Diese beinhalten eine detaillierte Beschreibung aller Kommandozeilenprogramme, Systemaufrufe, Konfigurationsdateien, Dateiformate und Kernelfunktionen. Mit whatis und apropos finden Sie in der Kategorie Hilfsseiten zudem Kommandozeilenprogramme, mit denen sich die Handbuchseiten Ihres Betriebssystems nach Stichworten durchsuchen lassen.

Befehl

Beschreibung

apropos

Handbuch durchsuchen

Nutzen Sie apropos um die Seitentitel und Beschreibungen der Handbuchseiten Ihres Betriebssystems nach Stichworten zu durchsuchen. Das Kommandozeilenprogramm gibt Ihnen alle Entsprechungen inklusive Kurzbeschreibung im Terminal aus.

Orientieren Sie sich an folgendem Schema:

apropos [OPTIONEN] SUCHBEGRIFF

Der Befehl unterstützt verschieden Optionen. Grenzen Sie die Suche mit der Option -e (--exact) auf exakte Entsprechungen ein oder nutzen Sie Platzhalter (-w '*SUCHBEGRIFF') und reguläre Ausdrücke (-r).

info

GNU-Infoseiten aufrufen

Über den Befehl info lassen sich GNU-Informationsseiten zu einem bestimmten Thema ausgeben. Diese entsprechen in den meisten Fällen den Handbuchseiten, die sich via man aufrufen lassen, weisen im Gegensatz zu diesen jedoch Verlinkungen auf, die Ihnen die Navigatoren im Handbuch erleichtern.

Verwenden Sie folgende Syntax, um eine GNU-Infoseite aufzurufen:

info [OPTION] THEMA

Ein Aufruf ohne Option und Thema führt Sie ins Hauptmenü der GNU-Infoseiten.

man

Handbuch aufrufen

Der Befehl man öffnet die Handbuchseiten (Man-Pages) Ihrer Linux-Distribution direkt im Terminal.

Verwenden Sie folgendes Schema, um eine Handbuchseite aufzurufen:

man [OPTION] THEMA

Die Linux-Man-Pages sind in 10 Themenbereiche unterteilt:

    (1) Benutzerkommandos

    (2) Systemaufruf

    (3) Funktionen der Programmiersprache C

    (4) Dateiformate

    (5) Konfigurationsdateien

    (6) Spiele

    (7) Diverses

    (8) Kommandos zur Systemadministration

    (9) Kernelfunktionen

    (n) Neue Kommandos

Möchten Sie beispielsweise die Handbuchseite zu einem bestimmten Linux-Befehl öffnen, verwenden Sie man in Kombination mit dem Namen des Befehls.

man clear

Alternativ können Sie die Suche durch die Angabe der Themenbereichsnummer eingrenzen:

man 1 clear

In beiden Fällen öffnet sich die Handbuchseite zum Kommandozeilenbefehl clear. Benutzen Sie die Taste [Q], um diese zu schließen und zur Eingabeaufforderung (Prompt) im Terminal zurückzukehren.  

Eine Möglichkeit, die Linux-Handbuchseiten nach Stichworten zu durchsuchen, bietet der Befehl apropos.

pinfo

Infoseiten im Lynx-Stil aufrufen

Mit pinfo steht ihnen eine Variante des Kommandozeilenprogramms info zur Verfügung, die sich am Kommandozeilenbrowser Lynx orientiert und Ihnen Infoseiten mit farblich hervorgehobenen Links ausgibt.

Nutzen Sie pinfo nach demselben Schema wie den info-Befehl. 

pinfo [OPTIONEN] THEMA

whatis

Stichwortsuche in den Handbuchseiten

Das Kommandozeilenprogramm whatis dient der Stichwortsuche in den Handbuchseiten. Rufen Sie das Programm mit einem beliebigen Suchbegriff auf, um das Handbuch Ihres Betriebssystems nach exakten Übereinstimmungen zu durchsuchen. Findet es eine Entsprechung, gibt whatis eine Kurzbeschreibung im Terminal aus.

whatis [OPTIONEN] SUCHBEGRIFF

Auch whatis (-w '*SUCHBEGRIFF') unterstützt Platzhalter und reguläre Ausdrücke (-r).

Verzeichnisoperationen

Linux-Befehle für Verzeichnisoperationen verwenden Sie, um Verzeichnisse auf Ihrem System über das Terminal zu erstellen, zu löschen und zu verwalten sowie im Verzeichnisbaum zu navigieren. Zu den wichtigsten Kommandozeilenbefehlen aus dieser Kategorie zählen cd, ls, mkdir, rmdir.

Befehl

Beschreibung

cd

Navigation im Verzeichnisbaum

Der Kommandozeilenbefehl cd steht für change directory und dient der Navigation im Verzeichnisbaum.

Die Syntax des Befehls lautet:

cd [OPTION] VERZEICHNIS

Wird kein Zielverzeichnis angegeben, wechselt cd automatisch in das Home-Verzeichnis des Benutzers.

Wird cd mit einem nachgestellten Minus-Zeichen (-) verwendet, erfolgt ein Wechsel ins vorherige Verzeichnis.

chroot

Programm in einem neuen Wurzelverzeichnis ausführen

Der Befehl chroot (kurz für: change root) wird verwendet, um einen Befehl in einem anderen Wurzelverzeichnis auszuführen. Zur Anwendung kommt chroot beispielsweise, um kritische Programme vom übrigen Dateisystem zu isolieren. Man spricht in diesem Fall von einem chroot jail.

Der Aufruf des Programms erfordert Root-Rechte und orientiert sich an folgendem Schema:

chroot VERZEICHNIS BEFEHL

ls

Verzeichnisinhalte auflisten

Der Kommandozeilenbefehl ls steht für list und wird verwendet, um den Inhalt eines Verzeichnisses (die Namen aller Dateien und Ordner, die sich im angegebenen Verzeichnis befinden) anzuzeigen.

Die Syntax des Befehls lautet:

ls [OPTIONEN] VERZEICHNIS

Wird ls ohne Verzeichnis-Angabe benutzt, listet der Befehl den Inhalt des aktuellen Verzeichnisses auf.

Mithilfe zusätzlicher Optionen definieren Sie, welche Informationen angezeigt und wie diese dargestellt werden.

mkdir   

Verzeichnis erstellen

Der Kommandozeilenbefehl mkdir steht für make directory und ermöglicht es Linux-Nutzern, neue Verzeichnisse anzulegen.

Verwenden Sie folgende Syntax, um ein neues Verzeichnis im aktuellen Verzeichnis zu erstellen:

mkdir [OPTION] VERZEICHNISNAME

Wahlweise lassen sich mehrere Verzeichnisse gleichzeitig erstellen, indem Sie deren Namen durch ein Leerzeichen getrennt aneinanderreihen:

mkdir [OPTION] VERZEICHNISNAME1 VERZEICHNISNAME2

Soll ein Verzeichnis in einem bestimmten Zielverzeichnis erstellt werden, geben Sie den absoluten oder relativen Pfad zum Verzeichnis an.

mkdir /home/user/Desktop/test

mkdir ../Desktop/test

Bei beiden Beispielen wird das Verzeichnis test im Verzeichnis Desktop erstellt.

mkdirhier

Verzeichnishierarchie erstellen

Mit mkdirhier lassen sich ganze Verzeichnishierarchien mit einem einzigen Kommandozeilenbefehl erstellen: 

mkdirhier [OPTION] /home/user/verzeichnis1/verzeichnis2/verzeichnis3

Existieren verzeichnis1 und verzeichnis2 bereits, erstellt mkdirhier lediglich verzeichnis3. Andernfalls werden alle drei Verzeichnisse erzeugt.

pwd

Verzeichnisname ausgeben

Nutzen Sie pwd (kurz für print working directory), um sich den Namen des aktuellen Arbeitsverzeichnisses auszugeben zu lassen.

Die Syntax des Befehl lautet:

pwd [OPTIONEN]

rmdir

Verzeichnis löschen

Möchten Sie ein bestimmtes Verzeichnis löschen, nutzen Sie den Kommandozeilenbefehl rmdir (remove directory) gemäß folgender Syntax:

rmdir [OPTION] VERZEICHNIS

Mit rmdir lassen sich lediglich leere Verzeichnis löschen. Um ein Verzeichnis inklusive aller enthaltenen Dateien und Unterordner zu löschen, verwenden Sie den Befehl rm (remove) mit der Option -r.

Achtung: rmdir verlangt keine Bestätigung des Löschvorgangs. Ausgewählte Verzeichnisse werden unwiderruflich gelöscht. 

tree

Verzeichnisse in Baumstruktur auslisten

Während ls lediglich den Inhalt von Verzeichnissen auflistet, lässt sich mit dem Kommandozeilenprogramm tree die gesamte Verzeichnishierarchie rekursiv als Baumstruktur ausgeben. 

Der Aufruf erfolgt gemäß folgender Syntax:

tree [OPTIONEN] [VERZEICHNIS]

Dateioperationen

Linux-Kommandos dieser Rubrik ermöglichen Ihnen diverse Dateioperationen aus dem Terminal heraus. Nutzen Sie grundlegende Linux-Befehle wie cp, mv und rm, um Dateien auf Ihrem System zu kopieren, zu verschieben, umzubenennen oder zu löschen.

Befehl

Beschreibung

basename

Dateiname ausgeben

Dem Kommandozeilenbefehl basename wird ein Dateipfad übergeben; es gibt lediglich den Dateinamen ohne vorangestellten Pfad zurück.

Die Syntax des Befehls lautet:

basename [OPTIONEN] Pfad/zur/Datei [SUFFIX]

Geben Sie beispielsweise $ basename /home/user/bild.jpg ins Terminal ein, um folgende Ausgabe zu erhalten:

bild.jpg

Die zusätzliche Angabe des Suffixes tilgt dieses ebenfalls aus der Ausgabe.

Eingabe: $ basename /home/user/bild.jpg .jpg

Ausgabe: bild

Der Befehl kann durch Optionen auf mehrere Dateien ausgeweitet werden.

cat

Dateiinhalte zusammenführen

Das Kommandozeilenprogramm cat (kurz für: concatenate) wurde als Werkzeug für das Zusammenführen von Dateiinhalten entwickelt und kann als Pager zum Anzeigen von Dateiinhalten im Terminal eingesetzt werden.

Rufen Sie cat mit folgender Syntax im Terminal auf, um eine Datei einzulesen und auf stdout (der Standardausgabe) auszugeben:

cat OPTIONEN DATEI

Mehrere Dateien werden durch Leerzeichen getrennt:

cat OPTIONEN DATEI1 DATEI2

Die Verknüpfung von Dateiinhalten erfolgt mithilfe von Umleitungs-Operatoren (>, < und |). Nutzen Sie beispielsweise den Operator „größer als“ (>), um den Inhalt zweier Dateien in einer Dritten zusammenzuführen:

cat datei_1.txt datei_2.txt > datei_3.txt

cmp

Dateien auf Byte-Ebene abgleichen

cmp ist Teil des diff-Pakets und dient wie dieses dem Vergleich von Dateiinhalten. Anders als bei diff erfolgt der Abgleich dabei auf Byte-Ebene und eignet sich somit speziell für Binärdateien. 

Nutzen Sie cmp gemäß folgender Syntax:

cmp [OPTIONEN] DATEI1 DATEI2

Findet cmp Unterschiede, gibt das Kommandozeilenprogramm Byte- und Zeilennummer der ersten Abweichung im Terminal aus.

comm

Zeilenweise sortierte Dateien vergleichen

Nutzen Sie das Kommandozeilenprogramm comm, um sortierte Dateien (z. B. via sort) zeilenweise zu vergleichen.

Dem Programmaufruf liegt folgende Syntax zugrunde:

comm [OPTIONEN] DATEI1 DATEI2 

Wird comm ohne Option aufgerufen, erzeugt das Programm eine Ausgabe mit drei Spalten: Die erste spalte beinhaltet alle Zeilen, die nur in DATEI1 vorkommen, die zweite Spalte beinhaltet alle Zeilen die nur in DATEI2 vorkommen und die dritte Spalte beinhaltet alle Zeilen, die in beiden Dateien vorkommen. 

Das Programm unterstützt drei Optionen:

    -1 = einzigartige Zeilen aus DATEI1 unterdrücken 

    -2 = einzigartige Zeilen aus DATEI2 unterdrücken

    -3 = alle Zeilen unterdrücken, die in beiden Dateien enthalten sind

cp

Dateien oder Verzeichnisse kopieren

Der Kommandozeilenbefehl cp (copy) kommt zur Anwendung, um Dateien und Verzeichnisse zu kopieren. Die grundlegende Syntax des Befehls lautet:

cp [OPTIONEN] QUELLE ZIEL

Bei der QUELLE handelt es sich um das Element, das kopiert werden soll. Als ZIEL des Kopiervorgangs wird entweder eine Datei oder eine Verzeichnis definiert. Definieren Sie eine bereits vorhandene Datei als Zieldatei, wird deren Inhalt mit dem der Quelldatei überschrieben. Alternativ haben Sie die Möglichkeit, die Zieldatei als neue Datei mit gewünschtem Namen zu erstellen.

Sollen mehrere Dateien kopiert werden, muss das Ziel ein Verzeichnis sein. Gleiches gilt für den Fall, dass ein Verzeichnis kopiert wird.

Eine Quelldatei in eine Zieldatei im aktuellen Verzeichnis kopieren:

cp [OPTIONEN] QUELLDATEI ZIELDATEI

Beispiel: cp datei.txt datei_kopie.txt

Eine Quelldatei aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:

cp [OPTIONEN] QUELLDATEI ZIELVERZEICHIS

Beispiel: cp datei.txt home/user/dokumente/2017

Mehrere Quelldateien in ein Zielverzeichnis kopieren:

cp [OPTIONEN] QUELLDATEI1 QUELLDATEI2 ZIELVERZEICHNIS

Beispiel: cp datei.txt datei.odt home/user/dokumente/2017

Ein Quellverzeichnis aus dem aktuellen Verzeichnis in ein Zielverzeichnis kopieren:

cp  QUELLVERZEICHNIS ZIELVERZEICHNIS

Beispiel: cp verzeichnis1 home/user/dokumente/2017

Sollen Verzeichnisse inklusive aller Inhalte kopiert werden, müssen alle Unterverzeichnisse mithilfe der OPTION -R in den Kopiervorgang eingeschlossen werden.

cut

Dateiinhalte extrahieren

Der Befehl cut ermöglicht es Ihnen, Inhalte spaltenweise aus den Textzeilen einer Datei (z. B. Log- oder CSV-Dateien) zu extrahieren.

Die Syntax des Befehls lautet:

cut [OPTIONEN] DATEI

Die genaue Position eines zu extrahierenden Ausschnitts wird über die Optionen -b (Byteposition), -c (Zeichenposition), -d (Trennzeichen) und -f (Feld) definiert.  

diff

Dateien oder Verzeichnisse abgleichen

Das Kommandozeilenprogramm diff dient dem Vergleich zweier Dateien. Alternativ lässt sich via diff ermitteln, ob zwei Verzeichnisse gleiche Dateien beinhalten.

 Der Aufruf im Terminal Erfolg gemäß folgender Syntax:

diff [OPTIONEN] DATEI1 DATEI2

dirname

Dateipfad ausgeben

dirname stellt das Gegenstück zu basename dar. Der Kommandozeilenbefehl ermöglicht es, den Pfadanteil aus einem Dateipfad zu extrahieren und ohne Dateinamen im Terminal auszugeben.

Die Syntax des Befehls lautet:

dirname [OPTIONEN]

Geben Sie beispielsweise $ dirname /home/benutzer/bild.jpg ins Terminal ein, um folgende Ausgabe zu erhalten:

/home/benutzer

file

Dateityp ausgeben

Mit dem Kommandozeilenbefehl file lassen sich Informationen zum Dateityp einer Datei ausgeben.

Dem Aufruf liegt folgendes Schema zugrunde:

file [OPTIONEN] DATEI

ln

Verknüpfung zu Datei oder Verzeichnis erstellen

Das Kommandozeilenprogramm ln (kurz für link) erzeugt eine Verknüpfung zu einer Datei oder einem Verzeichnis. Dadurch wird ein weiterer Verzeichnis-Eintrag für diese Datei erzeugt, der es Ihnen ermöglicht, über einen weiteren Datei-Pfad auf die entsprechende Datei zuzugreifen.

Der Aufruf des Kommandozeilenprogramms ln muss immer mindestens den Pfad zur Quelldatei enthalten.

ln [OPTIONEN] pfad/zur/quelldatei

Die Verlinkung wird in diesem Fall im aktuellen Arbeitsverzeichnis unter demselben Namen erstellt.

Alternativ haben Sie die Möglichkeit, einen Zielpfad anzugeben und die Verknüpfung beliebig zu benennen:

ln [OPTIONEN] pfad/zur/quelldatei pfad/zur/verknüpfung

ln erstellt in der Standardeinstellung sogenannte Hardlinks. Diese eignen sich nicht, um Verknüpfungen zu Verzeichnissen zu erstellen. Zudem lassen sich Hardlinks nicht über Partitionsgrenzen hinweg verwenden. Der Befehl kommt daher oft mit der OPTION -s (--symbolic) zum Einsatz, mit der sich sogenannte symbolische Verknüpfungen auch über Dateisystemgrenzen hinweg erstellen lassen. Symbolische Links verweisen immer auf einen „echten“ Dateipfad und hängen von diesem ab.  

lsof

Geöffnete Dateien im Terminal ausgeben

lsof steht für list open files, ein Hilfsprogramm, das Ihnen Informationen über geöffnete Dateien nach PID (Prozess-ID) sortiert im Terminal ausgibt. 

Der Aufruf über das Terminal erfolgt nach folgendem Schema:

lsof [OPTIONEN]

Da unixoide Systeme wie Linux dem Grundsatz „Everything is a file“ (Alles ist eine Datei) folgen, ist die Liste, die lsof ausgibt, entsprechend lang. In der Regel kommen daher Optionen zum Einsatz, um die Ausgabe einzugrenzen. 

md5sum

Prüfsummen berechnen

Mithilfe des Kommandozeilenbefehls md5sum lassen sich MD5-Prüfsummen für Dateien berechnen und überprüfen.

mv

Datei oder Verzeichnis verschieben

Das Kommandozeilenprogramm mv (move) kopiert eine Datei oder ein Verzeichnis und löscht das Ursprungselement. Erfolgt dies innerhalb desselben Verzeichnisses, kann mv zum Umbenennen von Dateien verwendet werden.

Dem Programmaufruf liegt folgendes Schema zugrunde:

mv [OPTION] QUELLE ZIEL

Anwendungsbeispiele:

Eine Datei in ein anderes Verzeichnis verschieben:

mv [OPTIONEN] QUELLDATEI ZIELVERZEICHNIS

Beispiel: mv datei1.txt home/user/dokumente/2017

Mehrere Quelldateien in ein Zielverzeichnis verschieben:

mv [OPTIONEN] QUELLDATEI1 QUELLDATEI2 ZIELVERZEICHNIS

Beispiel: mv datei1.txt datei2.txt home/user/dokumente/2017

Unterverzeichnis aus dem aktuellen Verzeichnis in ein Zielverzeichnis verschieben:

mv [OPTIONEN] VERZEICHNISNAME_ALT VERZEICHNISNAME_NEU

Beispiel: mv verzeichnis1 home/user/dokumente/2017

Datei im aktuellen Verzeichnis umbenennen:

mv [OPTIONEN] DATEINAME_ALT DATEINAME_NEU

Beispiel: mv datei1.txt datei2.txt

Unterverzeichnis im aktuellen Verzeichnis umbenennen:

mv [OPTIONEN] VERZEICHNISNAME_ALT VERZEICHNISNAME_NEU

Beispiel: mv verzeichnis1 verzeichnis2

paste

Dateiinhalte spaltenweise zusammenführen

Ähnlich wie cat ermöglicht auch das Kommandozeilenprogramm paste die Ausgabe von Dateiinhalten auf die Standardausgabe. Doch während cat Inhalte lediglich aneinanderfügt, verknüpft paste diese spaltenweise.

Das Grundschema des Befehls lautet:

paste [OPTIONEN] DATEI1 DATEI2 …

Im Standardmodus werden die aufgeführten Dateien so zusammengeführt, dass alle Zeilen mit derselben Zeilennummer in dieselbe Zeile der Ausgabe übertragen werden. Jede Zeile der Ausgabe enthält somit Inhalte aller Eingabedateien.

Welches Trennzeichen paste verwendet, lässt sich mithilfe der Option -d individuell anpassen. Als Standardtrennzeichen kommen Tabs zum Einsatz.

Über die Option -s (seriell) lässt sich zudem ein zweiter Modus aktivieren. Bei diesem werden alle Zeilen der ersten Eingabedatei in die erste Zeile der Ausgabe übertragen. Die Daten aller anderen Eingabedateien folgen jeweils in separaten Ausgabezeilen. Jede Zeile der Ausgabe enthält somit lediglich Inhalte einer Eingabedatei.

rename

Dateien umbenennen

Bei rename handelt es sich um ein Kommandozeilenprogramm, das es ermöglicht, Dateien und Ordner mithilfe perl-kompatibler regulärer Ausdrucke (Regex) umzubenennen. Anders als mv bietet sich rename damit für Dateioperationen an, bei denen die Namen mehrerer Dateien teilweise oder ganz angepasst werden sollen.

Verwenden Sie rename nach folgendem Schema:

rename [OPTIONEN] 'REGULÄRER_AUSDRUCK' DATEIEN

Reguläre Ausdrücke entsprechen bei Ersetzungen folgender Syntax:

s/SUCHMUSTER/ERSETZUNG/MODIFIER

In folgendem Beispiel werden alle .html-Dateiendungen in .xhtml umbenannt.

rename 's/\.html$/.xhtml/' *.html

rm

Datei oder Verzeichnis löschen

Das Kommandozeilenprogramm rm (remove) löscht Dateien oder ganze Verzeichnisse unwiederbringlich.

Dem Programmaufruf liegt folgendes Schema zugrunde:

rm [OPTIONEN] DATEI

oder

rm [OPTIONEN] VERZEICHNIS

Soll ein Verzeichnis inklusive aller Unterverzeichnisse gelöscht werden, verwenden Sie rm mit der OPTION -R (--recursive).

rm -R VERZEICHNIS

Mehrere Dateien oder Verzeichnisse werden mit Leerzeichen getrennt.

rm [OPTIONEN] DATEI1 DATEI2 …

shred

Dateien „schreddern“

Bei shred handelt es sich um ein Kommandozeilenprogramm, das ein sicheres Löschen von Dateien ermöglicht. Ausgewählte Elemente werden im Rahmen des Löschvorgangs überschrieben und lassen sich somit selbst mit forensischen Mitteln nicht wiederherstellen.

Die allgemeine Syntax des Befehls lautet:

shred [OPTIONEN] DATEI

Nutzen Sie shred mit folgenden Optionen, um eine einzelne Datei unwiederbringlich zu löschen:

shred -fuz DATEI

Die Option -f erzwingt den Löschvorgang, -z überschreibt die Dateiinhalte mit Nullen (voreingestellt sind Zufallsdaten). Abschließend entfernt -u ähnlich wie das rm-Kommando die geschredderte Datei aus dem Dateisystem. 

sort

Dateilisten und Programmausgaben sortieren

Nutzen Sie den Kommandozeilenbefehl sort, um Dateilisten und Programmausgaben zeilenweise numerisch und alphabetisch zu sortieren.

Die allgemeine Syntax des Befehls lautet: 

sort [OPTIONEN] DATEI

Die Sortiermethode lässt sich mithilfe von Optionen anpassen: zum Beispiel numerisch (-n), zufällig (-R) oder in umgekehrter Reihenfolge (-r).

split

Dateien aufteilen

Der Kommandozeilenbefehl split wird verwendet, um Dateien aufzuteilen.

Die zugrundeliegende Syntax lautet:

split [OPTIONEN] [INPUT [PRÄFIX]]

Der Platzhalter INPUT entspricht der Datei, die aufgeteilt werden soll. Das PRÄFIX fungiert als Vorsilbe für die Namen der Teildateien. Deren Benennung liegt folgendes Schema zugrunde:

PRÄFIXaa, PRÄFIXab, PRÄFIXac …

Wird kein Präfix definiert, greift split auf das Standardpräfix x zurück.

Mit der Option -b (Bytes) lässt sich die Größe der Teildateien festlegen. Die Angabe erfolgt wahlweise in Byte (b), Kilobyte (k) oder Megabyte (m).

Beispiel:

split -b 95m archiv.tgz split-archiv.tgz.

Der Befehl split teilt die Datei archiv.tgz in Teildateien zu 95 Megabyte auf und benennt diese wie folgt:

split-archiv.tar.aa

split-archiv.tar.ab

split-archiv.tar.ac

Durch split aufgeteilte Dateien lassen sich mithilfe des Kommandozeilenbefehls cat wieder zusammenführen.

cat split-archiv.tar.* > archiv.tar

stat

Zeitstempel ausgeben

Mit dem Kommandozeilenbefehl stat (status) lassen sich Zugriffs- und Änderungs-Zeitstempel ausgewählter Dateien und Verzeichnisse ausgeben.

Die allgemeine Syntax des Befehls lautet:

stat [OPTIONEN] DATEI

Das Ausgabeformat lässt sich mithilfe von Optionen anpassen.

touch

Zeitstempel ändern

Der Kommandozeilenbefehl touch wird verwendet, um Zugriffs- und Änderungs-Zeitstempel von Dateien zu verändern. Wird touch auf eine nicht-existente Datei angewendet, wird diese automatisch angelegt. Der Befehl eignet sich daher auch dazu, leere Dateien zu erstellen. 

Nutzen Sie touch nach folgendem Schema:

touch [OPTIONEN] DATEI

Um den Zeitstempel einer Datei auf ein gewünschtes Datum zu setzten, verwenden Sie die OPTION -t inklusive Zeitangabe im Format [JJ]MMTThhmm[.ss].

Beispiel:

touch -t 1703231037 datei.txt

Zugriffs- und Änderungszeitstempel werden auf den 23. März 2017, 10:37 gesetzt. Die Modifikation lässt sich über die Optionen -a und -m auf Zugriffs- bzw. Änderungszeitstempel eingrenzen.

Wird der Befehl touch ohne Option -t verwendet, kommt der aktuelle Zeitstempel zum Einsatz. 

uniq

Dopplungen in Dateilisten und Programmausgaben tilgen

Der Kommandozeilenbefehl uniq wird in der Regel in Kombination mit sort verwendet, um sortierte Dateien von doppelten Zeilen zu bereinigen.

In folgendem Beispiel wird der Befehl sort durch eine Pipe (|) mit dem Befehl uniq verknüpft, um eine Datei zunächst zu sortieren und anschließend ohne doppelte Zeilen auszugeben:

sort datei.txt | uniq

Rechteverwaltung

Unter Linux lassen sich Zugriffs- und Besitzrecht für Dateien und Verzeichnisse bequem über das Terminal anpassen. Die wichtigsten Kommandozeilenbefehle für die Rechteverwaltung sind chown und chmod. Gruppenzugehörigkeiten werden über den Befehl chgrp verwaltet.

Befehl

Beschreibung

chattr

Dateiattribute verwalten

Das Kommandozeilenprogramm chattr (kurz für change attribute) ermöglicht es Ihnen, Dateien oder Verzeichnisse mit Attributen zu versehen. Eine Anpassung von Datei-Attributen wird von diversen Dateisystemen (z.B. ext2, ext3, ext4, XFS, ReiserFS, JFS und OCFS2) unterstützt.

Nutzen Sie chattr gemäß folgender Syntax, um ein Attribut zu setzen:

chattr [OPTIONEN] +ATTRIBUT DATEI

Gesetzte Attribute lassen sich nach demselben Schema wieder entfernen:

chattr [OPTIONEN] -ATTRIBUT DATEI

Setzten Sie beispielsweise das Attribut -i, um Änderungen (Löschvorgänge oder Modifikationen) an einer Datei oder einem Verzeichnis zu unterbinden:

chattr +i datei.txt

Weitere Attribute und mögliche Optionen entnehmen Sie der Handbuchseite zum Programm chattr.

chgrp

Gruppenzugehörigkeit von Dateien und Verzeichnissen verwalten

Der Befehl chgrp steht für change group und kommt bei der Verwaltung von Gruppenzugehörigkeiten für Dateien und Verzeichnisse zur Anwendung. Um chgrp auf eine ausgewählte Datei oder ein Verzeichnis anwenden zu können, müssen Sie Eigentümer- oder Root-Rechte besitzen. Zudem stehen lediglich Gruppen zur Auswahl, denen Sie selber angehören.

chgrp kommt gemäß folgender Syntax zur Anwendung:

chgrp [OPTIONEN] GRUPPE DATEI

oder:

chgrp [OPTIONEN] GRUPPE VERZEICHNIS

Die Option -R bezieht Unterordner und in einem Verzeichnis enthaltene Dateien mit ein.

chmod

Zugriffsrechte verwalten

Das Kommandozeilenprogramm chmod (kurz für change mode) dient der Rechtevergabe in unixoiden Dateisystemen (z.B. ext2, ext3, ext4, reiser, xfs).

Die allgemeine Syntax des Befehls lautet:

chmod [OPTIONEN] MODUS DATEI

bzw.

chmod [OPTIONEN] MODUS VERZEICHNIS

Der Platzhalter MODUS steht dabei für die anzuwendende Rechtemaske. Wie Sie eine solche erstellen und was dabei zu beachten ist, erfahren Sie in unserem weiterführenden Artikel zur Vergabe von Zugriffsrechten mit chmod.

Mithilfe der Option -R lassen sich vergebene Rechte rekursiv auf Unterordner und in einem Verzeichnis enthaltene Dateien ausweiten.

chown

Besitzrechte verwalten

In der Regel ist der Ersteller einer Datei oder eines Verzeichnisses automatisch dessen Besitzer (owner). Der Befehl chown steht für change owner und bietet Ihnen die Möglichkeit, diese Eigentümereinstellungen anzupassen.

Der Befehl kommt nach folgendem Schema zum Einsatz:

chown [OPTIONEN] [BENUTZER][:[GRUPPE]] DATEI

bzw.

chown [OPTIONEN] [BENUTZER][:[GRUPPE]] VERZEICHNIS

Um das Eigentümerrecht für Benutzer oder Gruppen zu setzen, stehen Ihnen vier Kombinationsmöglichkeiten zur Verfügung.

Besitzer und Gruppe werden entsprechend der Angaben neu gesetzt: 

chown [OPTIONEN] besitzer_name:gruppen_name datei.txt

Die Gruppe wird entsprechend der Angabe neu gesetzt, der Benutzer bleibt unverändert:

chown [OPTIONEN] :gruppen_name datei.txt

Der Besitzer wird entsprechend der Angabe neu gesetzt, die Gruppe bleibt unverändert:

chown [OPTIONEN] besitzer_name datei.txt

Der Benutzer wird entsprechend der Angabe neu gesetzt. Die Gruppe wird auf die Standardgruppe des eingeloggten Benutzers gesetzt: 

chown [OPTIONEN] besitzer_name: datei.txt

Die Änderungen lassen sich mithilfe der OPTION -R rekursiv auf Unterverzeichnisse ausweiten. 

lsattr

Dateiattribute anzeigen

Möchten Sie sich anzeigen lassen, welche Attribute für eine Datei oder ein Verzeichnis gesetzt wurden, verwenden Sie den Kommandozeilenbefehl lsattr (kurz für list attributes) nach folgendem Schema:

lsattr [OPTIONEN] DATEI/VERZEICHNIS

Suchoptionen

Linux bietet diverse Kommandozeilenbefehle, mit denen sich das System direkt aus dem Terminal heraus durchsuchen lässt.

Befehl

Beschreibung

find

Dateisystem durchsuchen

Bei find handelt es sich um ein Kommandozeilenprogramm, das der Suche nach Dateien dient.

Dem Programmaufruf liegt folgende Syntax zugrunde:

find [OPTIONEN] [VERZEICHNIS] [SUCHBEDINGUNG ][AKTIONEN]

Das angegebene Verzeichnis gilt als Startverzeichnis der Suche. Es werden somit das Startverzeichnis und dessen Unterverzeichnisse durchsucht. Geben Sie kein Verzeichnis an, startet find die Suche vom aktuellen Arbeitsverzeichnis aus.

Optionen ermöglichen es Ihnen, Suchkriterien und Aktionen zu definieren. Als Standardaktion ist -print voreingestellt: Die Ausgabe der vollständigen Dateinamen aller Suchergebnisse auf die Standardausgabe (in der Regel das Terminal).

Gängige Suchkriterien sind der Dateiname (-name DATEINAME[SUFFIX]), ein Benutzername (-user BENUTZERNAME), die Dateigröße (-size n[cwbkMG]), der Zugriffszeitpunkt in Tagen (-atime [+-]n) oder der Änderungszeitpunkt in Tagen (-mtime [+-]n).

Bei der Suchen nach Dateinamen lassen sich Metazeichen und Platzhalter verwenden. Setzen Sie diese in Anführungszeichen, um eine Interpretation durch die Shell zu unterbinden.

Beispiel:

find /tmp -name "*.odt" -mtime -3 -size +20k  

Als Startverzeichnis ist das Verzeichnis /tmp definiert. Das Kommandozeilenprogramm find gibt alle Dateien auf die Standardausgabe aus, die die Dateiendung .odt aufweisen, größer als 20k sind und vor weniger als 3 Tagen das letzte Mal geändert wurden.

Weitere Optionen für den Suchbefehl find entnehmen Sie der Handbuchseite zum Programm.

grep

Textdateien durchsuchen

Mit dem Befehl grep (kurz für global regular expression print) lassen sich Textdateien (z. B. Log-Dateien) durchsuchen. Als Suchmuster können beliebige Zeichenfolgen oder reguläre Ausdrücke zum Einsatz kommen.

Nutzen Sie grep gemäß folgender Syntax:

grep [OPTIONEN] SUCHMUSTER [DATEI(EN)]

Stößt grep auf einen String, der dem Suchmuster entspricht, wird die Zeilennummer unter Angabe des Dateinamens im Terminal ausgegeben.

In der Regel wird grep auf alle Dateien im aktuellen Verzeichnis angewendet. Die Option -r ermöglicht eine rekursive Suche in Unterverzeichnissen.

locate

Dateiindex durchsuchen

Auch das Kommandozeilenprogramm locate ermöglicht eine Suche nach Dateien über das Terminal. Anders als bei find wird dabei jedoch nicht das Dateiverzeichnis durchsucht, sondern eine speziell dafür angelegte regelmäßig aktualisierte Datenbank. Dadurch liefert locate Suchergebnisse deutlich schneller aus als find.

Um die Datenbank nach einer bestimmten Datei zu durchsuchen, wird locate nach folgendem Schema aufgerufen:

locate SUCHMUSTER

Das Suchmuster kann Metazeichen wie Platzhalter (*) beinhalten. Setzen Sie Suchmuster dieser Art in Anführungszeichen, um die Interpretation durch die Shell zu unterbinden.

In folgendem Beispiel gibt locate alle Dateien mit der Endung .png aus.

locate "*.png"

Der Befehl locate ist case-sensitive. Um Unterschiede in Groß- und Kleinschreibung bei der Suche zu übergehen, nutzen Sie die Option -i.

Als Datenbank für die Indexierung von Dateien fungiert die Datei /var/lib/locatedb. Diese beinhaltet eine Liste aller Dateien des Dateisystems zu einem bestimmten Zeitpunkt und muss regelmäßig aktualisiert werden. Nutzen Sie dazu den Befehl updatedb.

tre-agrep

Unscharfe Suche in Textdateien

Auch tre-agrep dient der Suche nach Strings in Textdateien auf Basis von Suchmustern. Anders als bei grep werden dabei nicht nur exakte Übereinstimmungen ausgegeben, sondern auch Unschärfen wie Buchstabendreher oder fehlende Zeichen zugelassen. Das Programm stützt sich auf die TRE-Bibliothek und macht diese in der Kommandozeile nutzbar.

Die Syntax von tre-agrep entspricht der des grep-Befehls:

tre-agrep [OPTIONEN] SUCHMUSTER DATEI(EN)

Über Optionen lässt sich eine maximale Fehleranzahl definieren. In folgendem Beispiel wird maximal eine Abweichung vom Suchmuster toleriert.

tre-agrep -1 'Linux' test.txt

tre-agrep gibt alle Zeilen der Textdatei test.txt aus, die Wörter beinhalten, die sich mit dem Suchmuster decken oder von diesem maximal durch einen Buchstaben unterschieden: z.B. Linus.

updatedb

Dateiindex aktualisieren

Eine Suche via locate funktioniert nur zuverlässig, wenn die Datei /var/lib/locatedb kontinuierlich auf dem neusten Stand gehalten wird. Der Befehl updatedb ermöglicht es Ihnen, die Datenbank manuell zu aktualisieren. Beachten Sie, dass Sie für den Aufruf Root-Rechte benötigen:

updatedb

whereis               

Binär-, Quellcode-, oder Handbuchseiten von Programmen suchen

Mit dem Befehl whereis lokalisieren Sie die Binär-, Quellcode- oder Handbuch-Dateien ausgewählter Programme.

Die allgemeine Syntax des Befehls lautet:

whereis [OPTIONEN] PROGRAMM

Beispiel:

whereis firefox

Als Output schreibt whereis die Pfade zu den gefundenen Dateien durch Leerzeichen getrennt ins Terminal:

firefox: /usr/bin/firefox/ usr/lib/firefox/ usr/share/man/man1/firefox.1.gz

Über Optionen lässt sich die Suche auf bestimmte Datei-Typen oder Verzeichnisse eingrenzen. 

which

Binärdateien von Programmen ermitteln

Möchten Sie die Binärdatei eines Programms ermitteln, verwenden Sie den Befehl which nach folgendem Schema, um sich den Pfad im Terminal ausgeben zu lassen.

which [OPTIONEN] PROGRAMM

Beispiel:

which firefox

Output:

/usr/bin/firefox

Im Standardmodus gibt which die erste Datei aus, die gefunden wird. Verwenden Sie die Option -a, um sich alle Dateien anzeigen zu lassen, die das Suchkriterium erfüllen.

User-Informationen

Nutzen Sie die Kommandozeilenprogramme der folgenden Kategorie, um detaillierte Informationen zu den im System registrierten Benutzern sowie zu deren Gruppen und Prozessen abzurufen. 

Befehl

Beschreibung

finger

Benutzerinformationen abrufen

Das Kommandozeilenprogramm finger dient dem Abruf von Benutzerinformationen. Dazu wird der gleichnamige Befehl in Kombination mit dem gewünschten Benutzernamen übergeben:

finger [Optionen] [BENUTZERNAME]

Die Ausgabe umfasst folgende Informationen zum angegebenen Benutzer-Account: Login-Name, realer Name, Login-Zeit, Zeit seit der letzten Aktivität (Idle-Time), das Home-Verzeichnis des Nutzers, die Login-Shell, Standort (Office number), Mail und Telefonnummer (falls vorhanden) sowie die Inhalte der Dateien .plan, .project, .pgpkey und .forward im Home-Verzeichnis des Benutzers (falls vorhanden).

Verwenden Sie finger ohne Benutzernamen, um Informationen zu Ihrem eigenen Account abzurufen.

groups

Gruppenzugehörigkeit abrufen

Der Befehl groups listet die Gruppenzugehörigkeiten eines ausgewählten Benutzer-Accounts auf.

Nutzen Sie den Kommandozeilenbefehl nach folgendem Schema:

groups [OPTIONEN] [BENUTZERNAME]

Verwenden Sie groups ohne Benutzername, um alle Gruppen aufzulisten, denen Ihr Benutzer-Account angehört.

id

Benutzer- und Gruppen-IDs abrufen

Der Kommandozeilenbefehl id gibt Benutzer- und Gruppenkennungen des ausgewählten Benutzer-Accounts aus.

id [OPTIONEN] [BENUTZERNAME] 

Ihre eigenen IDs ermitteln Sie, indem Sie den Befehl ohne Benutzernamen übergeben.  

Der Umfang der Ausgabe lässt sich über Optionen einschränken.

last

Informationen zu zuletzt angemeldeten Benutzern abrufen

Nutzen Sie den Befehl last nach folgendem Schema, um sich eine Liste der zuletzt angemeldeten Nutzer inklusive Login- und Logout-Zeiten ausgeben zu lassen:

last [OPTIONEN]

Die entsprechenden Informationen werden aus der wtmp-Datei unter /var/log/wtmp abgerufen. Möchten Sie lediglich die Informationen zu einem bestimmten Account abfragen, übergeben Sie den Kommandozeilenbefehl mit dem gewünschten Benutzernamen.

last [OPTIONEN] [BENUTZERNAME]  

w

Aktuelle Benutzer und deren Prozesse abrufen

Der Befehl w gibt eine Liste aller angemeldeten Benutzer aus inklusive aller Prozesse, die von diesen ausgeführt werden.

Verwenden Sie w in Kombinationen mit einem Benutzernamen, um den Befehl auf diesen Nutzer zu beschränken:

w [OPTIONEN] [BENUTZERNAME]

Umfang und Format der Ausgabe lassen sich bei Bedarf durch Optionen anpassen.

who

Detaillierte Informationen zu angemeldeten Benutzern abrufen

Der Befehl who gibt Ihnen detaillierte Informationen über die am System angemeldeten Benutzer aus.

Die allgemeine Syntax des Aufrufs lautet

who [OPTION] [QUELLDATEI]

who unterstützt diverse Optionen, mit denen sich der Umfang der ausgegeben Informationen anpassen lässt.

Standardmäßig bezieht who Daten über aktuell angemeldete Nutzer aus der Datei /var/run/utmp.

Optional kann eine der folgenden Dateien als Quelle der Informationen angeben werden.

Möchten Sie Informationen zu früheren Anmeldungen abrufen, verwenden Sie who in Kombination mit der Quelldatei /var/log/wtmp:

who [OPTION] /var/log/wtmp

Informationen zu missglückten Anmeldungen erhalten Sie, in dem Sie who mit der Datei /var/log/btmp aufrufen: 

who [OPTION] /var/log/btmp

whoami

Eigenen Benutzernamen abrufen

Nutzen Sie den Befehl whoami, um Ihren eigenen Benutzernamen abzurufen.

whoami [OPTIONEN]

User-Account-Management

Linux bietet Ihnen eine Reihe von Programmen, mit denen Sie Benutzer-Accounts und Gruppen direkt über das Terminal anlegen, löschen und verwalten. Eine Übersicht der wichtigen Linux-Befehle für das User-Account-Management haben wir Ihnen im Folgenden zusammengestellt. Darüber hinaus finden Sie in dieser Kategorie Linux-Terminal-Befehle, die es Ihnen ermöglichen, Programme mit den Rechten anderer Benutzer inklusive des Super-Users Root aufzurufen.  

Befehl

Beschreibung

adduser

Benutzer-Account anlegen

Die einfachste Möglichkeit, einen Benutzer-Account anzulegen, bietet das Kommandozeilenprogramm adduser. Dieses erfordert Root-Rechte und wird gemäß folgender Syntax verwendet:

adduser [OPTIONEN] BENUTZERNAME

Verwenden Sie adduser ohne Optionen, werden neben dem neuen Benutzer-Account automatisch eine Benutzer-ID, das Home-Verzeichnis und eine gleichnamige Benutzergruppe angelegt

Beispiel:

adduser test

Terminal-Output:

Adding user 'test' (1001) …

Adding new group 'test' (1001) …

Adding new user 'test' (1001) with group 'test' …

Creating home directory '/home/test' …

Copying files from '/etc/skel' … 

Anschließend folgt ein interaktiver Dialog, in dem Sie das Passwort sowie die erweiterten Benutzerinformationen (realer Name, Büronummer, Telefonnummern etc.) definieren können.

Dieser Automatismus lässt sich durch zusätzliche Optionen anpassen oder unterbinden. 

Das Perl-Skript adduser basiert auf dem Low-Level-Programm useradd und bietet dieselben Funktionen in nutzerfreundlicher Form. 

chfn

Erweiterte Benutzerinformationen anpassen

Der Kommandozeilenbefehl chfn (kurz für change finger) ermöglicht es Ihnen, die erweiterten Informationen eines Benutzer-Accounts wie den realen Namen, die Büronummer sowie private und dienstliche Telefonnummern anzupassen.

Die allgemeine Syntax von chfn lautet:

chfn [OPTION "NEUER WERT"] [BENUTZERNAME]

Der Befehl muss mit Root-Rechten ausgeführt werden.

Welche Benutzerinformation durch einen neuen Wert ersetzt wird, definieren Sie mithilfe der Optionen -f (realer Name), -r (Büronummer), -w (Dienstnummer) und -h (Privatnummer).

In folgendem Beispiel wird die alte Büronummer von peter23 mit dem neuen Wert 122 überschrieben. 

chfn -r "122" peter23

chsh

Standard-Shell ändern

Der Kommandozeilenbefehl chsh (kurz für change shell) ändert die Login-Shell eines ausgewählten Benutzers.

Orientieren Sie sich bei der Eingabe an folgendem Schema:

chsh [OPTIONEN] BENUTZERNAME

Um die Login-Shell eines Benutzers anzupassen, wird chsh mit der Option -s verwendet. Diese erwartet den Pfad zur gewünschten Shell (z.B /usr/bin/fish).

Beachten Sie: Nutzer ohne Root-Rechte dürfen nur ihre eigene Shell anpassen. Möchten Sie die Shell anderer Benutzer ändern, führen Sie den Befehl mit Root-Rechten aus.

Beispiel:

sudo chsh -s /usr/bin/fish peter23

Für den Benutzer peter23 wird die Shell fish (friendly interactive shell) als Standard definiert.

Der Wechsel der Shell tritt erst dann in Kraft, wenn sich der Benutzer ab- und wieder anmeldet.

deluser

Benutzer-Account löschen

Das Kommandozeilenprogramm deluser löscht sämtliche Einträge für einen ausgewählten Benutzer-Account aus den System-Account-Dateien.

Der Aufruf von deluser erfordert Root-Rechte und orientiert sich an folgendem Schema:

deluser [OPTIONEN] BENUTZERNAME

Beispiel:

deluser peter23

Der Benutzer-Account peter23 wird gelöscht.

Möchten Sie darüber hinaus auch alle Dateien im Home-Verzeichnis des Nutzers löschen, verwenden Sie den Befehl mit der Option --remove-home. Sollen alle Dateien des Nutzers aus dem System entfernt werden, kommt die Option --remove-all-files zum Einsatz.

deluser --remove-all-files peter23

Sollen alle Dateien des Benutzers vor dem Löschen gesichert werden, verwenden Sie deluser in Kombination mit der Option --backup-to und geben Sie das gewünschte Verzeichnis an. 

deluser --backup-to /Pfad/zum/Verzeichnis peter23

Bei deluser handelt sich um ein Perl-Skript, das Ihnen die Funktionen des Low-Level-Programms userdel in nutzerfreundlicherer Form zur Verfügung stellt.

groupadd

Benutzergruppen anlegen

Das Kommandozeilenprogramm groupadd dient dem Anlegen neuer Benutzergruppen.

Verwenden Sie groupadd mit Root-Rechten nach folgendem Schema:

sudo groupadd [OPTIONEN] GRUPPE

Jede neu erstelle Gruppe erhält eine einzigartige Gruppen-ID (GID). Gruppen-IDs zwischen 0 und 99 sind für Systemgruppen reserviert. Möchten Sie die GID einer neuen Benutzergruppe selbst definieren, verwenden Sie den Kommandozeilenbefehl groupadd mit der Option -g (GID).

In folgendem Beispiel wird die Gruppe users mit der GID 1425 erstellt.

groupadd -g 1425 users

Möchten Sie eine Systemgruppe anlegen, verwenden Sie die Option -r (root).

delgroup

Benutzergruppe löschen

Der Kommandozeilenbefehl delgroup (kurz für delete group) löscht eine bestehende Benutzergruppe.

Die allgemeine Syntax von delgroup lautet:

delgroup [OPTIONEN] GRUPPE

Um den Befehl auszuführen zu können, werden Root-Rechte benötigt.

Folgender Aufruf führt dazu, dass die Gruppe users gelöscht wird:

delgroup users

Ähnlich wie bei deluser handelt sich hier um ein Perl-Skript, das Ihnen die Funktionen des Low-Level-Programms groupdel in nutzerfreundlicher Form zur Verfügung stellt.

groupmod

Benutzergruppe anpassen

Via groupmod lassen sich der Name und die Gruppen-ID (GID) einer bestehenden Benutzergruppe anpassen.

Der Kommandozeilenbefehl wird mit Root-Rechten nach folgendem Schema verwendet:

groupmod OPTIONEN GRUPPE

Verwenden Sie groupmod mit der Option -g, um die GID anzupassen. Ein Aufruf mit der Option -n überschreibt den Gruppennamen.

Beispiele:

groupmod -g 1800 users

Die GID der Gruppe users wird auf 1800 gesetzt.

groupmod -n all users

Die gruppe users wird in all umbenannt.

newgrp

Benutzergruppe wechseln

Bei newgrp (kurz für new group) handelt es sich um einen Befehl, der es angemeldeten Benutzern ermöglicht, ihre aktuelle Gruppen-ID zu wechseln, ohne sich dafür erneut an- und abmelden zu müssen.

Die allgemeine Syntax des Befehls lautet:

newgrp [-] [GRUPPE]

Wird newgrp mit dem optionalen Parameter [-] übergeben, führt der Gruppenwechsel zu einem Neustart der Benutzerumgebung – so, als ob sich der Benutzer neu angemeldet hätte.

Benutzer, die newgrp ohne Gruppenangabe verwenden, wechseln in die unter /etc/passwd angegebene Standardgruppe.

Prinzipiell muss ein Benutzer Mitglied der Gruppe sein, in die er wechseln möchte. Eine Ausnahme stellen passwortgeschützte Gruppen dar. Ist eine Gruppe durch ein Passwort geschützt, wird dieses vor dem Wechsel über das Terminal abgefragt.

passwd

Benutzerpasswort ändern

Verwenden Sie das Kommandozeilenprogramm passwd, um das Passwort eines Benutzers zu ändern oder Sperr- und Änderungsintervalle zu definieren.

Dem Befehl liegt folgende Syntax zugrunde:

passwd [OPTIONEN] BENUTZERNAME

Möchten Sie das Passwort eines anderen Benutzers ändern, benötigen Sie Root-Rechte.

Verwenden Sie den Befehl passwd ohne Benutzername, um Ihr eigenes Passwort zu ändern.

passwd

Soll das Passwort des ausgewählten Benutzers gesperrt werden, verwenden Sie den Befehl passwd mit der Option -l (lock).

passwd -l BENUTZERNAME

Weitere Optionen bieten die Möglichkeit, eine Verfallsdauer für Passwörter (-x) sowie Warn- (-w) und Sperrintervalle (-i) zu definieren:

passwd -x MAX_TAGE -w WARN_TAGE -i INAKTIV_TAGE BENUTZERNAME

In folgendem Beispiel wird definiert, dass der Benutzer peter24 sein Passwort alle 30 Tage erneuern muss. Eine Warnung erhält er 5 Tage vor Ablauf der Frist. Bleibt die Erneuerung des Passworts nach 30 Tagen aus, verfällt das Passwort und der Benutzer-Account peter24 wird nach 3 Tagen gesperrt.       

passwd -x 30 -w 5 -i 3 peter24

sudo

Programme mit Rechten anderer Benutzer ausführen

Der Befehl sudo (substitute user do) kann Programmaufrufen vorangestellt werden, um diese mit den Rechten eines anderen Nutzers auszuführen. In der Regel ist dafür eine Passworteingabe notwendig. Der Befehl sudo fragt dabei immer nach dem Passwort des aufrufenden Benutzers.

Wird der Befehl ohne Benutzernamen übergeben, wird der Superuser root als Ziel-Benutzer verwendet.

sudo PROGRAMMAUFRUF

Administratoren haben die Möglichkeit, in der Datei /etc/sudoers zu definieren, wer sudo benutzen darf und welche Programmaufrufe erlaubt sind. Ein Benutzer muss der Gruppe sudo angehören, um den Befehl sudo verwenden zu können.

Möchten Sie einen anderen Ziel-Benutzer auswählen, verwenden Sie sudo mit der Option -u und dem gewünschten Benutzernamen.

sudo -u BENUTZERNAME PROGRAMMAUFRUF

Ein solcher Benutzerwechsel ist nur möglich, wenn dieser laut /etc/sudoers erlaubt ist.

Möchten Sie dauerhaft in die Root-Shell wechseln, um Befehle mit Administratorrechten auszuführen, verwenden Sie sudo mit der Option -i.

sudo -i

Der Befehl sudo ist nützlich, da er Benutzern die Möglichkeit gibt, vorher festgelegte Befehle als Root-Nutzer auszuführen, ohne dass das Root-Passwort weitergegeben werden muss.

su

Mit Rechten anderer Benutzer arbeiten

Auch der Befehl su erlaubt einen temporären Benutzerwechsel, um Programmaufrufe mit den Rechten eines Ziel-Benutzers auszuführen. Anders als bei sudo werden Befehle dabei nicht direkt ausgeführt. Stattdessen wird ein Wechsel der Identität veranlasst. Zudem fragt su nicht das Passwort des aufrufenden Benutzers, sondern dass des Ziel-Benutzers ab. Um Programme als Superuser aufzurufen, bräuchte ein Benutzer somit das Root-Passwort des Systems. Darüber hinaus lässt sich su im Gegensatz zu sudo nicht auf einen Satz vom Administrator vordefinierter Programmaufrufe einschränken.

Die allgemeine Syntax des Befehls lautet:

su [OPTIONEN] [BENUTZERNAME]

Ein Aufruf ohne BENUTZERNAME wählt root als Ziel-Benutzer aus.

usermod

Benutzer-Account anpassen

Der Kommandozeilenbefehl usermod bietet Ihnen die Möglichkeit, bereits angelegte Benutzer-Accounts zu bearbeiten.

Verwenden Sie usermod mit Root-Rechten nach folgendem Schema:

usermod [OPTIONEN] BENUTZERNAME

Welche Modifikationen vorgenommen werden sollen, definieren Sie mithilfe von Optionen.

Benutzername ändern (-l NEUER_NAME):

usermod -l peter24 peter23

Der Benutzer peter23 heißt jetzt peter24.

Neues Home-Verzeichnis anlegen (-d VERZEICHNIS) und alte Dateien umziehen (-m):

 usermod -d /Pfad/zum/Verzeichnis/peter24 –m peter24

Alle Dateien aus dem alten Home-Verzeichnis werden in das neue Home-Verzeichnis umgezogen. 

Benutzer sperren (-L):

usermod -L peter24

Das Passwort des Benutzers peter24 wird gesperrt.

Benutzer in Gruppe aufnehmen (-a) und alle anderen Gruppenzugehörigkeiten beibehalten (-G):

usermod –aG users peter24

Peter wird der Gruppe users hinzugefügt.

Systembefehle

In der Kategorie Systembefehle finden Sie grundlegende Linux-Kommandos zur Systemsteuerung. Nutzen Sie folgende Befehle, um das System aus dem Terminal heraus neu zu starten und herunterzufahren – auf Wunsch auch zeitgesteuert.

Hinweis

Die meisten Kommandozeilenbefehle zur Systemsteuerung müssen mit Root-Rechten ausgeführt werden.

Befehl

Beschreibung

logger

Log-Einträge erstellen

Mit dem Kommandozeilenprogramm logger lassen sich Einträge im System-Log erstellen.

Verwenden Sie logger nach folgendem Schema:

logger "IHRE NACHRICHT"

Das System-Log finden Sie unter /var/log/syslog.

reboot

System neustarten

Bei reboot handelt es sich um einen Kommandozeilenbefehl der einen Neustart des Systems herbeiführt. Um einen Neustart einzuleiten, muss der Befehl mit Root-Rechten ausgeführt werden.

reboot [OPTIONEN]

rtcwake

System automatisch starten und herunterfahren

Bei rtcwake handelt es sich um einen Kommandozeilenbefehl, der es ermöglicht, das System zeitgesteuert zu starten und herunterzufahren.  

Dem Befehl liegt folgende Syntax zugrunde

rtcwake [OPTIONEN] [MODUS] [Zeit]

Wählen Sie einen bestimmten Modus (-m MODUS) in den das System für eine bestimmte Zeit in Sekunden (-s ZEIT IN SEKUNDEN) versetzt werden soll. Alternativ haben Sie die Möglichkeit, Ihr System zu einem genau definierten Zeitpunkt (-t UNIXZEIT) aufzuwecken.

Beispiel 1:

rtcwake -m standby -s 300

Das System wird für 5 Minuten (300 Sekunden) in den Standby-Modus versetzt.

Beispiel 2:

rtcwake -m off -t 1490997660

Das System wird Heruntergefahren und „erwacht“ zur Unixzeit 1490997660. Diese entspricht folgendem Datum: 01.04.2017 - 00:01:00. Bei der Unixzeit handelt es sich um die Anzahl der vergangenen Sekunden seit dem 1.1.1970 um 00:00. Da Angaben in Unixzeit schwer greifbar sind, empfiehlt es sich, diese mithilfe des Befehls date (siehe unten) umzuwandeln.

rtcwake -m off -t $(date -d '20170401 00:01' +%s)

shutdown

System herunterfahren

Der Befehl shutdown kann von Root-Nutzern verwendet werden, um das System herunterzufahren.

Dem Befehl liegt folgende Syntax zugrunde:

shutdown [OPTIONEN] [ZEIT] [NACHRICHT]

Möchten Sie einen Shutdown veranlassen, haben Sie die Möglichkeit, einen Zeitpunkt zu definieren, wann das System herunter gefahren werden soll. Nutzen Sie dafür entweder eine konkrete Zeitangabe (hh:mm) oder einen Countdown (+m).

Andere Benutzer auf dem System bekommen eine Shutdown-Meldung. Diese kann bei Bedarf um einen individuelle Nachricht ergänzt werden:

In folgendem Beispiel fährt das System in 10 Minuten herunter:

shutdown +10

Wird der Befehl shutdown mit der Option -r verwendet, folgt dem Herunterfahren des Systems ein Reboot.

shutdown -r +10

Systeminformationen

In der Kategorie Systeminformationen haben wir Kommandozeilenprogramme zusammengefasst, mit denen Sie Informationen und Statusmeldungen abrufen und sich einen umfassenden Überblick über den Zustand Ihres Systems verschaffen.

Befehl

Beschreibung

date

Systemzeit abrufen

Der Befehl date gibt Ihnen die Systemzeit inklusive Datum aus.

date [OPTIONEN] [AUSGABEFORMAT]

Möchten Sie im Rahmen eines Programmaufrufs mit einem bestimmten Datum arbeiten (siehe rtcwake), lässt sich dieses mithilfe der Option -d 'DATUM' definieren. Darüber hinaus werden diverse Optionen unterstützt, mit denen sich Datums- und Zeitangaben in ein gewünschtes Format übertragen lassen.

Verwenden Sie beispielweise die Option +%s um sich ein Datum in Unixzeit (Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC) ausgeben zu lassen.

Beispiel:

date -d '20170427 11:29' +%s

Output:

1493285340

1493285340 Unixzeit entspricht dem 27.04.2017 - 11:29:00.

df

Freien Festplattenspeicher abrufen

Nutzen Sie den Befehl df (disk free) nach folgendem Schema, um sich den freien Festplattenspeicher eingehängter Partitionen anzeigen zu lassen.

df [OPTIONEN]

Wird der Befehl in Kombination mit einer bestimmten Datei verwendet, gibt das System lediglich den freien Speicherplatz der Partition an, auf der sich die Datei befindet.

df [OPTIONEN] [DATEI]

Die Option -l (lokal) begrenzt df auf lokale Dateisysteme. Zudem werden Optionen unterstützt, mit denen sich das Ausgabeformat anpassen lässt. Für eine von Menschen lesbare Ausgabe empfiehlt sich die Option -h (human readable): z. B. 3K 124M 1G.

dmesg

Meldungen des Kernel-Ringpuffers abrufen

Das Programm dmesg (kurz für display message) gibt Meldungen des Kernel-Ringpuffers im Terminal aus und ermöglicht es Ihnen so, Hardware- und Treiberfehler zu lokalisieren.

Nutzen Sie dmesg nach folgendem Schema: 

dmesg [OPTIONEN]

Die dmesg-Ausgabe enthält sämtliche Meldungen des Bootvorgangs und ist dementsprechend lang. Das Kommandozeilenprogramm wird daher oft in Kombination mit einem Pager wie more, less oder tail verwendet.

Beispiel:

dmesg | tail

Die dmesg-Ausgabe wird mithilfe des Pipe-Operators (|) an den Pager tail übergeben. Dieser führt dazu, dass lediglich die letzten 10 Meldungen im Terminal ausgegeben werden. 

Eine Kombination mit dem grep-Befehl ermöglicht es, gezielt nach Meldungen zu suchen. 

du

Belegten Festplattenspeicher abrufen

Möchten Sie in Erfahrung bringen, wie viel Festplattenspeicher durch Verzeichnisse auf ihrem System belegt wird, verwenden Sie den Befehl du (kurz für disk usage) nach folgendem Schema:

du [OPTIONEN] [VERZEICHNIS] 

Die Angabe eines bestimmten Verzeichnisses ist optional. Der belegte Festplattenspeicherplatz lässt sich mit der Option -h in einem für Menschen lesbaren Format ausgeben.

free

Auslastung des Arbeitsspeichers abrufen

Der Befehl free gibt die Auslastung des Arbeitsspeichers aus.

Die allgemeine Syntax lautet:

free [OPTIONEN]

Als Ausgabe erhalten Sie zwei Angaben: Mem (Memory) und Swap.

Bei Mem handelt es sich um den physischen Arbeitsspeicher ihres Systems. Ist dieser erschöpft, lagert Linux Teile der im RAM gespeicherten Daten auf die Festplatte aus. Man spricht in diesem Fall von Swap-Space.    

Auch free unterstützt die Option -h, mit der sich die Speicherauslastung in einem für Menschen lesbaren Format ausgeben lässt.  

hostname

Hostname abrufen

Nutzen Sie den Befehl hostname nach folgendem Schema, um sich den DNS-Namen des Systems anzeigen zu lassen.

hostname [OPTIONEN]

uname

Kernel-Informationen abrufen

Der Kommandozeilenbefehl uname steht für unix name und wird verwendet, um Systeminformationen zum Kernel abzurufen.

Der Befehl unterstützt diverse Optionen, mit denen sich die Ausgabe nach den gewünschten Informationen filtern lässt.

uname [OPTIONEN]

uptime

Systemlaufzeit abrufen

Möchten Sie ermitteln, wie lange Ihr System seit dem letzten Bootvorgang läuft, nutzen Sie den Kommandozeilenbefehl uptime nach folgendem Schema:

uptime

vmstat

Statistiken zum virtuellen Speicher abrufen

Mithilfe des Monitoring-Tools vmstat lassen sich Informationen zum virtuellen Speicher, zu Schreib- und Lesevorgängen auf der Festplatte sowie zur CPU-Aktivität abrufen.

Rufen Sie vmstat nach folgendem Schema auf, um sich die durchschnittlichen Werte seit dem letzten Systemstart ausgeben zu lassen.

vmstat [OPTIONEN]

Alternativ bietet vmstat einen fortlaufenden Monitoring-Modus, bei dem die Systemwerte in einem gewünschten Zeitintervall in Sekunden beliebig oft abgerufen werden.

vmstat [OPTIONEN] [INTERVALL [WIEDERHOLUNGEN]]

Beispiel:

vmstat 4 8

Die Abfrage erfolgt in acht Durchgängen alle 4 Sekunden.

Möchten Sie die fortlaufende Abfrage abbrechen, verwenden Sie die Tastenkombination [STRG] + [C].

Hardware-Informationen

Linux-Befehle dieser Kategorie liefern Ihnen detaillierte Informationen zur den Hardware-Komponenten, die Ihrem System zugrunde liegen. 

Befehl

Beschreibung

lscpu

Prozessorinformationen ausgeben

Nutzen Sie lscpu (kurz für list cpu) nach folgendem Schema, um sich Informationen zur CPU-Architektur im Terminal ausgeben zu lassen.

lscpu [OPTIONEN]

Mögliche Optionen entnehmen Sie den Handbuchseiten Ihres Betriebssystems.

lshw

Hardwareinformationen ausgeben

Der Befehl lshw steht für list hardware, und gibt Ihnen Informationen zu Hardwarekomponenten im Terminal aus. Die Informationen umfassen CPU, Speichermodule sowie Geräte wie Soundkarten, Grafikkarten oder Laufwerke, die an PCI-, USB- oder IDE-Schnittstellen angeschlossen sind.

Nutzen Sie lshw nach folgendem Schema:

lshw [OPTIONEN]

Der Befehl unterstützt diverse Optionen, mit denen sich das Ausgabeformat (-html, -xml, -short, -businfo) sowie der Umfang der Informationen (z. B. -sanitize zum Verstecken sensibler Informationen) anpassen lassen.

lspci

Informationen zu PCI-Geräten ausgeben

Nutzen Sie lspci (kurz für list pci) nach folgendem Schema, um sich detaillierte Informationen über PCI-Geräte ausgeben zu lassen.

lspci [OPTIONEN]

Mögliche Optionen entnehmen Sie den Handbuchseiten Ihres Betriebssystems.

lsusb

Informationen zu USB-Geräten ausgeben

Nutzen Sie lsusb (kurz für list usb), um sich detaillierte Informationen zu USB-Geräten im Terminal ausgeben zu lassen.

lsusb [OPTIONEN]

Mögliche Optionen entnehmen Sie den Handbuchseiten Ihres Betriebssystems.

Prozessmanagement

Unter Linux wird die Instanz eines laufenden Programms als Prozess bezeichnet. Folgende Terminalbefehle gehören zum Standardrepertoire des Prozessmanagements und ermöglichen es Ihnen, alle Prozesse auf Ihrem System bequem aus der Terminal heraus zu überwachen und bei Bedarf steuernd einzugreifen.   

Befehl

Beschreibung

chrt

Echtzeit-Attribute abfragen und anpassen

Bei chrt handelt es sich um ein Kommandozeilenprogramm für die fortgeschrittene Prozesskontrolle, das es ermöglicht, die Echtzeitattribute (Scheduling-Regel und Priorität) laufender Prozesse zu ermitteln und anzupassen oder Befehle und deren Argumente mit bestimmten Echtzeitattributen auszuführen.

Die allgemeine Syntax des Befehls lautet:

chrt [OPTIONEN] [PRIORITÄT] PID/BEFEHL [ARGUMENTE]

Nutzen Sie chrt ohne Angabe einer Priorität und mit der Option -p, um die Echtzeitattribute ausgewählter Prozesse zu ermitteln:

chrt -p PID

Beispiel:

chrt -p 1234

chrt gibt die Echtzeitattribute des Prozesses 1234 aus.

Der Befehl wird in der in der Regel nach folgendem Schema verwendet, um einen Befehl und dessen Argumente mit einer bestimmten Echtzeit-Priorität ausführen.

chrt [OPTIONEN] PRIORITÄT BEFEHL [ARGUMENTE]

Beispiel:

chrt 99 firefox

Das Programm Firefox wird mit einer Echtzeit-Priorität von 99 gestartet.

Soll hingegen die Echtzeit-Priorität laufender Prozesse angepasst werden, kommt folgende Syntax zum Einsatz:

chrt -p PRIORITÄT PID

Beispiel:

chrt -p 20 1234

Die Echtzeitpriorität des Prozesses 1234 wird auf 20 gesetzt.

Darüber hinaus bietet chrt die Möglichkeit, die Scheduling-Regel laufender oder neu gestarteter Prozesse mithilfe von Optionen anzupassen oder zu definieren. 

chrt nutzt als Standardwert die Scheduling-Regel SCHED_RR (Round Robin, explizit mit der Option -r). Das bedeutet, alle rechenbereiten Prozesse bekommen nacheinander für einen gewisse Zeitspanne CPU-Rechenzeit zugesprochen. Man spricht von der Zeitscheibe. Diese gibt an, wie lange ein Prozess laufen darf, bis er von einem anderen Prozess verdrängt wird. Die Größe der Zeitscheibe eines Prozesses hängt von dessen Priorität ab. Linux bietet 140 Prioritätslevel für Prozesse (0 = höchste Priorität, 139 = geringste Priorität). Die Prioritätslevel 1 bis 99 sind für Prozesse mit sogenannter Echtzeitpriorität reserviert. Benutzerprozesse hingegen werden in der Regel mit einem Prozesslevel von 100 bis 139 ausgeführt. Dies entspricht einem nice-Wert von -20 bis +19 (siehe nice

Neben SCHED_RR kennt Linux mit SCHED_FIFO (Option -f) eine weitere Scheduling-Regeln für Echtzeitprozesse. Wie SCHED_RR arbeitet SCHED_FIFO als First-in/First-out-Algorithmus. Dabei kommt jedoch keine Zeitscheibe zum Einsatz. Prozesse, die mit SCHED_FIFO gestartet werden, laufen so lange, bis sie beendet oder von einem Prozess mit höherer Echtzeit-Priorität verdrängt werden. Verdrängte Prozesse rücken ans Ende der Warteschleife. 

ionice

I/O-Scheduling-Klassen zuweisen

Der Kommandozeilenbefehl ionice wird verwendet, um die Priorität eines Prozesses zu beeinflussen, der das I/O-Interface des Kernels verwendet.

Die allgemeine Syntax des Befehls lautet:

ionice [OPTIONEN] BEFEHL

Um ionice ausführen zu können, werden Root-Rechte benötigt.

Der Befehl unterscheidet drei Scheduling-Klassen, die über die Option -cZAHL übergeben werden. Mögliche Zahlenwerte sind 1, 2 und 3.

1 = Real Time: Die I/O-Aktion wird sofort ausgeführt.

2 = Best-Effort: Die I/O-Aktion wird so schnell wie möglich durchgeführt.

3 = Idle: Die I/O-Aktion wird nur ausgeführt, wenn kein anderer Prozess I/O-Zeit in Anspruch nimmt.

Die PID eines laufenden Prozesses wird mit der Option -pPID übergeben.

Beispiel:

ionice -c2 -p1234

Dem Prozess mit der PID 1234 wird die Scheduling-Klasse 2 (Best Effort) übergeben.

kill

Prozess via PID stoppen und beenden

Bei kill handelt es sich um ein Kommandozeilenprogramm, mit dem sich Prozesse anhalten und beenden lassen.

Der Befehl wird nach folgendem Schema mit einem gewünschten Signal und der ID des ausgewählten Prozesses übergeben.

kill [OPTIONEN] [-SIGNAL] PID

Gängige Signale sind:

    TERM: Veranlasst einen Prozess, sich selbst zu beenden (Standard)

    KILL: Erzwingt das Beenden eines Prozesses (durch das System)

    STOP: Hält einen Prozess an

    CONT: Lässt einen angehaltenen Prozess weiterlaufen

Folgender Aufruf sendet ein Signal an den Prozess 1234, das diesen auffordert, sich selbst zu beenden. Da kein Signal übergeben wurde, sendet kill das Standardsignal TERM

kill 1234

Geben Sie Prozessen immer die Möglichkeit, sich selbst zu beenden, und erzwingen Sie die Aktion via KILL nur, wenn der angesprochene Prozess nicht wie beabsichtigt reagiert.

kill -KILL 1234

Möchten Sie 1234 lediglich zeitweise pausieren, nutzen Sie folgende Aufrufe, um den Prozess anzuhalten bzw. weiterlaufen zu lassen:

kill -STOP 1234

kill -CONT 1234

Nutzen Sie den Befehl kill mit der Option -l (--list), um sich alle möglichen Signale anzeigen zu lassen, die via kill an Prozesse übergeben werden können.

killall

Prozesse via Namen stoppen und beenden

Verwenden Sie killall in Kombination mit einem bestimmten Suchbegriff, um lediglich die Prozesse zu beenden, deren Namen sich exakt mit diesem decken (es werden die ersten 15 Zeichen abgeglichen).

killall [OPTIONEN] [-SIGNAL] [PROZESSNAME]

Die Option -e (--exact) ermöglicht es, den Abgleich auf alle Zeichen des Prozessnamens auszuweiten. 

nice

Prozessprioritäten definieren

Der Kommandozeilenbefehl nice weist einem Prozess beim Start einen nice-Wert zwischen -20 und +19 in ganzzahligen Schritten zu, nach der die zu Verfügung stehende Rechenleistung des Systems verteilt wird. Die Spanne -20 bis +19 entspricht den Linux-Prioritätsleveln 100 bis 139. Ein Prozess mit einem nice-Wert von -20 hat somit eine höherere Priorität als ein Prozess mit einem nice-Wert von 19.

Die alleine Syntax lautet:

nice [OPTION] [BEFEHL]

Ohne weitere Angabe startet jeder Prozess mit einem nice-Wert von 0. Nutzen Sie die Option -n, um Prozessprioritäten zu definieren. Dabei ist zu beachten, dass negative Prioritäten nur mit Root-Rechten vergeben werden können.

In folgendem Beispiel wird der Editor nano mit einer Priorität von 4 gestartet:

nice -n 4 nano 

nohup

Prozess aus Sitzung lösen

Normalerweise beenden sich alle abhängigen Prozesse eines Benutzers automatisch, sobald dieser die Terminal-Sitzung schließt (z. B. via exit). 

Der Kommandozeilenbefehl nohup (kurz für no hangup) löst einen Prozess aus der aktuellen Sitzung und ermöglicht es Ihnen, diesen auch dann weiter laufen zu lassen, wenn Sie sich am System abmelden. Das damit verbundene HUP-Signal (hangup), das normalerweise dazu führt, dass sich ein Prozess automatisch beendet, wird durch nohup unterdrückt.

Dem Programmaufruf liegt folgendes Schema zugrunde:

nohup BEFEHL

pgrep

PID via Suchbegriff ermitteln

Das Kommandozeilenprogramm pgrep gleicht die Liste laufender Prozesse mit einem Suchbegriff ab und gibt bei Übereinstimmung die jeweiligen PIDs aus.

Die allgemeine Syntax des Aufrufs lautet:

pgrep [OPTIONEN] Suchbegriff

Standardmäßig gibt pgrep die PIDs aller Prozesse aus, die den Suchbegriff enthalten.

Beispiel:

pgrep ssh

Es werden alle Prozesse aufgelistet, die den Suchbegriff ssh im Prozessnamen enthalten.

Soll die Suche auf exakte Übereinstimmungen eingegrenzt werden, verwenden Sie den Befehl mit der Option -x.

Beispiel:

pgrep -x sshd

Es werden lediglich die Prozesse aufgelistet, die exakt sshd heißen. 

Möchten Sie neben der PID auch den Prozessnamen abrufen, verwenden Sie pgrep mit der Option -l.

pgrep unterstützt (ähnlich wie grep) Suchbegriffe auf Basis regulärer Ausdrücke.

pidof

PIDs ermitteln

Das Kommandozeilenprogramm pidof gibt Ihnen die Prozessidentifikationsnummern (PIDs) aller Prozesse eines Programms aus.

Ermitteln Sie PIDs via pidof nach folgendem Schema:

pidof [OPTIONEN] PROGRAMM

Über folgenden Aufruf werden die IDs aller laufenden Prozesse des Programms nano im Terminal ausgegeben. 

pidof nano

Möchten Sie sich lediglich die erste Prozess-ID ausgeben lassen, verwenden Sie pidof in Kombination mit der Option -s (kurz für Single shot).

pkill

Prozesse via Suchbegriff stoppen und beenden

Wie kill sendet auch pkill ein Signal an einen ausgewählten Prozess. Die Adressierung erfolgt dabei jedoch nicht durch die PID. Stattdessen wird ein Suchbegriff übergeben, der mit den Namen laufender Prozesse abgeglichen wird. Dieser kann als regulärer Ausdruck formuliert werden.

Auch pkill übergibt das Standardsignal TERM, sofern kein anderes Signal definiert wurde. Die allgemeine Syntax des Befehls lautet:

pkill [OPTIONEN] [-SIGNAL] [SUCHBEGRIFF]

Über weitere Optionen lässt sich der Befehl auf die Prozesse eines bestimmten Benutzers (-U UID), auf Kindprozesse eines bestimmten Elternprozess (-P PID) oder die neusten (-n) bzw. ältesten Prozesse (-o) eingrenzen.

Während pkill alle Prozesse anspricht, deren Namen den Suchbegriff enthalten, richtet sich der Befehl killall nur an Prozesse mit exakter Übereinstimmung.

ps

Liste aller laufenden Prozesse abrufen

Der Befehl ps gibt eine Liste aller laufenden Prozesse im Terminal aus.

ps [OPTIONEN]

Benötigen Sie eine detaillierte Ausgabe verwenden Sie ps mit den Optionen -f (detailliert) oder -F (sehr detailliert).

Weitere mögliche Optionen entnehmen Sie den Handbuchseiten Ihres Betriebssystems. 

pstree

Laufende Prozesse als Baumstruktur abrufen

Nutzen Sie pstree, um sich alle laufenden Prozesse in einer Baumstruktur anzeigen zu lassen.

Die allgemeine Syntax des Befehls lautet:

pstree [OPTIONEN]

Format und Umfang der Ausgabe lassen sich durch diverse Optionen anpassen.

renice

Prioritäten laufender Prozesse anpassen

Der Kommandozeilenbefehl renice ermöglicht es, die Priorität eines laufenden Prozesses anzupassen.  

Die allgemeine Syntax lautet:

renice PRIORITÄT [OPTIONEN]

Die Adressierung erfolgt mithilfe von Optionen über die Prozess-ID (-p PID), die Gruppen-ID (-g GID) oder einen Benutzernamen (-u BENUTZER).

Beispiele:

renice 12 -p 1234

Dem Prozess mit der ID 1234 wird die Priorität 12 zugewiesen.

renice 3 -g 3456

Allen laufenden Prozessen der Gruppe mit der GID 3456 wird eine Priorität von 3 zugewiesen.

sudo renice -6 -u peter24

Allen laufenden Prozessen des Benutzers peter24 wird eine Priorität von -6 zugewiesen.

Verwenden Sie renice ohne Option, wird der Standardwert -p angenommen und der nachfolgende String als Prozess-ID interpretiert.

sleep

Prozessausführung verzögern

Der Kommandozeilenbefehl sleep ermöglicht es Ihnen, die aktuelle Terminal-Sitzung für einen angegebenen Zeitraum zu unterbrechen.

Die allgemeine Syntax des Befehls lautet:

sleep ZAHL[SUFFIX]

Verwenden Sie sleep ohne Suffix, wird die angegebene Zahl als Zeitspanne in Sekunden (s) interpretiert. Alternativ haben Sie die Möglichkeiten, die Terminal-Sitzung für Minuten (m), Stunden (h) oder Tage (d) zu unterbrechen.

Folgender Aufruf unterbricht die Sitzung für 4 Minuten:

sleep 4m

Der Befehl eignet sich zum Beispiel, um die Ausführung eines nachfolgenden Befehls zu verzögern:

sleep 1h && reboot

Das System wartet eine Stunde und führt anschließend den Befehl reboot aus, der einen Neustart des Systems zur Folge hat.

taskset

Prozesse bestimmten Prozessoren zuordnen

Bei taskset handelt es sich um einen Kommandozeilenbefehl für die erweiterte Prozesskontrolle, der bei Mehrprozessorsystemen zum Einsatz kommt, um Prozesse oder Befehle bestimmten Prozessoren zuzuordnen.

Der Befehl erfordert Root-Rechte und verwendet eines der folgenden Schemata:

taskset [OPTIONEN] MASKE BEFEHL

taskset [OPTIONEN] -p PID

Die Zuordnung von Prozess/Befehl zu Prozessor erfolgt mithilfe einer hexadezimalen Bitmaske. Beispielsweise:

    0x00000001 = Prozessor #0

    0x00000003 = Prozessor #0 und #1

    0xFFFFFFFF = alle Prozessoren (#0 bis #31)

Da eine solche Zuordnung via Bitmaske wenig intuitiv ist, wird taskset in der Regel mit der Option -c (--cpu-list) verwendet, die eine numerische Zuordnung der Prozessoren ermöglicht (z.B. 0, 5 7, 9-11).

Folgender Befehl weist den Prozess 1234 an, die Prozessoren 1 und 2 zu nutzen:

taskset -p 1234 -c 1,2

top

Dynamische Prozessübersicht

Mit dem Befehl top rufen Sie eine dynamische Übersicht aller laufenden Prozesse ab. 

Dem Aufruf liegt folgendes Schema zugrunde:

top [OPTIONEN]

Die Ausgabe der Prozessinformationen lässt sich mithilfe diverser Optionen anpassen. Zudem unterstützt die top-Prozessübersicht (unter anderem) folgende Hotkeys, um die Ausgabe zu sortieren:

    [P] = Sortiert die Ausgabe nach CPU-Last

    [M] = Sortiert die Ausgabe nach Speicherverbrauch

    [N] = Sortiert die Ausgabe nummerisch nach PID

    [A] = Sortiert die Ausgabe nach Alter

    [T] = Sortiert die Ausgabe nach Zeit

    [U BENUTZERNAME oder UID] = Filtert die Ausgabe nach dem jeweiligen Benutzer

Verwenden Sie den Hotkey [H], um sich eine Hilfeseite anzeigen zu lassen und [Q], um die Prozessübersicht zu verlassen.

Pager

Sie möchten auch bei mehrseitigen Dateiinhalten stets den Überblick behalten? Mit einem Kommandozeilenprogramm aus der Kategorie Pager wählen Sie gezielt aus, welche Abschnitte Sie sich im Terminal anzeigen lassen und blättern bei Bedarf im interaktiven Modus durch die Datei.

Befehl

Beschreibung

head

Die ersten Zeilen einer Datei ausgeben

Der Pager head wird verwendet, um den ersten Teil einer Datei auszugeben.

Die allgemeine Syntax des Befehls lautet:

head [OPTIONEN] Datei

Nutzen Sie Option -n ANZAHL_ZEILEN, um zu definieren, wie viele Zeilen beginnend mit der ersten ausgegeben werden sollen.

Beispiel:

head -n 3 beispiel.txt 

Es werden die ersten drei Zeilen der Datei beispiel.txt ausgegeben. Ohne Zeilenangabe gibt head die ersten 10 Zeilen der angegeben Datei aus.

less

Textdateien im Terminal anzeigen

Das Kommandozeilenprogramm less ermöglicht es, den Inhalt einer Textdatei im Terminal anzuzeigen.

Die allgemeine Syntax lautet:

less [OPTIONEN] DATEI

Die Ausgabe erfolgt automatisch im interaktiven Modus. Dieser ermöglicht es Ihnen, im ausgewählten Dokument zu blättern oder dieses nach Stichworten zu durchsuchen. 

Die Taste [Q] beendet den interaktiven Lesemodus. Weitere Steuertasten und mögliche Optionen entnehmen Sie der Handbuchseiten zum Programm.

more

Textdateien im Terminal anzeigen

Der Pager more erfüllt dieselbe Funktion wie less, bietet jedoch einen geringeren Funktionsumfang.

Nutzen Sie more nach folgendem Schema, um eine Textdatei aufzurufen und deren Inhalt im Terminal auszugeben:

more [OPTIONEN] DATEI

Das Kommandozeilenprogramm zeigt stets eine komplette Bildschirmseite der ausgewählten Datei an. Umfasst eine Datei mehrere Seiten, startet auch more einen interaktiven Modus, der es Ihnen ermöglicht, mithilfe von Steuertasten im Dokument zu blättern oder dieses nach Stichworten zu durchsuchen.

Die Taste [Q] beendet den interaktiven Modus. Weitere Steuertasten sowie mögliche Optionen entnehmen Sie den Handbuchseiten Ihres Betriebssystems

tail

Die letzten Zeilen einer Datei ausgeben

Während head standardmäßig die ersten 10 Zeilen einer ausgewählten Datei anzeigt, gibt tail die letzten 10 Zeilen aus.

Beide Pager werden nach demselben Schema verwendet (siehe head).

Editoren

Unter Linux benötigen Sie kein grafisches Textverarbeitungsprogramm, um Konfigurationsdateien anzupassen, Codeabschnitte zu bearbeiten oder kurze Notizen zu verfassen. Einfache Texteditoren lassen sich bequem und ohne Zeitverzögerung im Terminal aufrufen. Im Folgenden stellen wir drei Programme vor, die Sie kennen sollten.   

Befehl

Beschreibung

emacs  

Der Texteditor Emacs

Bei Emacs handelt es sich um einen plattformunabhängigen Texteditor, der durch eine Programmierschnittstelle beliebig erweiterbar ist.

Emacs startet standardmäßig mit grafischer Benutzeroberfläche, kann mit der Option --no-window-system jedoch auch im Terminal geöffnet werden.

emacs --no-window-system

Emacs verfügt über ein integriertes Tutorial, das Sie durch die Tastenkombination [STRG] + [H], [T] aufrufen.

nano

Der Texteditor Nano

Bei Nano handelt es sich um einen GNU-Nachbau des terminalbasierten Texteditors Pico, der im Rahmen des Mail-Clients Pine zum Einsatz kommt. Nano bietet zwar einen geringeren Funktionsumfang als vergleichbare Editoren (z. B. Vim), zeichnet sich diesen gegenüber jedoch durch eine besonders nutzerfreundliche Handhabung aus.

Die allgemeine Syntax des Programmaufrufs lautet:

nano [OPTIONEN] DATEI

Das Programm öffnet die angegebene Datei in einem Edit-Fenster im Terminal.

Rufen Sie Nano ohne Dateinamen auf, kann eine neue Textdatei erstellt werden, die im aktuell ausgewählten Verzeichnis abgespeichert wird.

nano [Optionen]

Die Tastenkombinationen zur Steuerung des Programms sind am unteren Rand des Edit-Fensters aufgeführt. Weitere Informationen zu Nano entnehmen Sie den Handbuchseiten zum Programm.

vim

Der Texteditor Vim

Bei Vim (kurz für Vi Improved) handelt es sich um einen Weiterentwicklung des Texteditors Vi, die sich von diesem durch zahlreiche Erweiterungen wie Syntax-Highlighting, ein umfassendes Hilfesystem, natives Scripting, automatische Codevervollständigung und eine visuelle Textauswahl abhebt.

Das Open-Source-Programm bietet Ihnen verschiedene Betriebsmodi zur Bearbeitung reiner Textdateien und kann wahlweise im Terminal oder als Standalone-Applikation mit grafischer Benutzeroberfläche (GVim) genutzt werden. Ein zentrales Anwendungsgebiet des Programms ist die Bearbeitung von Programmcode.

Starten Sie Vim in der Konsole, erfolgt die Bedienung über die Tastatur. In der Regel wird das Programm zusammen mit einer Textdatei nach folgendem Schema aufgerufen.

vim [OPTIONEN] DATEI

Geöffnete Dateien lädt Vim in einen Zwischenspeicher (Buffer). Hier werden auch alle Änderungen vorgehalten, die Sie an der geöffneten Datei vornehmen. Öffnen Sie Vim ohne Angabe einer Datei, startet das Programm mit leerem Buffer. Eine Anpassung der Originaldatei erfolgt erst, wenn der Speichervorgang durch die entsprechende Tastenkombination angeordnet wird. Existiert keine Datei, die mit dem beim Programmaufruf übergebenen Namen übereinstimmt, wird sie im Rahmen des Speichervorgangs neu angelegt.

Eine umfassende Einführung zu Vim bietet das Programm vimtutor, das Sie ebenfalls über die Kommandozeile starten.

Darüber hinaus bietet unser Grundlagenartikel zum Texteditor Vim weitere Informationen zur Installation und den verschiedenen Betriebsmodi des Programms.

Netzwerkmanagement

Auch das Netzwerkmanagement erfolgt unter Linux bequem aus dem Terminal heraus. Egal, ob Sie die Verbindung prüfen, DNS-Informationen abfragen, Schnittstellen konfigurieren oder Dateien an einen anderen Rechner im Netzwerk übermitteln möchten, mit folgenden Programmen genügt ein einzelner Befehl, um Ihr Vorhaben in die Tat umzusetzen. 

Befehl

Beschreibung

arp

ARP-Cache anzeigen und manipulieren

Das Kommandozeilenprogramm arp ermöglicht es Ihnen, den ARP-Cache Ihres Betriebssystems abzurufen und zu manipulieren.

Nutzen Sie arp ohne Modifikator, um sich den Inhalt der ARP-Tabelle im Terminal ausgeben zu lassen.

arp 

Alternativ haben Sie die Möglichkeit, die Ausgabe mit der Option -a auf Einträge zu einem bestimmten Hostnamen (alternativ zu einer IP-Adresse) einzugrenzen.

arp -a HOSTNAME

Beispiel:

arp -a example.com

Möchten Sie einen ARP-Eintrag erstellen, verwenden Sie einen Programmaufruf mit der Option -s nach folgendem Schema:

arp -s HOSTNAME MAC_ADRESSE

Beispiel:

arp -s example.com 00:05:23:73:e6:cf

Soll ein bestehender Eintrag gelöscht werden, kommt arp mit der Option -d zum Einsatz.

arp -d HOSTNAME

dig

DNS-Informationen abfragen

Bei dig handelt es sich um ein Lookup-Tool, mit dem sich Informationen von DNS-Servern abfragen und im Terminal ausgeben lassen.

Das Kommandozeilenprogramm wird in der Regel nach folgendem Schema verwendet, um die IP-Adresse und andere DNS-Informationen zu einem gegebenen Domainnamen abzufragen:

dig [@SERVER] [DOMAIN] [TYP]

SERVER ist der DNS-Server, der nach den gewünschten Informationen durchsucht werden soll. Wird kein Server angegeben, ermittelt dig den Standard-DNS-Server aus der Datei /etc/resolv.conf.  

DOMAIN steht für den Domainnamen, zu dem DNS-Informationen ermittelt werden sollen.

Als TYP lässt sich der Abfragetyp festlegen, z. B. ANY (alle Einträge), A (IPv4-Record eines Hosts) oder AAAA (IPv6-Record eines Hosts). Als Standardabfragetyp ist A definiert.

Nutzen Sie dig mit der Option -x, um im Rahmen eines Reverse-Lookups den Domainnamen zu einer gegebenen IP-Adresse abzufragen.

dig [@SERVER] [-x IP-ADRESSE]

Die Argumente NAME, TYP und KLASSE werden in diesem Fall nicht benötigt.

ftp

Dateien via FTP übertragen

Mit dem Kommandozeilenprogramm ftp verfügen die meisten Linux-Distributionen über ein bereits vorinstalliertes Clientprogramm für den Datentransfer via FTP (File Transfer Protocol). Dieses bietet Ihnen die Möglichkeit, Dateien zwischen dem lokalen System und einem anderen Rechner im Netzwerk auszutauschen.

Nutzen Sie ftp nach folgendem Schema, um eine Verbindung zum FTP-Server des Zielrechners aufzubauen.

ftp [OPTIONEN] [HOST[PORT]]

Die Adressierung erfolgt via Hostname oder IP-Adresse. Die Angabe einer Portnummer ist optional.

Im Rahmen des Verbindungsaufbaus werden Sie in der Regel nach einem Benutzernamen und dem jeweiligen Passwort gefragt.

Ist der Login erfolgreich, startet ftp einen Kommandozeileninterpreter, der Benutzereingaben in Form von Befehlen entgegennimmt. Das Programm unterstützt diverse Befehle, mit denen Sie das Dateisystem des Zielrechners durchsuchen und verwalten sowie Dateien von einem System zum anderen übertragen können.

ip

Netzwerkschnittstellen abfragen und konfigurieren

Das Kommandozeilenprogramm ip ist Teil der Programmsammlung iproute2, mit der sich Netzwerkschnittstellen über das Terminal abfragen und konfigurieren lassen.

Die allgemeine Syntax des Befehls lautet:

ip [OPTIONEN] OBJEKT [BEFEHL [ARGUMENTE]]

Welche Aktion via ip ausgeführt wird, definieren Sie mithilfe von Objekten, Subbefehlen und deren Argumenten.

Das Programm unterstützt diverse Objekte wie address (IP-Adresse), link (Netzwerkschnittstelle), route (Eintrag in der Routing-Tabelle) oder tunnel, auf die sich Subbefehle wie add, change, del, list oder show anwenden lassen.  

Möchten Sie sich beispielsweise die IP-Adresse einer bestimmten Netzwerkschnittstelle (z.B. eth0) abrufen, verwenden Sie den Befehl ip in Kombination mit dem Objekt address, dem Befehl show und dem Argument dev eth0:

ip address show dev eth0 

Alternativ lassen sich Objekte und Befehle auch in Kurzschreibweise übergeben:

ip a s dev eth0

Möchten Sie sich sämtliche Informationen zu einer Netzwerkschnittstelle (z. B. eth0) ausgeben lassen, verwenden Sie den Kommandozeilenbefehl ip mit dem Objekt link, dem Befehl show und dem Argument dev eth0:

ip link show dev eth0 

bzw.

ip l s dev eth0

Um eine Schnittstelle wie eth0 zu aktivieren bzw. zu deaktivieren, gehen Sie folgendermaßen vor:

                ip link set eth0 up           

ip link set eth0 down

Mit ihrem großen Funktionsspektrum ersetzt die Programmsammlung iproute2 eine Reihe älterer Netzwerk-Tools wie ifconfig, route und netstat.

Eine Liste aller möglichen Optionen, Objekte, Subbefehle und Argumente für den Kommandozeilenbefehl ip sowie Informationen zu anderen iproute2-Programmen entnehmen Sie den Handbuchseiten Ihres Betriebssystems.

iw

WLAN-Schnittstellen abfragen und konfigurieren

Das Kommandozeilenprogramm iw dient der Konfiguration von WLAN-Schnittstellen und hat sich als aktuellere Alternative zu iwconfig etabliert.

Dem Aufruf liegt eine ähnliche Syntax wie dem ip-Befehl zugrunde:

iw [OPTIONEN] OBJEKT [BEFEHL]

Mögliche Objekte sind:

   dev NAME_DER_SCHNITTSTELLE = Netzwerkschnittstelle

   phy NAME_DES_GERÄTS = WLAN-Gerät (via Name)

   phy#INDEX_DES_GERÄTS = WLAN-Gerät (via Index)

   reg = Regulatory Agent zur Konfiguration von Regions- und Ländereinstellungen

Nutzen Sie iw mit dem Befehl help, um sich die Programmsyntax sowie mögliche Optionen und Befehle anzeigen zu lassen.

iw help

Im Folgenden einige Anwendungsbeispiele des Kommandozeilenprogramms iw:

Geräteeigenschaften aller WLAN-Schnittstellen ausgeben:

iw list

Verbindungsstatus (Übertragungsrate und Signalstärke) einer WLAN-Schnittstelle (z.B. wlan0) abrufen:

iw dev wlan0 link

WLAN-Umgebung scannen:

iw dev wlan0 scan

Nutzen Sie iw in Kombination mit dem Befehl scan, um sich alle WLAN-Netze im Empfangsbereich sowie deren Eigenschaften (Funkkanal, Verschlüsselung, Signalstärke etc.) ausgeben zu lassen.

Regionaleinstellungen auslesen:

iw reg get

Regionaleinstellung anpassen:

iw reg set DE

Geräteeigenschaften (z.B. von wlan0) abfragen:

iw list dev wlan0

Detaillierte Geräteeigenschaften:

iw dev wlan0 station dump

Ereignisse abfragen:

iw event

Die Optionen -f, -t und -r liefern eine erweiterte Ausgabe mit Fehlermeldungen zum Verbindungsstatus und Zeitangaben. 

netstat

Status der Netzwerkschnittstellen abfragen

Das Kommandozeilenprogramm netstat dient der Statusabfrage von Netzwerkschnittstellen.

Die allgemeine Syntax des Befehls lautet:

netstat [OPTIONEN]

Nutzen Sie netstat ohne Option, um sich alle offenen Sockets im Terminal ausgeben zu lassen.

Verwenden Sie alternativ folgende Optionen, um Routingtabellen (-r), Schnittstellenstatistiken (-i), maskierte Verbindungen (-M) oder Netzlink-Nachrichten (-N) einzusehen.

Eine Alternative zu netstat ist das in der Programmsammlung iproute2 enthaltene Programm ss.

nslookup

DNS-Informationen abfragen

Wie dig dient auch nslookup den Namensauflösungen. Das Kommandozeilenprogramm steht Ihnen in zwei Modi zur Verfügung: interaktiv und nicht-interaktiv. 

Den interaktiven Modus starten Sie, indem Sie den Befehl nslookup ohne Zusatz ins Terminal eingeben.

nslookup

Das Programm nimmt nun Befehle entgegen. Geben Sie beispielsweise einen Hostnamen (Domain) ein, um sich die entsprechende IP-Adresse ausgeben zu lassen.

Alternativ können Sie eine Reverse-Lookup-Abfrage starten, indem Sie eine IP-Adresse eingeben und sich den damit verknüpften Hostnamen ausgeben lassen.

Das Programm nslookup verwendet automatisch den im System voreingestellten DNS-Server.

Geben Sie den Befehl exit ein, um nslookup zu beenden. 

Möchten Sie nslookup im nicht-interaktiven Modus verwenden, rufen Sie das Programm in Kombination mit einem Hostnamen oder einer IP-Adresse auf.

nslookup [OPTIONEN] [HOST/IP ]

Da das Programm offiziell veraltet ist, wird Anwendern empfohlen, stattdessen auf dig zurückzugreifen.

ping

Netzverbindung prüfen

Nutzen Sie das Kommandozeilenprogramm ping, um die Erreichbarkeit anderer Rechner im Netzwerk zu überprüfen.

Dem Befehl liegt folgende Syntax zugrunde:

ping [OPTIONEN] ZIEL

Um die Netzverbindung zu überprüfen, sendet ping ein kleines Datenpaket an das angegebene Zielsystem (Hostname oder IP) und wertet die Zeit bis zum Eingang der Antwort aus.

Zusammen mit der Paketumlaufzeit (Round trip time, RTT) – die Zeitspanne zwischen dem Aussenden des Datenpakets und dem Empfang der Antwort – schreibt ping auch die IP-Adresse des Zielsystems ins Terminal. Das Kommandozeilenprogramm eignet sich somit auch dazu, die IP-Adresse zu einer Domain zu ermitteln.

Wird ping ohne Option ausgeführt, läuft das Programm, bis es mit der Tastenkombination [STRG] + [C] händisch gestoppt wird, und sendet dem Ziel-System eine ping-Anfrage pro Sekunde. 

Möchten Sie bereits beim Aufruf des Programms einen Endzeitpunkt definieren, nutzen Sie die Optionen -c ANZAHL (Anzahl der ping-Anfragen, die gesendet werden sollen) oder -w SEKUNDEN (Zeitspanne in Sekunden, nach der ping sich selbst beendet). 

route

IP-Routing-Tabellen anzeigen und bearbeiten

Mit dem Kommandozeilenprogramm route lassen sich IP-Routing-Tabellen des Kernels abfragen und bearbeiten.

Dem Befehl liegt folgende Syntax zugrunde:

route [OPTIONEN]

route [OPTIONEN] [add|del] [-net|-host] ZIEL Nutzen Sie den Befehl ohne Option, um sich die komplette Routing-Tabelle des Kernels anzeigen zu lassen:

route

Möchten Sie eine Route zu einem Netzwerk setzen, verwenden Sie den Subbefehl add.

route add -net 10.0.0.0

Handelt es sich bei dem Ziel um ein Subnetz, muss die Subnetzmaske über die Option netmask MASKE mit angegeben werden:

route add -net 10.0.0.0 netmask 256.245.155.0

Alternativ lässt sich auch eine Route zu einem Rechner einrichten:

route add -host 218.89.72.191

Verfügt das System über mehrere Netzwerkschnittstellen, muss über die Option dev SCHNITTSTELLE angegeben werden, welche Schnittstelle zum Einsatz kommen soll:

route add -net 10.0.0.0 netmask 256.245.155.0 dev eth0

Lässt sich das Ziel nur über einen Router erreichen, muss auch dieser mit der Option gw ROUTER mit angegeben werden.

route add -net 10.0.0.0 netmask 256.245.155.0 gw 10.0.1.261

Möchten Sie eine Route löschen, verwenden Sie den Subbefehl del.

route del -host 218.89.72.191

rsync

Dateien synchronisieren

Das Kommandozeilenprogramm rsync ermöglicht es, Dateien lokal oder über ein Netzwerk zu synchronisieren. Dazu werden zunächst die Größe und die Änderungszeit betreffender Dateien abgeglichen.

Befinden sich Quelle und Ziel auf demselben System, werden abweichende Dateien komplett kopiert. Bei der Synchronisation über ein Netzwerk nutzt rsync einen Delta-Transfer-Algorithmus, sodass nur geänderte Dateianteile vom Quelldatenträger zum Zielsystem übertragen werden müssen. 

Die Syntax des Aufrufs lautet:

rsync [OPTIONEN] QUELLE(N) ZIEL

 Beispiel:

rsync -a home/user/dokumente/ /home/user/backup

Alle Dateien aus home/user/dokumente/ werden mit den Dateien im Verzeichnis /home/user/backup abgeglichen.

Der Befehl rsync wird in der Regel mit der Option -a ausgeführt, die dafür sorgt, dass sämtliche Unterverzeichnisse sowie symbolische Links mitkopiert und sämtliche Benutzerrechte übernommen werden.

sftp

Dateien via SFTP übertragen

Das Kommandozeilenprogramm sftp dient wie ftp dem Datentransfer im Netzwerk. Dabei erfolgen alle Operationen über eine verschlüsselte SSH-Verbindung (Secure Shell). 

Wie ftp stellt sftp eine Verbindung zu einem Zielrechner im Netzwerk her und startet anschließend einen interaktiven Kommando-Modus. 

scp

Dateien via SCP übertragen

Mit scp (kurz für secure copy) steht Ihnen direkt über das Terminal ein weiteres Programm zur sicheren Datenübertragung im Netzwerk zur Verfügung: scp kopiert Daten von einem Rechner zum anderen und nutzt dabei ebenfalls das Netzwerkprotokoll SSH.

Das Clientprogramm funktioniert in etwa so wie die Dateioption cp, kommt gemäß folgender Syntax jedoch systemübergreifend zum Einsatz:

scp [OPTIONEN] DATEI [[user@]remote_host:]PFAD

Bei der Angabe zum Pfad des entfernten Rechners werden der Benutzername und der jeweilige Name des Hosts vorangestellt. Lokale Dateien lassen sich mittels relativer oder absoluter Pfade explizit adressieren.

Beispiel: 

scp /home/max/images/image.jpg max@example.com:/home/max/archiv

Die Datei image.jpg wird vom lokalen Verzeichnis images in das Verzeichnis archiv auf einen Zielrechner mit der Adresse example.com kopiert.

Das Programm scp unterstützt zudem den Datentransfer in umgekehrter Richtung sowie zwischen Zwei Remote-Systemen.

scp [OPTIONEN] [[user@]host:]DATEI PFAD

scp [OPTIONEN] [[user@]host1:]DATEI [[user@]host2:]PFAD

Weitere Optionen bieten Ihnen die Möglichkeit, Anpassungen am Übertragungsmodus und an den Verschlüsselungseinstellungen zu vorzunehmen. 

traceroute

Datenpakete verfolgen

Nutzen Sie den Kommandozeilenbefehl traceroute nach folgendem Schema, um den Transportweg eines IP-Datenpakets zwischen Ihrem System und einem Zielrechner nachzuvollziehen.  

traceroute [OPTIONEN] HOSTNAME

Via traceroute lässt sich ermitteln, welche Router und Internetknoten ein IP-Paket auf dem Weg zum Zielrechner passiert – beispielsweise, um der Ursache für eine Verzögerung nachzugehen.

tty

Terminalnamen ausgeben

Der Kommandozeilenbefehl tty gibt den Dateinamen des Terminals aus, das als Standard-Input definiert ist.

Die allgemeine Syntax des Befehls lautet:

               tty [OPTIONEN]

Archivieren und Komprimieren

Linux bietet diverse Technologien, mit denen sich Dateien in Archive verpacken und komprimieren lassen. Dabei ist zu beachten, dass nicht jede Archivierung eine Kompression beinhaltet. So wird tar – ein Programm zum Archivieren von Dateien – in der Regel mit Komprimierungsprogrammen wie gzip, bzip2 oder xz kombiniert.

Befehl

Beschreibung

tar

Dateien in Tar-Archive schreiben und extrahieren

Der Befehl tar steht für tape archiver, ein Programm, das ursprünglich entwickelt wurde, um Daten auf Bandlaufwerken zu sichern. Noch heute ist tar unter Linux eines der beliebtesten Programme zur Archivierung von Daten.

Das Programm ermöglicht es, verschiedene Dateien und Verzeichnisse sequenziell in eine tar-Datei zu schreiben und aus dieser bei Bedarf wiederherzustellen. Anders als bei dem unter Windows gebräuchlichen Zip-Format bleiben dabei alle Benutzerrechte der archivierten Datei auch nach dem Entpacken erhalten.  

Das Kommandozeilenprogramm tar wird gemäß folgender Syntax aufgerufen:

tar [OPTIONEN] DATEIEN

Möchten Sie ein neues Archiv erstellen, verwenden Sie tar mit den Optionen -c (neues Archiv erzeugen) und -f (Archiv in angegebene Datei schreiben oder aus dieser auslesen).

In folgendem Beispiel werden die Dateien datei1.txt und datei2.txt in das neu erstellte Archiv beispiel.tar geschrieben.

tar -cf beispiel.tar datei1.txt datei2.txt

Möchten Sie den Inhalt eines Archivs einsehen, nutzen Sie tar mit den Optionen -t (Inhalte eines Archivs anzeigen), -v (detaillierte Ausgabe) und -f (siehe oben).

tar -tvf beispiel.tar

Sollen archivierte Dateien im aktuellen Ordner entpackt werden, kommt tar mit den Optionen -x (Dateien aus Archiv extrahieren) und -f (siehe oben) zum Einsatz.

tar -xf beispiel.tar

Mit -j (bzip2), -J (xz), -z (gzip) und -Z (compress) bietet tar zudem Optionen, die es ermöglichen, Archive unter Aufruf eines anderen Programms während des Pack- und Entpackvorgangs zu komprimieren bzw. zu dekomprimieren.

In folgendem Beispiel werden die Dateien datei1.txt und datei2.txt in beispiel.tar.gz archiviert und mit gzip komprimiert.

tar -czf beispiel.tar.gz datei_1.txt datei_2.txt

Folgender Befehl extrahiert und dekomprimiert alle in beispiel.tar.gz archivierten Dateien.

tar -xzf beispiel.tar.gz

gzip / gunzip

Dateien mit gzip komprimieren oder dekomprimieren

Bei gzip (kurz für GNU zip) handelt es sich um ein Programm, mit dem sich Dateien bequem über die Kommandozeile komprimieren und dekomprimieren lassen.

Die allgemeine Syntax des Befehls lautet:

gzip [OPTIONEN] DATEI(EN)

Nutzen Sie gzip beispielsweise nach folgendem Schema, um die Datei beispiel.txt in das komprimierte Format beispiel.txt.gz zu überführen:

gzip beispiel.txt

Beachten Sie, dass gzip die Originaldatei im Rahmen des Packvorgangs standardmäßig löscht. Unterbinden lässt sich dies mithilfe der Option -k.

gzip -k beispiel.txt

Das Programm kann bei Bedarf auf mehrere Dateien gleichzeitig angewendet werden. Dabei wird jede Ausgangsdatei in eine eigenständige gz-Datei überführt.

Der Befehl

gzip beispiel_1.txt beispiel_2.txt beispiel_3.txt

erzeugt die Dateien beispiel_1.txt.gz, beispiel_2.txt.gz und beispiel_3.txt.gz.

Möchten Sie mehrere Dateien in ein gemeinsames komprimiertes Archiv schreiben, nutzen Sie gzip in Kombination mit dem Archivierungsprogramm tar.

Möchten Sie eine gz-Datei dekomprimieren, nutzen Sie den Befehl gzip mit der Option -d. Alternativ bietet sich der Befehl gunzip an.

gzip -d beispiel.txt.gz

gunzip beispiel.txt.gz

Auch entpackte gz-Dateien werden standardmäßig gelöscht. Möchten Sie neben der extrahierten Datei auch die gz-Datei behalten nutzen Sie auch hier die Option -k.

Die gzip-Komprimierung beruht auf dem Deflate-Algorithmus (eine Kombination aus LZ77 und Huffman-Kodierung). Im Vergleich zu anderen Komprimierungsmethoden zeichnet sich gzip durch seine Schnelligkeit aus. Der Kompressionsgrad ist jedoch vergleichsweise gering.  

bzip2 / bunzip2

Dateien mit bzip komprimieren und dekomprimieren

Eine beliebte Alternative zu gzip stellt das Kommandozeilenprogramm bzip2 dar. Dieses verwendet dieselbe Syntax wie gzip, beruht jedoch auf einem dreistufigen Komprimierungsprozess, der einen deutlich höheren Kompressionsgrad ermöglicht.

Zunächst werden die übergebenen Dateien blockweise der umkehrbaren Burrows-Wheeler-Transformation und anschließend der Move-to-Front-Transformation unterzogen. Die eigentliche Datenkompression erfolgt abschließend im Rahmen einer Huffman-Kodierung.

Dateien, die mit bzip2 komprimiert wurden, tragen die Dateiendung .bz2. Nutzen Sie bzip nach folgendem Schema, um Dateien zu komprimieren.

 

bzip2 [OPTIONEN] DATEI(EN)

 

Auch bzip2 lässt sich auf tar-Archive anwenden.

 

Die Dekompression erfolgt analog zu gzip mithilfe der Option -d. Alternativ steht der Befehl bunzip2 zur Verfügung. 

 

Den hohen Kompressionsgrad erkaufen sich Anwender durch eine vergleichsweise lange Laufzeit.  

xz

Dateien mit xz komprimieren und dekomprimieren

Das Kommandozeilenprogramm xz überführt Dateien in das gleichnamige Datenkompressionsformat xz. Der Programmaufruf erfolgt nach demselben Schema wie bei gzip und bzip2.  

xz [OPTIONEN] DATEI(EN)

Dateien, die mit xz komprimiert wurden, tragen die Dateiendung .xz. Die Dekomprimierung erfolgt wie bei gzip und bzip mit der Option -d. Alternativ kann der Befehl unxz verwendet werden.

Wie gz- und bz2-Dateien sind auch xz-Dateien keine Archivdateien. Möchten Sie mehrere Dateien in dieselbe komprimierte xz-Datei schreiben, müssen Sie auch bei diesem Komprimierungsprogramm auf das Archivierungstool tar zurückgreifen.

xz unterstützt diverse Kompressionsalgorithmen. Standardmäßig kommt der Lempel-Ziv-Markow-Algorithmus zum Einsatz (LZMA/LZMA2)

cpio

Dateien in Archivdatei schreiben und extrahieren

Bei cpio (kurz für copy in, copy out) handelt es sich um ein Archivierungsprogramm, mit dem Daten in eine Archivdatei (.cpio) geschrieben und aus dieser extrahiert werden können.

Eine detaillierte Beschreibung der hier aufgeführten Kommandozeilenprogramme finden Sie in unserem Grundlagenartikel zum Thema „Archivierung und Komprimierung unter Linux“. Weitere Informationen zu Kompressionsverfahren sowie die Abgrenzung zur Deduplikation bietet unser Artikel zur Datenreduktion.

Partitionsmanagement

Möchten Sie unter Linux auf ein Dateisystem auf einer anderen Partition zugreifen, muss dieses zunächst in die Verzeichnisstruktur Ihres Betriebssystems eingebunden werden. Man spricht vom „Mounten“ (oder „Einhängen“) einer Partition. Dies kann bei Bedarf über die grafische Benutzeroberfläche erfolgen. Alternativ bieten Kommandozeilenprogramme wie lsblk, blkid und mount die Möglichkeit, Informationen zu angeschlossenen Blockspeichergeräten abzufragen und diese bei Bedarf ein- oder auszuhängen.

Befehl

Beschreibung

mount /unmount

Dateisysteme einbinden

Soll ein Dateisystem über das Terminal in die Verzeichnisstruktur des Betriebssystems eingebunden werden, kommt unter Linux das Kommandozeilenprogramm mount zum Einsatz.

Die allgemeine Syntax des Befehls lautet: 

mount [OPTIONEN] GERÄT MOUNTPOINT

GERÄT = Der Pfad zur Gerätedatei des Speichergeräts, das Sie als Partition einhängen möchten.

MOUNTPOINT = Die Stelle in der Verzeichnisstruktur Ihres Betriebssystems, an der Sie die Partition einbinden möchten. Der Mountpoint wird meist als absoluter Pfad angegeben.

Beispiel:

mount /dev/sdd /media/usb

Das Gerät sdd wird in das Verzeichnis /media/usb eingehängt.

In der Regel erkennt Linux das jeweilige Dateisystem des Geräts automatisch. Sollte dies nicht der Fall sein, bietet die Option -t die Möglichkeit, das Dateisystem (z. ext4) explizit mitanzugeben:

mount -t ext4 /dev/sdd /media/usb

Soll ein bereits eingebundenes Dateisystem ausgehängt werden, kommt der Befehl unmount zum Einsatz:

unmount [OPTIONEN] GERÄT

oder

unmount [OPTIONEN] MOUNTPOINT

Möchten Sie sich alle Dateisysteme ausgeben lassen, die in Ihr Betriebssystem eingebunden sind, verwenden Sie den Befehl mount mit der Option -l.

mount -l

Die Ausgabe kann via -t auf Dateisysteme eines bestimmten Typs eingegrenzt werden.

lsblk

Informationen zu angeschlossenen Blockspeichergeräten auflisten

Nutzen Sie den Befehl lsblk (kurz für list block devices), um sich alle angeschlossenen Blockspeichergeräte und Partitionen als Baumstruktur darstellen zu lassen. Diese müssen nicht zwangsläufig eingebunden sein.

Dem Aufruf liegt folgende Syntax zugrunde:

lsblk [OPTIONEN]

Die Ausgabe umfasst folgende Informationen:

    NAME = Gerätename (z.B. sda) bzw. Partitionsname (z.B. sda1, sda2 etc.)

    MAJ:MIN = major:minor Gerätenummer

    RM = Wechselmedium (1 = zutreffend, 0 = nicht zutreffend)

    SIZE = Speicherumfang des Geräts

    RO = nur-lesbares Gerät (1 = zutreffend, 0 = nicht zutreffend)

    TYPE = Gerätetyp

    MOUNTPOINT = Einhängepunkt

Bei Bedarf lässt sich die Ausgabe mithilfe der Option -o (--output) und einer Liste der gewünschten Attribute individuell anpassen, um zusätzliche Informationen wie die Identifikationsnummer (UUID), das Dateisystem (FSTYPE) oder den Zustand (STATE) abzufragen.

Beispiel:

lsblk -o NAME,FSTYPE,UUID, SIZE,OWNER,GROUP,MODE,TYPE,MOUNTPOINT

In der Standardeinstellung werden leere Speichergeräte übersprungen. Möchten Sie auch diese in die Übersicht aufnehmen, verwenden Sie lsblk in Kombination mit der Option -a (--all).

Möchten Sie lediglich Informationen zu einem bestimmten Gerät abfragen, verwenden Sie lsblk nach folgendem Schema:

lsblk [OPTIONEN] GERÄT

Beispiel:

lsblk /dev/sda

blkid

Informationen zu angeschlossenen Blockspeichergeräten auflisten

Ähnlich wie lsblk gibt auch blkid Informationen zu angeschlossenen Blockspeichergeräten aus.

Verwenden Sie blkid nach folgendem Schema, um die Identifikationsnummer (UUID) und den Dateisystemtyp (TYPE) aller angeschlossenen Blockspeichergeräte abzufragen.

blkid [OPTIONEN]

Eine Tabellarische Ausgabe erhalten Sie mithilfe der Option -o in Kombination mit dem Wert list.

blkid -o list

Auch blkid lässt sich auf ein ausgewähltes Gerät einschränken:

blkid [OPTIONEN] GERÄT

Beispiel:

blkid /dev/sda1

dd

Bit-genaues kopieren von Dateien, Partitionen oder Datenträgern

Das Kommandozeilenprogramm dd ermöglicht einen Kopiervorgang, bei dem Daten Bit für Bit aus einem Input File (if) ausgelesen und in ein Output File (of) geschrieben werden.

Dem Aufruf des Programms liegt folgende Syntax zugrunde:

dd if=Quelle of=Ziel [OPTIONEN]

Als Quelle und Ziel können dabei sowohl einzelne Dateien als auch ganze Partitionen (z.B. /dev/sda1) oder ein komplettes Speichergerät (z.B. /dev/sda) angegeben werden.

Beispiel:

dd if=/dev/sda5 of=/dev/sdb1

Die komplette fünfte Partition von /dev/sda wird Bit-genau auf die erste Partition von /des/sdb kopiert.

Über Optionen lässt sich der Kopiervorgang auf eine beliebige Anzahl von Speicherblöcken der gewünschten Größe beschränken.

Verschiedenes

Nachfolgend finden Sie eine Liste weiterer Standardbefehle unter Linux, die sich keiner der oben aufgeführten Kategorien zuordnen lassen.

Befehl

Beschreibung

alias

Kurznamen für Programmaufrufe definieren

Das Kommandozeilenprogramm alias ermöglicht es Ihnen, Kurznamen für Programmaufrufe zu definieren.

Verwenden Sie alias nach folgendem Schema:

alias KURZNAME= 'BEFEHL'

Ersetzen Sie den Platzhalter BEFEHL durch einen beliebigen Kommandozeilenbefehl inklusive Optionen. Dieser wird mit der für den Platzhalter KURZNAME eingesetzten Zeichenfolge verknüpft.

Beispiel

alias ll='ls -l'

Die Zeichenfolge ll wird als Alias für den Befehl ls mit der Option -l (detaillierte Ausgabe) definiert.

at

Befehl zeitgesteuert ausführen

Rufen Sie das Kommandozeilenprogramm at nach folgendem Schema auf, um einen Befehl zeitgesteuert auszuführen.

at ZEITANGABE

Beispiel: 

at 10:00 AM 6/22/2017

Geben Sie anschließend den Befehl ein und schließen Sie den interaktiven Modus mit [STRG] + [D].

cal

Kalender anzeigen

Nutzen Sie cal nach folgendem Schema, um sich einen Kalender im Terminal ausgeben zu lassen.

cal [OPTIONEN] [[MONAT] Jahr]

Beispiel:

cal 12 2017

Das System gibt eine Monatsübersicht für Dezember 2017 aus.

echo

String auf der Standardangabe ausgeben

Nutzen Sie den Kommandozeilenbefehl echo, um sich Zeichenketten zeilenweise auf der Standardausgabe (in der Regel das Terminal) ausgeben zu lassen.

Die allgemeine Syntax des Befehls lautet:

              echo [OPTIONEN] STRING 

pr

Textdateien zum Drucken aufbereiten

Nutzen Sie das Kommandozeilenprogramm pr, um Textdateien zum Drucken aufzubereiten.

Die allgemeine Syntax des Befehls lautet:

pr [OPTIONEN] Datei

In der Standardeinstellung erzeugt pr einen Seiten-Header, der den Dateinamen, das aktuelle Datum und die Seitennummer enthält.

script

Terminalsitzungen mitschneiden

Das Kommandozeilenprogramm script ermöglicht es Ihnen, eine Terminalsitzung in der Datei typescript mitzuschreiben. Findet sich in typescript bereits ein Mitschnitt einer vorhergehenden Sitzung, wird dieser überschrieben.

Die Aufzeichnung startet automatisch mit dem Aufruf des Programms:

script

Verwenden Sie die Tastenkombination [STRG] + [D], um die Aufzeichnung zu beenden.

Möchten Sie die Aufzeichnung statt in typescript in einer anderen Datei speichern, rufen Sie script in Kombination mit einem Dateinamen oder -pfad auf.

script DATEI

seq

Zahlenreihen ausgeben

Nutzen Sie den Befehl seq, um sich eine Zahlenreihe auf die Standardausgabe ausgeben zu lassen. Definieren Sie dabei einen Startwert, einen Endwert und wahlweise ein Inkrement.

seq [OPTIONEN] STARTWERT INKREMENT ENDWERT

Beispiel:

seq 0 2 10

Das Programm zählt ausgehend vom Startwert 0 in Zweierschritten bis 100.

tasksel

Installationshilfe für Standardanwendungen

Das Kommandozeilenprogramm tasksel dient als Installationshilfe für Standardanwendungen (Mail-Server, DNS-Server, OpenSSH-Server, LAMP-Server etc.). Nutzen Sie das Tool, um alle für eine Aufgabe benötigten Pakete und Programme automatisch in der richtigen Reihenfolge zu installieren. 

Rufen Sie tasksel mit der Option --list-tasks auf, um sich eine Liste aller verfügbaren Standardanwendungen ausgeben zu lassen.

tasksel --list-tasks

Möchten Sie weitere Informationen zu einer Standardanwendung aus dieser Liste abrufen, verwenden Sie tasksel mit der Option --task-desc und der entsprechenden Aufgabe.

Beispiel:

tasksel --task-desc mail-server

Es werden Informationen zur Aufgabe „mail-server“ ausgegeben.

Möchten Sie sich alle Pakete, die zur Aufgabe „mail-server“ gehören, auflisten lassen, nutzen Sie tasksel in Kombination mit der Option --task-packages.

tasksel --task-packages mail-server

Eine Installation aller Pakete einer Standardanwendung starten Sie mithilfe des Subbefehls install. Es werden Root-Rechte benötigt.

Beispiel:

tasksel install mail-server

Das Kommandozeilenprogramm leitet die Installation aller Pakete ein, die für die Aufgabe „mail-server“ benötigt werden.

tee

Programmausgabe verdoppeln

Bei tee handelt es sich um ein Kommandozeilenprogramm, mit dem sich die Ausgabe eines Programms verdoppeln lässt. Dabei wird eine Ausgabe auf die Standardausgabe weitergeleitet und eine andere in eine mit dem tee-Befehl übergebene Datei geschrieben. 

Die allgemeine Syntax des Befehls lautet:

tee [OPTIONEN] DATEI

In der Regel kommt tee in Kombination mit dem Umleitungsoperator Pipe (|) zum Einsatz.

ls | tee beispiel.txt

Der Befehl ls listet den Inhalt des aktuellen Verzeichnisses auf. Die Programmausgabe wird via Pipe an das Kommandozeilenprogramm tee übergeben, das diese sowohl im Terminal anzeigt als auch in die Datei beispiel.txt schreibt.

time

Laufzeit von Programmen messen

Nutzen Sie den Befehl time nach folgendem Schema, um die Laufzeit von Programmen zu ermitteln, die Sie über das Terminal starten.

time [OPTIONEN] Befehl [ARGUMENTE]

tr

Zeichen in Textdateien ersetzen.

Nutzen Sie tr, um eine beliebige Zeichenmenge zu löschen oder durch eine andere zu ersetzen. Dazu liest tr den Datenstrom der Standardeingabe ein und schreibt diesen nach der gewünschten Modifikation auf die Standardausgabe.  

Soll eine Zeichenmenge durch eine andere ersetzt werden, kommt tr mit zwei Argumenten zum Einsatz.

tr OPTION ZEICHENMENGE1 ZEICHENMENGE2

Das zweite Argument (ZEICHENMENGE2) ersetzt das erste (ZEICHENMENGE1).

Möchten Sie eine Zeichenfolge löschen, verwenden Sie tr mit der Option -d und übergeben die zu löschende Sequenz als Argument.

tr -d ZEICHENMENGE

Das Kommandozeilenprogramm kommt in der Regel in Kombination mit Umleitungsoperatoren (< und >) zum Einsatz, um Anpassungen in Dateien vorzunehmen.

tr 'a-z' 'A-Z' < beispiel1.txt > beispiel2.txt

tr liest den Inhalt der Datei beispiel1.txt ein, ersetzt die Kleinbuchstaben a bis z durch Großbuchstaben und schreibt den Output in die Datei beispiel2.txt.

wall

Nachrichten an alle angemeldeten Benutzer versenden

Das Kommandozeilenprogramm wall ermöglicht es Ihnen, allen am System angemeldeten Benutzern eine Nachricht zukommen zu lassen.

Um eine Mitteilung zu senden, startet Sie das Programm mit folgendem Aufruf:

wall

Bestätigen Sie den Programmaufruf mit [Enter] und geben Sie Ihre Nachricht ein. Auch diese wird mit [Enter] bestätigt und durch die Tastenkombination [STRG]+[D] abgeschickt.

Alle am System angemeldeten Benutzer erhalten Ihre Nachricht als Broadcast-Message im Terminal.

Beachten Sie: Um Mitteilungen erhalten zu können, müssen Sie anderen Nutzern einen Schreibzugriff für Ihr Terminal gewähren. Nutzen Sie dazu den Befehl mesg:

mesg [y/n]

Aktuellen Status abrufen:

mesg

Schreibzugriff gewähren:

mesg y

Schreibzugriff verweigern:

mesg n

Möchten Sie Dateiinhalte an alle angemeldeten Nutzer versenden, verwenden Sie wall in Kombination mit einer Eingabeumleitung und dem jeweiligen Dateinamen:

wall < DATEINAME

watch

Befehle periodisch ausführen

Das Kommandozeilenprogramm watch ermöglicht es Ihnen, einen Befehl in regelmäßigen Zeitabständen auszuführen.

Dem Aufruf des Programms liegt folgende Syntax zugrunde:

watch [OPTIONEN] BEFEHL

Das Zeitintervall, in dem der mit watch übergebene Befehl periodisch aufgerufen wird, definieren Sie mithilfe der Option -n SEKUNDEN.

Beenden lässt sich watch durch die Tastenkombination [STRG] + [C].

In folgendem Beispiel wird das System angewiesen, die Auslastung des Arbeitsspeichers im 10–Sekunden-Takt auszugeben. 

watch -n 10 free

wc

Zeilen, Wörter, Buchstaben, Zeichen und/oder Bytes von Textdateien zählen

Das Kommandozeilenprogramm wc (kurz für word count) gibt Ihnen bei Bedarf die Anzahl der Zeilen, Wörter, Buchstaben, Zeichen und/oder Bytes einer Textdatei aus.

Die allgemeine Syntax des Befehls lautet:

wc [OPTIONEN] DATEI

Beispiel:

wc beispiel.txt

Output:

14 18 143 beispiel.txt 

Wird wc ohne Option aufgerufen, entspricht die Ausgabe dem Schema ZEILEN WÖRTER ZEICHEN DATEI. Für eine gefilterte Ausgabe unterstützt das Kommandozeilenprogramm die Optionen: -l (Zeilen), -c (Bytes), -m (Zeichen), -L (Länge der längsten Zeile) und -w (Wörter).

xargs

Standardeingabe in Befehlszeilen umwandeln

Bei xargs handelt es sich um ein Kommandozeilenprogramm, das es Ihnen ermöglicht, einem Befehl die Ausgabe eines vorhergehenden Befehls als Argument zu übergeben. In der Regel kommt dabei die Pipe (|) als Umleitungsoperator zum Einsatz.

Nutzen Sie xargs gemäß folgender Syntax:

BEFEHL1 | xargs [OPTIONEN] BEFEHL2

Zum Einsatz kommt xargs beispielsweise in Kombination mit dem Befehl find.

In folgendem Beispiel ermittelt find im aktuellen Verzeichnis alle Dateien, die auf das Suchmuster *.tmp passen, und gibt deren Namen auf die Standardausgabe aus. Dort werden die Dateinamen von xargs entgegengenommen und als Argumente an den Befehl rm übergeben. 

$ find . -name '*.tmp' | xargs rm

Die hier dargestellte Übersicht erhebt keinen Anspruch auf Vollständigkeit, sondern umfasst lediglich grundlegende Linux-Befehle mit ausgewählten Anwendungsbeispielen für die alltägliche Arbeit mit unixoiden Betriebssystemen. Eine umfassende Beschreibung der hier aufgeführten Kommandozeilenprogramme sowie aller weiteren Befehle finden Sie in den Handbuchseiten Ihres Betriebssystems. Eine Online-Version dieser Hilfe- und Dokumentationsseiten wird im Rahmen des Linux-Man-Pages-Projects von Michael Kerrisk unter https://www.kernel.org/doc/man-pages/kernel.org/doc/man-pages zur Verfügung gestellt.

Tutorials Tools Linux Lexikon