3.3. Wichtige Linux-Befehle

Dieser Abschnitt gibt Ihnen einen Überblick über die wichtigsten Befehle des SUSE Linux-Systems. Die Liste der Befehle in diesem Abschnitt ist keineswegs vollständig. Neben der grundlegenden Funktion der einzelnen Befehle werden in diesem Abschnitt auch die wichtigsten Parameter und Optionen erläutert. Weitere Informationen über die zahlreichen zur Verfügung stehenden Befehle erhalten Sie auf den zugehörigen Manualpages, die Sie mit dem Befehl man gefolgt von dem Namen des jeweiligen Befehls öffnen (z. B. man ls).

In den Manualpages navigieren Sie mit den Tasten Bild auf und Bild ab nach oben bzw. nach unten, mit Pos1 und Ende gelangen Sie an den Anfang oder das Ende des Dokuments und mit Q schließen Sie die Manualpages. Weitere Informationen über den Befehl man erhalten Sie durch Eingabe von man man.

In der folgenden Übersicht sind die einzelnen Befehlselemente durch verschiedene Schriften hervorgehoben. Der eigentliche Befehl und die erforderlichen Parameter werden durch die Schrift Befehl Option dargestellt. Nicht zwingend erforderliche Angaben und Parameter sind in [eckigen Klammern] eingeschlossen.

Passen Sie die Angaben Ihren Anforderungen an. Die Eingabe von ls Datei(en) ergibt keinen Sinn, wenn es keine Datei namens Datei(en) gibt, was vermutlich kaum der Fall sein dürfte. In der Regel können Sie mehrere Parameter kombinieren, indem Sie zum Beispiel statt ls -l -a einfach ls -la eingeben.

3.3.1. Dateibefehle

Im folgenden Abschnitt werden die wichtigsten Befehle für die Dateiverwaltung vorgestellt. Mit diesen Befehlen können sämtliche Aufgaben von der allgemeinen Dateiverwaltung bis hin zur Bearbeitung der Dateisystem-ACLs (Access Control Lists) ausgeführt werden.

3.3.1.1. Dateiverwaltung

ls [Optionen] [Dateien]

Ohne Angabe von Parametern listet dieser Befehl den Inhalt des aktuellen Verzeichnisses in Kurzform auf.

-l

Zeigt eine detaillierte Liste an.

-a

Zeigt versteckte Dateien an.

cp [Optionen] Quelle Ziel

Kopiert die Quelle zum Ziel.

-i

Fragt den Benutzer, ob das Ziel überschrieben werden soll, falls es bereits vorhanden ist.

-r

Kopiert rekursiv (mit Unterverzeichnissen).

mv [Optionen] Quelle Ziel

Kopiert die Quelle zum Ziel und löscht die Quelle danach.

-b

Erstellt vor dem Verschieben eine Sicherungskopie der Quelle.

-i

Fragt den Benutzer, ob das Ziel überschrieben werden soll, falls es bereits vorhanden ist.

rm [Optionen] Dateien

Entfernt die angegebenen Dateien aus dem Dateisystem. Verzeichnisse werden nur entfernt, wenn die Option -r angegeben ist.

-r

Löscht auch eventuell vorhandene Unterverzeichnisse.

-i

Fordert den Benutzer vor dem Löschen jeder einzelnen Datei zur Bestätigung auf.

ln [Optionen] Quelle Ziel

Erstellt eine interne Verknüpfung (Link) zwischen Quelle und Ziel. Normalerweise verweist ein solcher Link unmittelbar auf die Quelle im gleichen Dateisystem. Mit der Option -s erstellt ln jedoch eine symbolische Verknüpfung (Symlink), die lediglich auf das Verzeichnis verweist, in dem sich Quelle befindet. Damit sind auch Verknüpfungen über mehrere Dateisysteme hinweg möglich.

-s

Erstellt eine symbolische Verknüpfung.

cd [Optionen] [Verzeichnis]

Wechselt das aktuelle Verzeichnis. Ohne Angabe von Parametern wechselt cd in das Home-Verzeichnis des Benutzers.

mkdir [Optionen] [Verzeichnis]

Erstellt ein neues Verzeichnis.

rmdir [Optionen] [Verzeichnis]

Löscht das angegebene Verzeichnis, sofern es leer ist.

chown [Optionen] Benutzername[:[Gruppe]] Dateien

