Beruflich Dokumente
Kultur Dokumente
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.
Die Bash unter Ubuntu: Der Prompt zeigt Benutzername und Hostname an
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
Inhaltsverzeichnis
1. Grundkommandos
2. Hilfeseiten
3. Verzeichnisoperationen
4. Dateioperationen
5. Rechteverwaltung
6. Suchoptionen
7. User-Informationen
8. User-Account-Management
9. Systembefehle
10. Systeminformationen
11. Hardware-Informationen
12. Prozessmanagement
13. Pager
14. Editoren
15. Netzwerkmanagement
16. Archivieren und Komprimieren
17. Partitionsmanagement
18. Verschiedenes
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:
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 Terminalsdienen. Erfahren Sie, wie Sie den Sichtbereich des Terminals leeren,
vorhergehende Terminaleingaben aus dem Verlauf (der History) abrufen oder die Terminal-
Sitzung beenden.
Befehl Beschreibung
Terminal leeren
clear
clear
Sie erhalten ein leeres Terminal mit
Eingabeaufforderung (Prompt). Ältere Eingaben
bleiben im Scrollback-Buffer erhalten.
Sitzung beenden
help help
help BEFEHL
history
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
Handbuch durchsuchen
GNU-Infoseiten aufrufen
Handbuch aufrufen
(1) Benutzerkommandos
(2) Systemaufruf
(4) Dateiformate
(5) Konfigurationsdateien
(6) Spiele
(7) Diverses
(9) Kernelfunktionen
man clear
man 1 clear
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
Navigation im Verzeichnisbaum
cd cd [OPTION] VERZEICHNIS
Verzeichnisinhalte auflisten
ls
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.
ls [OPTIONEN] VERZEICHNIS
Verzeichnis erstellen
mkdir /home/user/Desktop/test
mkdir ../Desktop/test
Verzeichnishierarchie erstellen
mkdirhier
[OPTION]/home/user/verzeichnis1/verzeichnis2/verzeichnis
Existieren verzeichnis1 und verzeichnis2 bereits,
erstellt mkdirhier lediglich verzeichnis3. Andernfalls werden
alle drei Verzeichnisse erzeugt.
Verzeichnisname ausgeben
pwd [OPTIONEN]
Verzeichnis löschen
Befehl Beschreibung
Dateiname ausgeben
bild.jpg
Ausgabe: bild
Dateiinhalte zusammenführen
-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 [OPTIONEN] QUELLDATEI
ZIELVERZEICHIS
Beispiel: cp verzeichnis1
home/user/dokumente/2017
Dateiinhalte extrahieren
Dateipfad ausgeben
dirname [OPTIONEN]
Dateityp ausgeben
ln [OPTIONEN] pfad/zur/quelldatei
ln [OPTIONEN] pfad/zur/quelldatei
pfad/zur/verknüpfung
lsof [OPTIONEN]
Prüfsummen berechnen
Mithilfe des
md5sum Kommandozeilenbefehls md5sum lassen sich
MD5-Prüfsummen für Dateien berechnen und
überprüfen.
mv [OPTIONEN] QUELLDATEI
ZIELVERZEICHNIS
Beispiel: mv datei1.txt
home/user/dokumente/2017
mv [OPTIONEN] VERZEICHNISNAME_ALT
VERZEICHNISNAME_NEU
Beispiel: mv verzeichnis1
home/user/dokumente/2017
mv [OPTIONEN] DATEINAME_ALT
DATEINAME_NEU
mv [OPTIONEN] VERZEICHNISNAME_ALT
VERZEICHNISNAME_NEU
Dateien umbenennen
rename [OPTIONEN]
'REGULÄRER_AUSDRUCK' DATEIEN
s/SUCHMUSTER/ERSETZUNG/MODIFIER
rm [OPTIONEN] DATEI
oder
rm [OPTIONEN] VERZEICHNIS
rm -R VERZEICHNIS
Dateien „schreddern“
Dateien aufteilen
Beispiel:
split-archiv.tar.aa
split-archiv.tar.ab
split-archiv.tar.ac
Zeitstempel ausgeben
stat
Mit dem Kommandozeilenbefehl stat (status)
lassen sich Zugriffs- und Änderungs-Zeitstempel
ausgewählter Dateien und Verzeichnisse
ausgeben.
Zeitstempel ändern
Beispiel:
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
Dateiattribute verwalten
chattr +i datei.txt
oder:
Zugriffsrechte verwalten
bzw.
chmod
chmod [OPTIONEN] MODUS VERZEICHNIS
Besitzrechte verwalten
bzw.
chown [OPTIONEN]
besitzer_name:gruppen_name datei.txt
Dateiattribute anzeigen
Befehl Beschreibung
Dateisystem durchsuchen
Beispiel:
Textdateien durchsuchen
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
locate liefert locate Suchergebnisse deutlich schneller
aus als find.
locate SUCHMUSTER
locate "*.png"
updatedb
Beispiel:
whereis
whereis firefox
Beispiel:
which firefox
Output:
/usr/bin/firefox
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
Benutzerinformationen abrufen
Gruppenzugehörigkeit abrufen
id id [OPTIONEN] [BENUTZERNAME]
last [OPTIONEN]
last
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.
w [OPTIONEN] [BENUTZERNAME]
Umfang und Format der Ausgabe lassen sich bei
Bedarf durch Optionen anpassen.
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
Benutzer-Account anlegen
Beispiel:
adduser test
Terminal-Output:
Standard-Shell ändern
Beispiel:
Benutzer-Account löschen
Beispiel:
deluser peter23
Benutzergruppen anlegen
Benutzergruppe löschen
delgroup users
Benutzergruppe anpassen
Beispiele:
Benutzergruppe wechseln
Benutzerpasswort ändern
passwd
passwd -l BENUTZERNAME
passwd -x 30 -w 5 -i 3 peter24
sudo PROGRAMMAUFRUF
sudo -u BENUTZERNAME
PROGRAMMAUFRUF
sudo -i
su [OPTIONEN] [BENUTZERNAME]
usermod -d /Pfad/zum/Verzeichnis/peter24 –m
peter24
usermod -L peter24
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
Log-Einträge erstellen
Mit dem
Kommandozeilenprogramm logger lassen sich
Einträge im System-Log erstellen.
logger
Verwenden Sie logger nach folgendem Schema:
System neustarten
reboot [OPTIONEN]
Beispiel 1:
Beispiel 2:
rtcwake -m off -t 1490997660
System herunterfahren
shutdown +10
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
Systemzeit abrufen
Beispiel:
Output:
1493285340
dmesg [OPTIONEN]
Beispiel:
dmesg | tail
du [OPTIONEN] [VERZEICHNIS]
free [OPTIONEN]
Hostname abrufen
hostname [OPTIONEN]
Kernel-Informationen abrufen
uname [OPTIONEN]
Systemlaufzeit abrufen
vmstat [OPTIONEN]
Beispiel:
vmstat 4 8
Hardware-Informationen
Linux-Befehle dieser Kategorie liefern Ihnen detaillierte Informationen zur den Hardware-
Komponenten, die Ihrem System zugrunde liegen.
Befehl Beschreibung
Prozessorinformationen ausgeben
lscpu [OPTIONEN]
Mögliche Optionen entnehmen Sie den
Handbuchseiten Ihres Betriebssystems.
Hardwareinformationen ausgeben
lshw [OPTIONEN]
lspci [OPTIONEN]
lsusb [OPTIONEN]
lsusb
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 -p PID
chrt
Beispiel:
chrt -p 1234
Beispiel:
chrt 99 firefox
Beispiel:
chrt -p 20 1234
Beispiel:
kill 1234
Prozessprioritäten definieren
nice
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.
nice -n 4 nano
nohup BEFEHL
Beispiel:
pgrep ssh
Beispiel:
pgrep -x sshd
PIDs ermitteln
pidof nano
ps [OPTIONEN]
ps
Benötigen Sie eine detaillierte Ausgabe
verwenden Sie ps mit den Optionen -f (detailliert)
oder -F (sehr detailliert).
pstree [OPTIONEN]
Format und Umfang der Ausgabe lassen sich
durch diverse Optionen anpassen.
Beispiele:
renice 12 -p 1234
renice
Dem Prozess mit der ID 1234 wird die Priorität
12 zugewiesen.
renice 3 -g 3456
Prozessausführung verzögern
sleep ZAHL[SUFFIX]
sleep 4m
0x00000001 = Prozessor #0
Dynamische Prozessübersicht
top [OPTIONEN]
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
Beispiel:
head -n 3 beispiel.txt
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 --no-window-system
nano [Optionen]
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
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:
Beispiel:
arp -d HOSTNAME
DNS-Informationen abfragen
ip a s dev eth0
bzw.
ip l s dev eth0
dev NAME_DER_SCHNITTSTELLE =
Netzwerkschnittstelle
iw help
iw list
WLAN-Umgebung scannen:
Regionaleinstellungen auslesen:
iw reg get
Regionaleinstellung anpassen:
iw reg set DE
Detaillierte Geräteeigenschaften:
Ereignisse abfragen:
iw event
netstat [OPTIONEN]
DNS-Informationen abfragen
nslookup
Das Programm nimmt nun Befehle entgegen.
Geben Sie beispielsweise einen Hostnamen
(Domain) ein, um sich die entsprechende IP-
Adresse ausgeben zu lassen.
Netzverbindung prüfen
route [OPTIONEN]
route
Dateien synchronisieren
Beispiel:
scp /home/max/images/image.jpg
max@example.com:/home/max/archiv
Terminalnamen ausgeben
tty [OPTIONEN]
Befehl Beschreibung
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.
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.
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
Der Befehl
erzeugt die
Dateien beispiel_1.txt.gz, beispiel_2.txt.gz und beispiel_3.txt.gz.
gzip -d beispiel.txt.gz
gunzip beispiel.txt.gz
xz [OPTIONEN] DATEI(EN)
cpio 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
Dateisysteme einbinden
Beispiel:
oder
mount -l
Informationen zu angeschlossenen
Blockspeichergeräten auflisten
lsblk [OPTIONEN]
TYPE = Gerätetyp
MOUNTPOINT = Einhängepunkt
Beispiel:
lsblk -o NAME,FSTYPE,UUID,
SIZE,OWNER,GROUP,MODE,TYPE,MOUNTPOINT
Beispiel:
lsblk /dev/sda
Informationen zu angeschlossenen
Blockspeichergeräten auflisten
blkid [OPTIONEN]
blkid
Eine Tabellarische Ausgabe erhalten Sie mithilfe der
Option -o in Kombination mit dem Wert list.
blkid -o list
Beispiel:
blkid /dev/sda1
Bit-genaues kopieren von Dateien, Partitionen
oder Datenträgern
Beispiel:
dd if=/dev/sda5 of=/dev/sdb1
Verschiedenes
Nachfolgend finden Sie eine Liste weiterer Standardbefehle unter Linux, die sich keiner der oben
aufgeführten Kategorien zuordnen lassen.
Befehl Beschreibung
at at ZEITANGABE
Beispiel:
at 10:00 AM 6/22/2017
Kalender anzeigen
Beispiel:
cal 12 2017
pr [OPTIONEN] Datei
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.
script DATEI
Zahlenreihen ausgeben
Beispiel:
seq 0 2 10
tasksel --list-tasks
Beispiel:
tasksel tasksel --task-desc mail-server
Beispiel:
Programmausgabe verdoppeln
tee 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.
ls | tee beispiel.txt
tr OPTION ZEICHENMENGE1
ZEICHENMENGE2
wall
mesg [y/n]
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:
Das
Kommandozeilenprogramm watch ermöglicht es
Ihnen, einen Befehl in regelmäßigen
Zeitabständen auszuführen.
watch -n 10 free
wc [OPTIONEN] DATEI
Beispiel:
wc beispiel.txt
Output:
14 18 143 beispiel.txt
Quelle:
https://hosting.1und1.de/digitalguide/server/konfiguration/linux-befehle-terminal-kommandos-im-
ueberblick/