Übergibt das Eigentum an den angegebenen Datei(en) an den angegebenen Benutzer.

-R

Ändert die Dateien und Verzeichnisse in allen Unterverzeichnissen.

chgrp [Optionen] Gruppenname Dateien

Übergibt das Gruppeneigentum an den angegebenen Datei(en) an die angegebene Gruppe. Der Eigentümer einer Datei kann die Gruppeneigenschaft nur dann ändern, wenn er sowohl Mitglied der aktuellen als auch der neuen Gruppe ist.

chmod [Optionen] Modus Dateien

Ändert die Zugriffsberechtigungen.

Der Parameter Modus besteht aus drei Teilen: Gruppe, Zugriff und Zugriffstyp. Gruppe akzeptiert die folgenden Zeichen:

u

user (Benutzer)

g

group (Gruppen)

o

others (andere Benutzer)

Der Zugriff wird durch + (Zugriff) bzw. - (kein Zugriff) gesteuert.

Der Zugriffstyp wird durch folgende Optionen gesteuert:

r

read (lesen)

w

write (schreiben)

x

execute (ausführen) – Ausführen der Dateien oder Wechseln in das Verzeichnis

s

Setuid-Bit – Die Anwendung bzw. das Programm wird so gestartet, als ob es vom Eigentümer der Datei gestartet worden wäre.

Alternativ kann ein Zahlencode verwendet werden. Die vier Stellen dieses Codes setzen sich jeweils aus der Summe der Werte 4, 2 und 1 zusammen - dem Dezimalergebnis einer Binärmaske. Die erste Stelle bestimmt die Set User-ID (SUID) (4), die Set Group-ID (2) und die Sticky Bits (1). Die zweite Stelle legt die Berechtigungen des Dateieigentümers fest. Die dritte Stelle bestimmt die Berechtigungen der Gruppenmitglieder und die letzte Stelle bestimmt die Berechtigungen aller anderen Benutzer. Der Berechtigung zum Lesen ist die Zahl 4 zugewiesen, der Berechtigung zum Schreiben die Zahl 2 und der Berechtigung zum Ausführen die Zahl 1. Der Eigentümer einer Datei erhält normalerweise also eine 6 bzw. bei ausführbaren Dateien eine 7 (die Summe aller Berechtigungen).

gzip [Parameter] Dateien

Dieser Befehl komprimiert den Inhalt von Dateien mit komplexen mathematischen Algorithmen. Die komprimierten Dateien erhalten die Erweiterung .gz und müssen vor einer erneuten Verwendung dekomprimiert werden. Zur Komprimierung mehrerer Dateien oder ganzer Verzeichnisse verwenden Sie besser den Befehl tar.

-d

Dekomprimiert gzip-Dateien zu ihrer ursprünglichen Größe. Danach können die Dateien wieder normal bearbeitet werden. Der Befehl entspricht etwa dem Befehl gunzip.

tar Optionen Archiv Dateien

Dieser Befehl stellt eine oder mehrere Dateien mit oder ohne Komprimierung in einer Archivdatei zusammen. tar ist mit seinen zahlreichen Optionen ein recht komplexer Befehl. Meist werden die folgenden Optionen verwendet:

-f

Schreibt die Ausgabe in eine Datei, nicht wie üblich auf den Bildschirm.

-c

Erstellt ein neues tar-Archiv.

-r

Fügt die angegebenen Dateien einem vorhandenen Archiv hinzu.

-t

Gibt den Inhalt eines Archivs aus.

-u

Fügt die angegebenen Dateien nur hinzu, wenn sie noch nicht im Archiv enthalten sind oder aktuelleren Datums sind, als gleichnamige, bereits im Archiv enthaltene Dateien.

-x

Entpackt und dekomprimiert die Dateien eines Archivs (Extraktion).

-z

Komprimiert das entstandene Archiv mit gzip.

-j

Komprimiert das entstandene Archiv mit bzip2.

-v

Listet die verarbeiteten Dateien auf.

Mit tar erstellte Archivdateien erhalten die Erweiterung .tar. Falls das tar-Archiv gleichzeitig mit gzip komprimiert wurde, lautet die Erweiterung .tgz oder .tar.gz. Bei einer Komprimierung mit bzip2 lautet die Erweiterung .tar.bz2. Anwendungsbeispiele finden Sie in Abschnitt 3.1.5, „Archive und Datenkomprimierung“.

locate Muster

Dieser Befehl steht nur zur Verfügung, wenn das Paket findutils-locate installiert ist. Mit locate finden Sie den Speicherort der angegebenen Datei. Zur Angabe des gesuchten Dateinamens können Sie auch Platzhalter verwenden. Das Programm ist sehr schnell, da es die Dateien in einer speziell für diesen Zweck erstellten Datenbank sucht, also nicht das gesamte Dateisystem durchsuchen muss. Allerdings hat diese Vorgehensweise auch einen erheblichen Nachteil: locate findet keine Dateien, die nach der letzten Aktualisierung dieser Datenbank erstellt wurden. Die Datenbank wird mit updatedb aktualisiert. Dazu benötigen Sie allerdings Root-Berechtigungen.

updatedb [Optionen]

Dieser Befehl aktualisiert die von locate verwendete Datenbank. Um die Dateien aller vorhandenen Verzeichnisse aufzunehmen, müssen Sie den Befehl als Root-Benutzer ausführen. Es empfiehlt sich, den Befehl mit einem Ampersand (&) im Hintergrund auszuführen (updatedb &). Sie können dann sofort mit der gleichen Befehlszeile weiterarbeiten. Normalerweise wird dieser Befehl als täglicher cron-Auftrag ausgeführt (siehe cron.daily).

find [Optionen]

Mit diesem Befehl können Sie ein bestimmtes Verzeichnis nach einer Datei durchsuchen. Das erste Argument gibt das Verzeichnis an, in dem die Suche beginnt. Nach der Option -name muss der gesuchte Dateiname eingegeben werden (eventuell auch mit Platzhaltern). Im Gegensatz zu locate, das eine Datenbank durchsucht, sucht find nur im angegebenen Verzeichnis.

3.3.1.2. Zugriff auf Dateiinhalte

file [Optionen] [Dateien]

Mit file wird der Inhalt der angegebenen Dateien ermittelt.

-z

Versucht, den Inhalt komprimierter Dateien zu ermitteln.

cat [Optionen] Dateien

Dieser Befehl gibt den gesamten Inhalt einer Datei ohne Unterbrechung auf dem Bildschirm aus.

-n

Nummeriert die Ausgabe am linken Rand.

less [Optionen] Dateien

Mit diesem Befehl können Sie den Inhalt der angegebenen Datei am Bildschirm durchsuchen. Mit Bild auf und Bild ab blättern Sie jeweils eine halbe Seite nach oben oder unten, mit der Leertaste blättern Sie eine ganze Seite nach unten. Mit Pos1 bzw. Ende gelangen Sie zum Anfang bzw. zum Ende der Datei. Mit Q beenden Sie das Programm.

grep [Optionen] searchstring Dateien

Mit diesem Befehl können Sie die angegebenen Dateien nach einer bestimmten Suchzeichenfolge durchsuchen. Wird das gesuchte Wort gefunden, dann wird die Zeile, in der sich die Suchzeichenfolge befindet, mit dem Namen der betreffenden Datei angezeigt.

-i

Ignoriert die Groß-/Kleinschreibung.

-H

Zeigt nur die Namen der Dateien an, in der die Suchzeichenfolge gefunden wurde, nicht aber die Textzeilen selbst.

-n

Zeigt zusätzlich die Nummern der Zeilen an, in denen sich die Suchzeichenfolge befindet.

-l

Listet nur die Dateien auf, in denen die Suchzeichenfolge nicht vorkommt.

diff [Optionen] Datei1 Datei2

Dieser Befehl vergleicht den Inhalt zweier Dateien. Das Programm gibt alle nicht übereinstimmenden Zeilen aus. Es wird häufig von Programmierern verwendet, die nur Programmänderungen, nicht aber den gesamten Quellcode verschicken möchten.

-q

Meldet lediglich, ob sich die beiden Dateien unterscheiden.

-u

Fasst die Unterschiede in einer „gemeinsamen“ Diff-Datei zusammen, wodurch die Ausgabe lesbarer wird.

3.3.1.3. Dateisysteme

mount [Optionen] [Gerät Einhängepunkt]

Mit diesem Befehl können Sie jeden Datenträger wie Festplatten, CD-ROM-Laufwerke und andere Laufwerke in ein Verzeichnis des Linux-Dateisystems einhängen. Dies wird gelegentlich auch als „Mounten“ bezeichnet.

-r

Hängt das Laufwerk mit Schreibschutz ein.

-t Dateisystem

Gibt das Dateisystem an. Die gebräuchlichsten sind ext2 für Linux-Festplatten, msdos für MS-DOS-Medien, vfat für das Windows-Dateisystem und iso9660 für CDs.

Bei Festplatten, die nicht in der Datei /etc/fstab deklariert sind, muss auch der Laufwerktyp angegeben werden. In diesem Fall kann das Einhängen nur durch den Root-Benutzer erfolgen. Soll ein Dateisystem auch von anderen Benutzern eingehängt werden, geben Sie in der betreffenden Zeile der Datei /etc/fstab die Option user ein (getrennt durch Kommata) und speichern Sie diese Änderung. Weitere Informationen zu diesem Befehl finden Sie auf der Manualpage mount(1).

unmount [Optionen] Einhängepunkt

Mit diesem Befehl hängen Sie ein eingehängtes Laufwerk aus dem Dateisystem aus. Dies wird gelegentlich auch als „Unmounten“ bezeichnet. Diesen Befehl sollten Sie nur aufrufen, bevor Sie den Datenträger aus dem Laufwerk entfernen. Anderenfalls besteht die Gefahr eines Datenverlustes! Normalerweise können die Befehle mount und unmount nur vom Root-Benutzer ausgeführt werden. Wenn Laufwerke auch von anderen Benutzern ein- und ausgehängt werden sollen, geben Sie in der Datei /etc/fstab für die betreffenden Laufwerke die Option user ein.

3.3.2. Systembefehle

Im folgenden Abschnitt werden die wichtigsten Befehle zum Abrufen von Systeminformationen, zur Prozesssteuerung und zur Kontrolle von Netzwerken vorgestellt.

3.3.2.1. Systeminformationen

df [Optionen] [Verzeichnis]

Ohne Angabe von Optionen zeigt der Befehl df (Disk free) Informationen über den gesamten, den belegten und den verfügbaren Speicherplatz aller eingehängten Laufwerke an. Wenn ein Verzeichnis angegeben ist, werden die Informationen nur für das Laufwerk angezeigt, auf dem sich das Verzeichnis befindet.

-h

Zeigt die Anzahl der belegten Blöcke in menschenlesbarer Form in Giga-, Mega- oder Kilobyte an.

-T

Gibt den Dateisystemtyp an (z. B. ext2 oder nfs).

du [Optionen] [Pfad]

Ohne Angabe von Parametern zeigt dieser Befehl den Speicherplatz an, der von den Dateien und Unterverzeichnissen des aktuellen Verzeichnisses insgesamt belegt ist.

-a

Gibt die Größe jeder einzelnen Datei an.

-h

Zeigt die Ausgabe in menschenlesbarer Form an.

-s

Zeigt nur die errechnete Gesamtgröße an.

free [Optionen]

Dieser Befehl zeigt den gesamten und den belegten Arbeits- und Swap-Speicher an. Weitere Informationen hierzu finden Sie im Abschnitt 10.1.6, „Der Befehl „free““ (↑ Referenz ).

-b

Gibt die Werte in Byte an.

-k

Gibt die Werte in Kilobyte an.

-m

Gibt die Werte in Megabyte an.

date [Optionen]

Dieses einfache Programm gibt die aktuelle Systemzeit aus. Als Root-Benutzer können Sie die Systemzeit mit diesem Befehl auch ändern. Weitere Informationen zu diesem Befehl finden Sie auf der Manualpage „date(1)“.

3.3.2.2. Prozesse

top [Optionen]

Dieser Befehl gibt einen schnellen Überblick über die laufenden Prozesse. Mit H öffnen Sie eine Seite mit kurzen Erläuterungen zu den wichtigsten Optionen dieses Programms.

ps [Optionen] [Prozess-ID]

Ohne Angabe von Optionen zeigt dieser Befehl eine Tabelle der von Ihnen gestarteten Programme und Prozesse an. Den Optionen dieses Befehls wird kein Bindestrich vorangestellt.

aux

Zeigt eine detaillierte Liste aller Prozesse unabhängig von ihren Eigentümern an.

kill [Optionen] [Prozess-ID]

Gelegentlich lässt sich ein Programm nicht auf die übliche Weise beenden. In den meisten Fällen sollte sich ein solches Programm aber mit dem Befehl kill unter Angabe der betreffenden Prozess-ID beenden lassen (die IDs aller laufenden Prozesse ermitteln Sie mit den Befehlen top und ps). kill fordert das Programm mit einem TERM-Signal auf, sich selbst herunterzufahren. Falls sich das Programm auf diese Weise nicht beenden lässt, sollten Sie es mit dem folgenden Parameter versuchen:

-9

Sendet statt des TERM-Signals ein KILL-Signal, mit dem sich nahezu jeder Prozess beenden lässt.

killall [Optionen] Prozessname

Dieser Befehl entspricht dem Befehl kill, akzeptiert aber statt der Prozess-ID den Prozessnamen als Argument. Der Befehl beendet alle Prozesse mit dem angegebenen Namen.

3.3.2.3. Netzwerk

ping [Optionen] Hostname oder IP-Adresse

Ping ist ein Standardtool zum Testen der grundsätzlichen Funktionsfähigkeit von TCP/IP-Netzwerken. Der Befehl sendet ein kleines Datenpaket an den Zielhost mit der Aufforderung, dieses sofort zu beantworten. Funktioniert dies, erhalten Sie eine Meldung, die Ihnen bestätigt, dass die Netzwerkverbindung grundsätzlich funktioniert.

-c Zahl

Ermittelt die Gesamtzahl der zu sendenden Pakete und endet erst, wenn diese zugestellt sind (standardmäßig ist keine Beschränkung vorgegeben).

-f

flood ping: sendet so viele Pakete wie möglich. Dies ist für Root-Benutzer eine gängige Methode zum Testen von Netzwerken.

-i Wert

Legt das Intervall zwischen zwei Datenpaketen in Sekunden fest (Standard: eine Sekunde).

nslookup

Für die Zuordnung von Domänennamen zu IP-Adressen ist das DNS (Domain Name System) zuständig. Mit diesem Befehl können Sie entsprechende Auskünfte von Namensservern (DNS-Servern) anfordern.

telnet [Optionen] Hostname oder IP-Adresse [Port]

Im eigentlichen Sinne ist Telnet ein Internet-Protokoll, mit dem Sie über ein Netzwerk auf entfernten Hosts arbeiten können. Der Name wird aber auch von einem Linux-Programm verwendet, das dieses Protokoll für die Arbeit auf entfernten Computern nutzt.

[Warning]Warnung

Verwenden Sie Telnet nicht in einem Netzwerk, das von Dritten „abgehört“ werden kann. Gerade im Internet sollten Sie verschlüsselte Übertragungsmethoden verwenden, beispielsweise ssh, um das Risiko des Passwortmissbrauchs zu vermindern (siehe Manualpage zu ssh).

3.3.2.4. Andere

passwd [Optionen] [Benutzername]

Mit diesem Befehl kann ein Benutzer sein Passwort jederzeit ändern. Der Administrator (Root-Benutzer) kann mit diesem Befehl die Passwörter aller Benutzer des Systems ändern.

su [Optionen] [Benutzername]

Mit diesem Befehl können Sie sich innerhalb einer laufenden Sitzung unter einem anderen Benutzernamen anmelden. Geben Sie dazu einen Benutzernamen und das zugehörige Passwort ein. Der Root-Benutzer muss kein Passwort eingeben, da er die Identität jedes Benutzers annehmen darf. Wenn Sie den Befehl ohne Benutzername eingeben, werden Sie nach dem Root-Passwort gefragt. Können Sie dieses bereitstellen, werden Sie automatisch zum Root-Benutzer.

Mit su - öffnen Sie ein Anmeldefenster für einen anderen Benutzer.

halt [Optionen]

Um keinen Datenverlust zu riskieren, sollten Sie Ihr System immer mit diesem Programm herunterfahren.

reboot [Optionen]

Fährt das System wie mit dem Befehl halt herunter, startet es aber unmittelbar danach wieder.

clear

Dieser Befehl löscht den Inhalt des sichtbaren Konsolenausschnitts. Er verfügt über keine Optionen.

3.3.3. Weitere Informationen

Die Liste der Befehle in diesem Abschnitt ist keineswegs vollständig. Informationen über weitere Befehle und ausführliche Erläuterungen zu den bereits genannten Befehlen finden Sie in der sehr empfehlenswerten Publikation Linux in a Nutshell von O'Reilly.