Shell-Grundlagen

Inhaltsverzeichnis

7.1. Starten einer Shell
7.2. Eingeben von Kommandos
7.3. Arbeiten mit Dateien und Verzeichnissen
7.4. Umschalten zu Root
7.5. Bearbeiten von Dateiberechtigungen
7.6. Nützliche Funktionen der Shell
7.7. Bearbeiten von Texten
7.8. Suchen nach Dateien oder Inhalten
7.9. Anzeigen von Textdateien
7.10. Umleitung und Pipes
7.11. Starten von Programmen und Verarbeiten von Prozessen
7.12. Wichtige Linux-Kommandos

Mittlerweile können Sie bei der Arbeit mit Linux mit dem System kommunizieren, nahezu ohne jemals einen Kommandozeileninterpreter (die Shell) zu benötigen. Nach dem Start des Linux-Systems wird in der Regel eine grafische Bedienoberfläche geöffnet, die Sie durch die Anmeldung und die darauf folgenden Interaktionen mit dem System führt. Die grafische Bedienoberfläche in Linux (X Window System oder X11) wird anfangs bei der Installation konfiguriert. Sowohl der KDE-Desktop als auch der GNOME-Desktop (und andere Fenstermanager, die Sie installieren können) verwenden sie zur Interaktion mit dem Benutzer.

Dennoch sind Grundkenntnisse der Arbeit mit einer Shell nützlich, da Sie möglicherweise Situationen erleben, in denen die grafische Bedienoberfläche nicht verfügbar ist, etwa bei einem Problem mit dem X Window System. Wenn Sie nicht mit einer Shell vertraut sind, sind Sie anfangs bei der Eingabe von Kommandos möglicherweise etwas unsicher, aber je mehr Sie sich daran gewöhnen, um so mehr werden Sie erkennen, dass die Kommandozeile häufig die schnellste und einfachste Methode bietet, um einige alltägliche Aufgaben zu erledigen.

Für UNIX oder Linux sind mehrere Shells verfügbar, die sich geringfügig in ihrem Verhalten und den akzeptierten Kommandos unterscheiden. Die Standard-Shell in openSUSE® ist Bash (GNU Bourne-Again Shell).

Die folgenden Abschnitte begleiten Sie durch Ihre ersten Schritte mit der Bash-Shell und zeigen Ihnen, wie Sie einige grundlegende Aufgaben über die Kommandozeile erledigen können. Wenn Sie mehr erfahren möchten oder sich bereits wie ein Shell- "Powerbenutzer " fühlen, siehe Kapitel Bash-Shell und Bash-Skripte (↑Referenz).

Starten einer Shell

Grundsätzlich gibt es zwei unterschiedliche Methoden, eine Shell von der grafischen Bedienoberfläche zu starten, die gewöhnlich nach dem Start Ihres Computers angezeigt wird:

  • Sie können die grafische Bedienoberfläche verlassen oder

  • Sie können ein Terminalfenster in der grafischen Bedienoberfläche starten.

Während die erste Option immer verfügbar ist, können Sie die zweite Option nur nutzen, wenn Sie bereits bei einem Desktop wie KDE oder GNOME angemeldet sind. Für welche Vorgehensweise Sie sich auch entscheiden: Es führt immer ein Weg zurück und Sie können zwischen der Shell und der grafischen Bedienoberfläche hin und her schalten.

Wenn Sie es versuchen möchten, drücken Sie Strg+Alt+F2, um die grafische Bedienoberfläche zu verlassen. Die grafische Bedienoberfläche wird ausgeblendet und eine Shell fordert Sie auf, sich anzumelden. Geben Sie Ihren Benutzernamen ein und drücken Sie Eingabetaste. Geben Sie Ihr Passwort ein und drücken Sie Eingabetaste. Die Eingabeaufforderung zeigt nun einige nützliche Informationen wie im folgenden Beispiel an:

 1   2   3
tux@linux:~>

1

Ihre Anmeldung.

2

Der Hostname Ihres Computers.

3

Der Pfad zum aktuellen Verzeichnis. Direkt nach der Anmeldung ist das aktuelle Verzeichnis in der Regel Ihr Home-Verzeichnis, angezeigt durch das Symbol ~ (Tilde).

Wenn Sie bei einem entfernten Computer angemeldet sind, zeigen die an der Eingabeaufforderung angegebenen Informationen immer an, auf welchem System Sie gerade arbeiten.

Wenn sich der Cursor hinter dieser Eingabeaufforderung befindet, können Sie Kommandos direkt an das Computersystem übergeben. Beispielsweise können Sie nun ls -l eingeben, um den Inhalt des aktuellen Verzeichnisses in einem detaillierten Format aufzuführen. Wenn Ihnen dies als erste Begegnung mit der Shell genügt und Sie zurück zur grafischen Bedienoberfläche wechseln möchten, sollten Sie sich zuerst von der Shell-Sitzung abmelden. Geben Sie hierzu exit ein und drücken Sie Eingabetaste. Drücken Sie dann Alt+F7, um zurück zur grafischen Bedienoberfläche zu wechseln. Ihr Desktop und die darauf ausgeführten Anwendungen sind unverändert.

Wenn Sie bereits beim GNOME- oder KDE-Desktop angemeldet sind und ein Terminalfenster auf dem Desktop starten möchten, drücken Sie Alt+F2 und geben Sie konsole (für KDE) bzw. gnome-terminal (für GNOME) ein. Auf Ihrem Desktop wird ein Terminalfenster geöffnet. Da Sie bereits an Ihrem Desktop angemeldet sind, zeigt die Eingabeaufforderung die oben beschriebenen Informationen über Ihr System. Sie können nun Kommandos eingeben und Aufgaben ausführen wie in jeder beliebigen Shell, die parallel zu Ihrem Desktop ausgeführt wird. Um zu einer anderen Anwendung auf dem Desktop zu wechseln, klicken Sie einfach in das entsprechende Anwendungsfenster oder wählen es aus der Kontrollleiste. Sie schließen das Terminalfenster, indem Sie Alt+F4 drücken.

Eingeben von Kommandos

Sobald die Eingabeaufforderung auf der Shell erscheint, ist sie bereit für den Empfang und die Ausführung von Kommandos. Ein Kommando kann aus mehreren Elementen bestehen. Das erste Element ist das eigentliche Kommando, gefolgt von Parametern oder Optionen. Sie können ein Kommando schreiben und anschließend mithilfe der folgenden Tasten bearbeiten: , , Pos 1, Ende, <— (Rücktaste), Entf und Leertaste. Sie können Tippfehler korrigieren oder Optionen hinzufügen. Kommandos werden erst ausgeführt, wenn Sie Eingabetaste drücken.

[Important]Keine Nachricht ist eine gute Nachricht.

Die Shell gibt nicht viele Meldungen aus: Normalerweise erhalten Sie, im Unterschied zu einigen grafischen Bedienoberflächen, keine Bestätigungsmeldungen, wenn Kommandos ausgeführt wurden. Meldungen werden nur bei Problemen oder Fehlern angezeigt, bzw. wenn Sie sie explizit durch Ausführen eines Kommandos mit einer bestimmten Option anfordern.

Beachten Sie dies auch bei Kommandos zum Löschen von Objekten. Bevor Sie ein Kommando zum Entfernen einer Datei eingeben, beispielsweise rm (ganz ohne Option), sollten Sie sich sicher sein, dass Sie das betreffende Objekt wirklich löschen möchten. Das Objekt wird ohne erneute Rückbestätigung unwiederbringlich gelöscht.

Verwenden von Kommandos ohne Optionen

Unter Abschnitt 6.3.1, „Berechtigungen für Benutzer, Gruppe und andere“ haben Sie bereits eines der grundlegendsten Kommandos kennen gelernt: ls, . Hiermit wird der Inhalt eines Verzeichnisses aufgelistet. Dieses Kommando kann mit oder ohne Optionen verwendet werden. Durch Eingabe des Kommandos ls ohne Zusatz wird der Inhalt des aktuellen Verzeichnisses angezeigt:

tux@knox:~> ls
bin Desktop Documents public_html tux.txt
tux@knox:~>

Wie bereits unter Abschnitt 6.2.1, „Wichtigste Merkmale“ erwähnt, können Dateien in Linux eine Dateinamenserweiterung, wie .txt, aufweisen, müssen jedoch nicht. Daher ist es in dieser Ausgabe von ls schwierig, Dateien von Ordnern zu unterscheiden. Standardmäßig werden in der Bash-Shell jedoch die Verzeichnisse blau und die Dateien schwarz angezeigt.

Verwenden von Kommandos mit Optionen

Eine bessere Methode, weitere Details zum Inhalt eines Verzeichnisses zu erhalten, besteht darin, das Kommando ls mit einer Reihe von Optionen zu verwenden. Durch Optionen wird die Funktionsweise eines Kommandos verändert, so dass Sie damit spezielle Aufgaben ausführen können. Optionen werden vom Kommando durch ein Leerzeichen getrennt und ihnen ist gewöhnlich ein Bindestrich vorangestellt. Das Kommando ls -l zeigt beispielsweise den Inhalt desselben Verzeichnisses mit allen Details an (Long Listing Format).

tux@knox:~> ls -l
drwxr-xr-x 1 tux users     48 2006-06-23 16:08 bin
drwx---r-- 1 tux users  53279 2006-06-21 13:16 Desktop
drwx------ 1 tux users    280 2006-06-23 16:08 Documents
drwxr-xr-x 1 tux users  70733 2006-06-21 09:35 public_html
-rw-r--r-- 1 tux users  47896 2006-06-21 09:46 tux.txt
tux@knox:~>

Diese Ausgabe zeigt die folgenden Informationen über jedes Objekt:

drwxr-xr-x1 12 tux3 users4 485 2006-06-23 16:086 bin7 

1

Objekttyp und Zugriffsberechtigungen. Weitere Einzelheiten finden Sie unter Abschnitt 6.3.1, „Berechtigungen für Benutzer, Gruppe und andere“.

2

Anzahl der festen Verknüpfungen zu dieser Datei.

3

Eigentümer der Datei oder des Verzeichnisses. Weitere Einzelheiten finden Sie unter Abschnitt 6.3.1, „Berechtigungen für Benutzer, Gruppe und andere“.

4

Gruppe, die der Datei oder dem Verzeichnis zugewiesen ist. Weitere Einzelheiten finden Sie unter Abschnitt 6.3.1, „Berechtigungen für Benutzer, Gruppe und andere“.

5

Dateigröße in Byte.

6

Datum und Uhrzeit der letzten Änderung.

7

Name des Objekts.

Gewöhnlich können Sie mehrere Optionen kombinieren, indem Sie nur der ersten Option einen Bindestrich voranstellen und dann die übrigen Optionen nacheinander ohne Leerzeichen anfügen. Wenn Sie beispielsweise alle Dateien in einem Verzeichnis in einem langen Listenformat sehen möchten, können Sie die beiden Optionen -l und -a (alle Dateien anzeigen) für das Kommando ls kombinieren. Das Kommando ls -la zeigt auch verborgene Dateien im Verzeichnis an. Diese werden durch einen vorangestellten Punkt gekennzeichnet. (z. B. .verborgenedatei).

Die Liste des Inhalts, die Sie mit ls erhalten, ist alphabetisch nach Dateinamen sortiert. Wie in einem grafischen Dateimanager können Sie die Ausgabe von ls -l aber auch nach verschiedenen Kriterien wie Datum, Dateinamenserweiterung oder Dateigröße sortieren:

  • Verwenden Sie für Datum und Uhrzeit ls -lt (das neueste Element zuerst).

  • Verwenden Sie für Erweiterungen ls -lx (Dateien ohne Erweiterung zuerst).

  • Verwenden Sie für Dateigröße ls -lS (die größte Datei zuerst).

Umd ie Sortierfolge umzukehren, fügen Sie Ihrem Kommando ls die Option -r hinzu. Beispielsweise liefert ls -lr die Inhaltsliste in umgekehrter alphabetischer Reihenfolge, ls -ltr zeigt die ältesten Dateien zuerst. Es gibt viele nützliche Optionen für ls. Im folgenden Abschnitt erfahren Sie, wie Sie sich damit vertraut machen können.

Aufrufen der Online-Hilfe

Sie müssen sich nicht alle Optionen für alle Kommandos merken. Wenn Sie den Namen eines Kommandos wissen, sich jedoch hinsichtlich der Optionen oder der Syntax des Kommandos nicht sicher sind, wählen Sie eine der folgenden Möglichkeiten:

Option --help

Wenn Sie nur die Optionen eines bestimmten Kommandos nachsehen möchten, geben Sie einfach das Kommando gefolgt von einem Leerzeichen und --help ein. Die Option --help ist für viele Kommandos verfügbar. Beispielsweise werden durch Eingabe von ls --help alle Optionen für das Kommando ls angezeigt.

Manualpages

Für weitere Informationen über die verschiedenen Kommandos können Sie auch die Manualpages aufrufen. Manualpages beschreiben kurz, welche Funktion das Kommando erfüllt. Sie greifen auf Manualpages mit dem Kommando man gefolgt vom Namen des jeweiligen Kommandos zu, z. B. man ls.

Die Manualpages werden direkt in der Shell angezeigt. Blättern Sie mit den Tasten Bild ↑ und Bild ↓ nach oben bzw. unten. Mit Pos 1 und Ende gelangen Sie an den Anfang bzw. das Ende eines Dokuments. und mit Q schließen Sie die man-Seiten. Weitere Informationen über das Kommando man erhalten Sie durch Eingabe von man man.

Infoseiten

Infoseiten bieten gewöhnlich sogar mehr Informationen über Kommandos. Die Infoseite für ein bestimmtes Kommando zeigen Sie an, indem Sie info gefolgt vom Namen des Kommandos eingeben, z. B. info ls). Infoseiten werden direkt in der Shell in einem Viewer angezeigt, in dem Sie zwischen den verschiedenen Abschnitten, so genannten "Knoten, navigieren können." Mit Leertaste blättern Sie vorwärts und mit <— zurück. Innerhalb eines Knotens können Sie auch mit Bild ↑ und Bild ↓ navigieren, jedoch gelangen Sie nur mit Leertaste und <— zum vorherigen bzw. nächsten Knoten. Drücken Sie wie bei den Manualpages Q, um den Anzeigemodus zu beenden.

Beachten Sie, dass Manualpages und Infoseiten nicht für alle Kommandos verfügbar sind. Manchmal sind beide verfügbar (gewöhnlich für Schlüsselkommandos), manchmal existiert nur eine man-Seite oder eine Infoseite, manchmal nichts von beidem.

Bash-Tastenkombinationen

Wenn Sie mehrere Kommandos eingegeben haben, ist Ihre Shell bald mit allen Arten von Kommandos und den entsprechenden Ausgaben gefüllt. In der folgenden Tabelle finden Sie einige nützliche Tastenkombinationen zum Navigieren und Bearbeiten in der Shell.

Tastenkombination

Funktion

Strg+L

Löscht den Bildschirm und verschiebt die aktuelle Zeile an den Seitenbeginn.

Strg+C

Bricht das Kommando ab, das gerade ausgeführt wird.

Umschalttaste+Bild ↑

Scrollt nach oben.

Umschalttaste+Bild ↓

Scrollt nach unten.

Strg+U

Löscht von Cursorposition bis Zeilenbeginn.

Strg+K

Löscht von Cursorposition bis Zeilenende.

Strg+D

Schließt die Shell-Sitzung.

,

Durchsucht den Verlauf der ausgeführten Kommandos.

Arbeiten mit Dateien und Verzeichnissen

Um eine bestimmte Datei bzw. ein bestimmtes Verzeichnis anzusprechen, müssen Sie den Pfad angeben, der zu dem betreffenden Verzeichnis bzw. der betreffenden Datei führt. Wie Sie vielleicht bereits von MS DOS oder Mac OS wissen, gibt es zwei Methoden, einen Pfad anzugeben:

Absoluter Pfad

Geben Sie den vollständigen Pfad vom Root-Verzeichnis zur jeweiligen Datei bzw. zum jeweiligen Verzeichnis ein.

Relativer Pfad

Geben Sie einen Pfad zur jeweiligen Datei bzw. zum jeweiligen Verzeichnis mit dem aktuellen Verzeichnis als Ausgangspunkt ein. Das bedeutet, dass Sie die Ebenen angeben, um die Sie vom aktuellen Verzeichnis ausgehend in der Struktur des Dateisystems nach oben oder unten navigieren müssen, um das Zielverzeichnis bzw. die Zieldatei zu erreichen.

Pfade enthalten Dateinamen und/oder Verzeichnisse, die durch Schrägstriche getrennt sind. Absolute Pfade beginnen immer mit einem Schrägstrich. Relativen Pfaden ist kein Schrägstrich vorangestellt, aber sie können einen oder zwei Punkte aufweisen.

Bei der Eingabe von Kommandos können Sie ganz nach Belieben eine der beiden Methoden zur Pfadangabe verwenden, beide führen zum selben Ergebnis. Sie wechseln das Verzeichnis mit dem Kommando cd und der Pfadangabe zum gewünschten Verzeichnis.

[Note]Leerzeichen in Datei- oder Verzeichnisnamen

Wenn ein Datei- oder Verzeichnisname ein Leerzeichen enthält, geben Sie entweder vor dem Leerzeichen ein Escape-Zeichen (umgekehrter Schrägstrich \\ ) ein oder schließen Sie den Dateinamen in einfache Anführungszeichen ein. Andernfalls interpretiert Bash einen Dateinamen wie Eigene Dokumente als den Namen von zwei Dateien oder Verzeichnissen, in diesem Fall Eigene und Dokumente .

Bei der Angabe von Pfaden können Ihnen die folgenden "Abkürzungen" viel Schreibarbeit ersparen:

  • Die Tilde ( ~) ist eine Abkürzung für Home-Verzeichnisse. Um beispielsweise den Inhalt Ihres Home-Verzeichnisses aufzulisten, verwenden Sie ls ~. Wenn Sie den Inhalt des Home-Verzeichnisses von einem anderen Benutzer auflisten möchten, geben Sie ls ~ benutzername ein. (Natürlich ist dies nur möglich, wenn Sie berechtigt sind, den Inhalt anzuzeigen. Siehe Abschnitt 6.3, „Dateizugriffsberechtigungen“). Beispielsweise würde ls ~tux den Inhalt des Home-Verzeichnisses von Benutzer tux auflisten. Sie können die Tilde auch als Abkürzung für Home-Verzeichnisse verwenden, wenn Sie in einer Netzwerkumgebung arbeiten und Ihr Home-Verzeichnis nicht unbedingt /home heißt, sondern einem anderen Verzeichnis im Dateisystem zugeordnet ist.

    Sie können von jeder Stelle im Dateisystem zu Ihrem Home-Verzeichnis wechseln, indem Sie cd ~ eingeben oder indem Sie einfach cd ohne weitere Optionen eingeben.

  • Bei Verwendung von relativen Pfaden geben Sie das aktuelle Verzeichnis mit einem Punkt ( . ) an.). Dies ist besonders nützlich für Kommandos wie cp oder mv, mit denen Sie Dateien oder Verzeichnisse kopieren bzw. verschieben können.

  • Die nächsthöhere Ebene in der Struktur wird durch zwei Punkte dargestellt (..). Sie wechseln in das übergeordnete Verzeichnis Ihres aktuellen Verzeichnisses, indem Sie cd .. eingeben, oder zwei Ebenen über das aktuelle Verzeichnis, indem Sie cd ../.. eingeben usw.

Probieren Sie Ihr Wissen in den folgenden Beispielen aus. Sie behandeln grundlegende Aufgaben, die Sie mit Bash an Dateien oder Ordnern ausführen können.

Beispiele für das Arbeiten mit Dateien und Verzeichnissen

Angenommen, Sie möchten eine Datei aus Ihrem Home-Verzeichnis in ein Unterverzeichnis von /tmp kopieren, das Sie zuerst erstellen müssen:

Prozedur 7.1. Erstellen und Ändern von Verzeichnissen

Erstellen Sie ausgehend von Ihrem Home-Verzeichnis ein Unterverzeichnis in /tmp:

  1. Geben Sie ein:

    mkdir  /tmp/test

    mkdir steht für "make directory" (Verzeichnis anlegen). Mit diesem Kommando erstellen Sie ein neues Verzeichnis mit dem Namen test im Verzeichnis /tmp. In diesem Fall verwenden Sie einen absoluten Pfad, um das Verzeichnis test zu erstellen.

  2. Geben Sie nun das Folgende ein, um zu überprüfen, was geschehen ist:

    ls -l /tmp

    Das neue Verzeichnis test sollte nun in der Inhaltsliste des Verzeichnisses /tmp angezeigt werden.

  3. Wechseln Sie in das neu erstellte Verzeichnis mit

    cd /tmp/test

Prozedur 7.2. Erstellen und Kopieren von Dateien

Erstellen Sie nun eine neue Datei in Ihrem Home-Verzeichnis und kopieren Sie sie in das Verzeichnis /tmp/test. Verwenden Sie für diese Aufgabe einen relativen Pfad.

[Important]Überschreiben von bestehenden Dateien

Bevor Sie eine Datei kopieren, verschieben oder umbenennen, prüfen Sie, ob Ihr Zielverzeichnis bereits eine Datei mit demselben Namen enthält. Wenn ja, ändern Sie ggf. einen der Dateinamen oder verwenden Sie cp bzw. mv mit Optionen wie -i, die Sie zu einer Eingabe auffordert, bevor eine bestehende Datei überschrieben wird. Andernfalls überschreibt Bash die vorhandene Datei ohne Bestätigung.

  1. Geben Sie zum Auflisten des Inhalts Ihres Home-Verzeichnisses Folgendes ein:

    ls -l ~

    Es sollte standardmäßig ein Unterverzeichnis mit dem Namen Dokumente enthalten. Wenn nicht, erstellen Sie dieses Unterverzeichnis mit dem Kommando mkdir, das Sie bereits kennen:

    mkdir ~/Documents
  2. Geben Sie zur Erstellung einer neuen, leeren Datei mit dem Namen myfile.txt im Verzeichnis Dokumente Folgendes ein:

    touch ~/Documents/myfile.txt

    Gewöhnlich aktualisiert das Kommando touch das Änderungs- und Zugriffsdatum für eine bestehende Datei. Wenn Sie touch mit einem Dateinamen verwenden, der im Zielverzeichnis nicht existiert, wird eine entsprechende neue Datei angelegt.

  3. Geben Sie ein:

    ls -l ~/Documents

    Die neue Datei sollte in der Inhaltsliste angezeigt werden.

  4. Geben Sie zum Kopieren der neu erstellten Datei Folgendes ein:

    cp ~/Documents/myfile.txt .

    Vergessen Sie nicht den Punkt am Ende.

    Dieses Kommando weist Bash an, direkt in Ihr Home-Verzeichnis zu wechseln und myfile.txt aus dem Unterverzeichnis Dokumente in das aktuelle Verzeichnis /tmp/test zu kopieren, ohne den Namen der Datei zu ändern.

  5. Prüfen Sie das Ergebnis, indem Sie Folgendes eingeben:

    ls -l

    Die Datei myfile.txt sollte nun in der Inhaltsliste für /tmp/test angezeigt werden.

Prozedur 7.3. Umbenennen und Entfernen von Dateien oder Verzeichnissen

Angenommen, Sie möchten nun myfile.txt in tuxfile.txt umbenennen. Zum Schluss beschließen Sie, die umbenannte Datei und das Unterverzeichnis test zu entfernen.

  1. Geben Sie zum Umbenennen der Datei das folgende Kommando ein:

    mv myfile.txt tuxfile.txt
  2. Geben Sie das Folgende ein, um zu überprüfen, was geschehen ist:

    ls -l

    Anstelle von myfile.txt sollte nun tuxfile.txt in der Inhaltsliste angezeigt werden.

    mv steht für move (verschieben) und wird mit zwei Optionen verwendet: Mit der ersten Option wird die Quelle des Vorgangs, mit der zweiten Option das Ziel angegeben. Sie können mv für Folgendes verwenden:

    • Umbenennen einer Datei oder eines Verzeichnisses,

    • Verschieben einer Datei oder eines Verzeichnisses an eine andere Position oder

    • Ausführen beider Aktionen in einem Schritt.

  3. Sie entscheiden, dass Sie die Datei nicht mehr brauchen, und löschen sie, indem Sie Folgendes eingeben:

    rm tuxfile.txt 

    Bash löscht die Datei ohne Bestätigung.

  4. Wechseln Sie mit cd .. um eine Ebene nach oben und prüfen Sie mit

    ls -l test

    ob das Verzeichnis test nun leer ist.

  5. Wenn ja, können Sie das Verzeichnis test entfernen, indem Sie folgendes eingeben:

    rmdir test

Umschalten zu Root

Wie bereits unter Abschnitt 6.1, „Benutzerkonzept“ erläutert, erfordern einige Aufgaben in Linux root-Berechtigungen, damit sie ausgeführt werden können.

Verwenden von su

Gehen Sie wie folgt vor, um in einer Shell temporär als root zu arbeiten:

  1. Geben Sie su ein. Sie werden zur Eingabe des root-Passworts aufgefordert.

  2. Passwort eingeben. Wenn Sie das root-Passwort falsch geschrieben haben, zeigt die Shell eine Meldung an. Wiederholen Sie in diesem Fall die Eingabe von su, bevor Sie das Passwort erneut eingeben. Wenn Ihr Passwort korrekt ist, zeigt ein Nummernzeichen # am Ende der Eingabeaufforderung, dass Sie nun als root agieren.

  3. Führen Sie Ihre Aufgabe aus. Sie können beispielsweise die Eigentümerschaft einer Datei an einen neuen Benutzer übertragen; hierzu ist nur root berechtigt.

    chown wilber kde_quick.xml
  4. Sobald alle Ihre Aufgaben als root erledigt sind, wechseln Sie wieder in Ihr normales Benutzerkonto. Geben Sie dazu Folgendes ein:

    exit

    Das Nummernzeichen verschwindet und Sie agieren wieder als "normaler" Benutzer.

Verwenden von sudo

Sie können auch sudo (superuser "do") verwenden, um einige Aufgaben durchzuführen, die normalerweise rootn vorbehalten sind. Mit sudo können Administratoren bestimmten Benutzern root-Privilegien für einige Kommandos erteilen. Je nach Systemkonfiguration können Benutzer dann root-Kommandos ausführen und müssen hierfür nur ihr normales Passwort eingeben. Aufgrund einer Zeitstempelfunktion wird Benutzern nur ein "Ticket" für eine beschränkte Zeitspanne nach Eingabe des Passworts gewährt. Das Ticket läuft in der Regel nach wenigen Minuten ab. In openSUSE ist für sudo standardmäßig das root-Passwort erforderlich (falls vom Systemadministrator nicht anderweitig konfiguriert).

Für Benutzer ist sudo praktisch, da Sie davon abgehalten werden, zweimal zwischen den Konten zu wechseln (zu root und wieder zurück). Zum Ändern der Eigentümerschaft einer Datei ist bei Verwendung von sudo statt der Eingabe von drei Kommandos nur ein Kommando erforderlich:

sudo chown wilber kde_quick.xml

Nachdem Sie das angeforderte Passwort eingegeben haben, wird das Kommando ausgeführt. Wenn Sie kurz darauf ein zweites root-Kommando eingeben, werden Sie nicht erneut zur Eingabe des Passworts aufgefordert, da das Ticket noch gültig ist. Nach einer bestimmten Zeitspanne läuft das Ticket automatisch ab und das Passwort muss wieder eingegeben werden. Hierdurch wird außerdem verhindert, dass unbefugten Personen &rootuser-Privilegien erteilt werden, falls ein Benutzer vergisst, wieder zu seinem normalen Benutzerkonto zu wechseln und eine root-Shell offen lässt.

Bearbeiten von Dateiberechtigungen

In Linux gehören Objekte wie Dateien oder Ordner oder Prozesse dem Benutzer, der sie erstellt oder initiiert hat. Die Gruppe, die mit einer Datei oder einem Ordner verbunden ist, hängt von der primären Gruppe ab, der ein Benutzer beim Erstellen des Objekts angehört. Wenn Sie eine neue Datei oder ein neues Verzeichnis anlegen, werden die anfänglichen Zugriffsrechte für dieses Objekt nach einem vordefinierten Schema festgelegt. Weitere Einzelheiten finden Sie unter Abschnitt 6.3, „Dateizugriffsberechtigungen“.

Als Eigentümer einer Datei bzw. eines Verzeichnisses (und natürlich als root) können Sie die Zugriffsberechtigungen für dieses Objekt ändern.

Sie ändern Objektattrribute wie Zugriffsrechte für eine Datei oder einen Ordner mit dem Kommando chmod gefolgt von den folgenden Parametern:

  • Benutzer, für die die Berechtigungen geändert werden sollen,

  • Typ der Zugriffsberechtigung, die entfernt, festgelegt oder hinzugefügt werden soll und

  • durch Leerzeichen getrennte Dateien oder Ordner, für die Sie die Zugriffsrechte ändern möchten.

Die Benutzer, für die Dateizugriffsberechtigungen geändert werden können, fallen in folgende Kategorien: Der Eigentümer der Datei (user, u), die Gruppe, die Eigentümer der Datei ist (group, g) und die anderen Benutzer (others, o). Sie können eine oder mehrere der folgenden Berechtigungen hinzufügen, entfernen oder festlegen: Lesen, Schreiben oder Ausführen.

Als root können Sie auch die Eigentümerschaft einer Datei ändern: Mit dem Kommando chown (change owner) können Sie die Eigentümerschaft an einen neuen Benutzer übertragen.

Beispiele für das Ändern von Zugriffs- und Eigentumsrechten

Das folgende Beispiel zeigt ein Beispiel der Ausgabe für das Kommando ls -l in einer Shell.

Beispiel 7.1. Zugriffsrechte für Dateien und Ordner

-rw-r----- 1 tux users      0 2006-06-23 16:08 checklist.txt
-rw-r--r-- 1 tux users  53279 2006-06-21 13:16 gnome_quick.xml
-rw-rw---- 1 tux users      0 2006-06-23 16:08 index.htm
-rw-r--r-- 1 tux users  70733 2006-06-21 09:35 kde-start.xml
-rw-r--r-- 1 tux users  47896 2006-06-21 09:46 kde_quick.xml
drwxr-xr-x 2 tux users     48 2006-06-23 16:09 local
-r-xr-xr-x 1 tux users 624398 2006-06-23 15:43 tux.jpg

Im obigen Beispiel besitzt Benutzer tux die Datei kde-start.xml und verfügt über Lese- und Schreibzugriff auf die Datei, kann die Datei aber nicht ausführen. Die Gruppe users kann die Datei lesen, aber nicht schreiben oder ausführen. Dasselbe gilt für die anderen Benutzer wie im dritten Zeichenblock gezeigt.

Prozedur 7.4. Ändern von Zugriffsberechtigungen

Angenommen, Sie sind tux und möchten die Zugriffsrechte auf Ihre Dateien ändern:

  1. Wenn die Gruppe users auch Schreibzugriff auf kde-start.xml erhalten soll, geben Sie Folgendes ein:

    chmod g+w kde-start.xml
  2. Wenn die Gruppe users und andere Benutzer Schreibzugriff auf kde-start.xml erhalten sollen, geben Sie Folgendes ein:

    chmod go+w kde-start.xml
  3. Den Schreibzugriff entfernen Sie für alle Benutzer, indem Sie Folgendes eingeben:

    chmod -w kde-start.xml

    Wenn Sie keine Benutzertypen angeben, gelten die Änderungen für alle Benutzer: den Eigentümer der Datei, die Eigentümergruppe und die anderen Benutzer. Nun kann selbst der Eigentümer tux nicht mehr in die Datei schreiben, ohne zuvor die Schreibberechtigungen wieder einzurichten.

  4. Damit die Gruppe users und andere Benutzer nicht in das Verzeichnis local wechseln können, geben Sie Folgendes ein:

    chmod go-x local
  5. Sie geben anderen Benutzern Schreibrechte auf die beiden Dateien kde_quick.xml und gnome_quick.xml , indem Sie Folgendes eingeben:

    chmod o+w  kde_quick.xml gnome_quick.xml

Prozedur 7.5. Ändern des Eigentumsrechts

Angenommen, Sie sind tux und möchten das Eigentumsrecht an der Datei kde_quick.xml auf den Benutzer wilber übertragen. Gehen Sie in diesem Fall folgendermaßen vor:

  1. Geben Sie Benutzername und Passwort für root ein.

  2. Geben Sie ein:

    chown wilber kde_quick.xml
  3. Prüfen Sie, was geschehen ist, indem Sie Folgendes eingeben:

    ls -l kde_quick.xml

    Sie sollten die folgende Ausgabe erhalten:

    -rw-r--r-- 1 wilber users  47896 2006-06-21 09:46 kde_quick.xml
  4. Wenn das Eigentumsrecht Ihren Wünschen entspricht, wechseln Sie zurück in Ihr normales Benutzerkonto.

Nützliche Funktionen der Shell

Wie Sie wahrscheinlich in den obigen Beispielen bemerkt haben, kann die Kommandoeingabe in Bash viel Schreibarbeit erfordern. Im Folgenden lernen Sie einige Funktionen von Bash kennen, die Ihre Arbeit erleichtern und Ihnen viel Tippaufwand ersparen können.

History

Standardmäßig "merkt" sich Bash die Kommandos, die Sie eingeben. Diese Funktion wird History genannt. Sie können durch die Kommandos navigieren, die zuvor eingegeben wurden, das gewünschte Kommando zur Wiederholung auswählen und dann erneut ausführen. Drücken Sie dazu wiederholt die Taste , bis das gewünschte Kommando an der Eingabeaufforderung angezeigt wird. Drücken Sie , um sich vorwärts durch die Liste der zuvor eingegebenen Kommandos zu bewegen. Für die mühelose wiederholte Ausführung eines bestimmten Kommandos aus der Bash-History, geben Sie einfach den ersten Buchstaben des zu wiederholenden Kommandos ein und drücken Sie Bild ↑.

Sie können nun das ausgewählte Kommando ändern (indem Sie beispielsweise den Namen einer Datei oder einen Pfad ändern), bevor Sie das Kommando durch Drücken von Eingabetaste ausführen. Um die Kommandozeile zu bearbeiten, verschieben Sie den Cursor mit den Pfeiltasten an die gewünschte Position und beginnen die Eingabe.

Sie können auch ein bestimmtes Kommando in der History suchen. Drücken Sie Strg+R, um eine inkrementelle Suchfunktion zu starten. Diese zeigt die folgende Eingabeaufforderung:

 (reverse-i-search)`': 

Geben Sie einfach einen oder mehrere Buchstaben des gesuchten Kommandos ein. Jedes eingegebene Zeichen engt die Suche ein. Das entsprechende Suchergebnis wird rechts neben dem Doppelpunkt und Ihre Eingabe links neben dem Doppelpunkt gezeigt. Um ein Suchergebnis zu akzeptieren, drücken Sie Esc. Die Eingabeaufforderung übernimmt ihr normales Aussehen und zeigt das gewählte Kommando an. Sie können das Kommando nun bearbeiten oder direkt ausführen, indem Sie Eingabetaste drücken.

Ergänzung

Die Ergänzung eines Datei- oder Verzeichnisnamens nach der Eingabe der ersten Buchstaben ist eine weitere hilfreiche Funktion von Bash. Geben Sie hierzu die ersten Buchstaben einer vorhandenen Datei oder eines vorhandenen Verzeichnisses ein und drücken Sie →| (Tabulator). Wenn der Dateiname bzw. Pfad eindeutig identifiziert werden kann, wird er sofort ergänzt und der Cursor springt zum Ende des Dateinamens. Anschließend können Sie die nächste Option des Kommandos eingeben, falls erforderlich. Wenn der Dateiname oder Pfad nicht eindeutig identifiziert werden kann (da mehrere Dateinamen mit denselben Buchstaben beginnen), wird der Dateiname oder Pfad nur so weit ergänzt, bis mehrere Varianten möglich sind. Eine Auflistung dieser Varianten erhalten Sie, indem Sie ein zweites Mal die Taste →| drücken. Anschließend können Sie die nächsten Buchstaben der Datei bzw. des Pfads eingeben und erneut die Ergänzungsfunktion durch Drücken von →| aktivieren. Wenn Sie Dateinamen und Pfaden mithilfe von →| ergänzen, können Sie gleichzeitig überprüfen, ob die Datei bzw. der Pfad, den Sie eingeben möchten, tatsächlich vorhanden ist (und Sie können sicher sein, dass er richtig geschrieben ist).

Platzhalter

Sie können ein oder mehrere Zeichen in einem Dateinamen durch einen Platzhalter zur Pfadnamenerweiterung ersetzen. Platzhalter sind Zeichen, die für andere Zeichen stehen. Bash kennt drei verschiedene Arten von Platzhaltern:

Platzhalter

Funktion

?

Stimmt genau mit einem zufälligen Zeichen überein

*

Stimmt mit einer beliebigen Zahl an Zeichen überein

[set]

Stimmt mit einem Zeichen aus der Gruppe überein, die in den eckigen Klammern angegeben wurde und hier durch die Zeichenfolge set dargestellt wird.

Beispiele für die Verwendung von History, Ergänzung und Platzhaltern

Die folgenden Beispiele illustrieren, wie Sie diese praktischen Funktionen von Bash nutzen können.

Prozedur 7.6. Verwenden von Verlauf und Vervollständigung

Wie bereits im Beispiel Abschnitt 7.3.1, „Beispiele für das Arbeiten mit Dateien und Verzeichnissen“ sollte Ihr Shell-Puffer mit Kommandos gefüllt sein, die Sie mithilfe der History-Funktion abrufen können.

  1. Drücken Sie wiederholt , bis cd ~ angezeigt wird.

  2. Drücken Sie Eingabetaste, um das Kommando auszuführen und in Ihr Home-Verzeichnis zu wechseln.

    Standardmäßig enthält Ihr Home-Verzeichnis zwei Unterverzeichnisse, die mit demselben Buchstaben beginnen: Dokumente und Desktop.

  3. Geben Sie cd D ein und drücken Sie →|.

    Nichts geschieht, da Bash nicht feststellen kann, in welches der Unterverzeichnisse Sie wechseln möchten.

  4. Drücken Sie erneut →|, um die Liste möglicher Optionen zu sehen:

    tux@knox:~> cd D Desktop/   Documents/ tux@knox:~> cd D
  5. Die Eingabeaufforderung zeigt immer noch Ihre ursprüngliche Eingabe. Geben Sie den nächsten Buchstaben des Unterverzeichnisses ein, in das Sie wechseln möchten, und drücken Sie erneut →|.

    Bash vervollständigt nun den Pfad.

  6. Sie können nun das Kommando mit Eingabetaste ausführen.

Prozedur 7.7. Verwenden von Platzhalterzeichen

Angenommen, Ihr Home-Verzeichnis enthält eine Reihe von Dateien mit verschiedenen Dateinamenserweiterungen. Es enthält auch mehrere Versionen einer Datei, die Sie unter verschiedenen Dateinamen gespeichert haben ( myfile1.txt , myfile2.txt usw.). Sie möchten bestimmte Dateien gemäß ihren Eigenschaften suchen.

  1. Erstellen Sie zunächst einige Testdateien in Ihrem Home-Verzeichnis:

    1. Verwenden Sie das Kommando touch, um mehrere (leere) Dateien mit verschiedenen Dateierweiterungen zu erstellen, z. B. .pdf, .xml und .jpg.

      Sie können diesen Vorgang wiederholt (denken Sie an die Bash-Verlauf-Funktion) oder nur mit einem einzigen touch-Kommando durchführen: Fügen Sie einfach mehrere Dateinamen hinzu, die jeweils durch ein Leerzeichen voneinander getrennt sind.

    2. Erstellen Sie mindestens zwei Dateien mit derselben Dateinamenserweiterung, z. B. .html.

    3. Geben Sie zum Erstellen mehrerer "Versionen " einer Datei das Folgende ein:

      touch myfile{1..5}.txt

      Dieses Kommando erstellt fünf fortlaufend nummerierte Dateien:

      myfile1.txt,…,myfile5.txt
    4. Zeigen Sie den Inhalt Ihres Home-Verzeichnisses an. Er sollte etwa wie folgt aussehen:

      -rw-r--r-- 1 tux users   0 2006-07-14 13:34 foo.xml
      -rw-r--r-- 1 tux users   0 2006-07-14 13:47 home.html
      -rw-r--r-- 1 tux users   0 2006-07-14 13:47 index.html
      -rw-r--r-- 1 tux users   0 2006-07-14 13:47 toc.html
      -rw-r--r-- 1 tux users   0 2006-07-14 13:34 manual.pdf
      -rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile1.txt
      -rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile2.txt
      -rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile3.txt
      -rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile4.txt
      -rw-r--r-- 1 tux users   0 2006-07-14 13:49 myfile5.txt
      -rw-r--r-- 1 tux users   0 2006-07-14 13:32 tux.png
             
  2. Wählen Sie mithilfe von Platzhaltern bestimmte Untergruppen von Dateien nach verschiedenen Kriterien aus:

    1. Um alle Dateien mit der Erweiterung .html aufzulisten, geben Sie Folgendes ein:

       ls -l *.html
    2. Um alle "Versionen" von myfile.txt aufzulisten, geben Sie Folgendes ein

      ls -l myfile?.txt

      Beachten Sie, dass Sie hier nur das Jokerzeichen ? verwenden können, da die Nummerierung der Dateien einstellig ist. Wenn Sie eine Datei mit dem Namen myfile10.txt haben, müssen Sie den Platzhalter * verwenden, um alle Versionen von myfile.txt zu sehen (oder ein weiteres Fragezeichen hinzufügen, sodass Ihre Zeichenfolge wie myfile??.txt aussieht).

    3. Um beispielsweise die Versionen 1 bis 3 und Version 5 von myfile.txt zu entfernen, geben Sie Folgendes ein:

      rm myfile[1-3,5].txt
    4. Prüfen Sie das Ergebnis mit

      ls -l

      Von allen myfile.txt -Versionen sollte nur myfile4.txt übrig sein.

Sie können auch mehrere Platzhalter in einem Kommando kombinieren. Im obigen Beispiel würde rm myfile[1-3,5].* dasselbe Ergebnis liefern wie rm myfile[1-3,5].txt, da nur Dateien mit der Erweiterung .txt vorhanden sind.

[Note]Verwenden von Platzhaltern in Kommandos

Platzhalter in einem rm-Kommando können ausgesprochen nützlich sein, bergen jedoch auch ein gewisses Risiko, da unter Umständen mehr Dateien aus dem Verzeichnis gelöscht werden, als beabsichtigt war. Sie sehen, welche Dateien durch rm betroffen sind, indem Sie Ihre Platzhalterzeichenfolge zuerst mit ls anstelle von rm ausführen.

Bearbeiten von Texten

Zum Bearbeiten von Dateien von der Kommandozeile aus lernen Sie früher oder später den vi-Editor kennen. vi ist ein Standardeditor, der auf nahezu jedem UNIX/Linux-System zur Verfügung steht. Er kann mehrere Betriebsmodi ausführen, in denen die gedrückten Tasten unterschiedliche Funktionen haben. Das ist nicht besonders einfach für Anfänger, aber Sie sollten zumindest die grundlegendsten Operationen mit vi kennen. Es kann Situationen geben, in denen außer vi kein anderer Editor verfügbar ist.

In vi werden drei grundlegende Betriebsmodi verwendet:

Kommando -Modus

In diesem Modus akzeptiert vi bestimmte Tastenkombinationen als Kommandos. Einfache Aufgaben wie das Suchen nach Wörtern oder das Löschen einer Zeile können ausgeführt werden.

Einfüge -Modus

In diesem Modus können Sie normalen Text schreiben.

Erweiterter Modus

In diesem Modus, der auch Doppelpunktmodus genannt wird (weil zum Wechseln in diesen Modus ein Doppelpunkt eingegeben werden muss), kann vi auch komplexere Aufgaben wie Suchen und Ersetzen von Text ausführen.

Im folgenden (sehr einfachen) Beispiel lernen Sie, wie Sie eine Datei mit vi öffnen und bearbeiten, Ihre Änderungen speichern und vi beenden können.

Beispiel: Bearbeitung mit vi

[Note]Anzeige der Tasten

Im Folgenden finden Sie mehrere Kommandos, die Sie in vi einfach durch das Drücken von Tasten eingeben können. Diese werden in Großbuchstaben angezeigt, wie auf einer Tastatur. Wenn Sie einen Tastenbuchstaben als Großbuchstaben eingeben müssen, wird dies explizit angegeben: Es wird eine Tastenkombination mit der Taste Umschalttaste angezeigt.

  1. Geben Sie zum Erstellen und Öffnen einer neuen Datei mit vi das Folgende ein:

    vi textfile.txt

    Standardmäßig wird vi im Kommando -Modus geöffnet, in dem Sie keinen Text eingeben können.

  2. Drücken Sie I , um in den Einfüge-Modus zu wechseln. Die untere Zeile ändert sich, um anzuzeigen, dass Sie nun Text einfügen können.

  3. Schreiben Sie ein paar Sätze. Wenn Sie eine neue Zeile einfügen möchten, drücken Sie zunächst Esc, um in den Kommandomodus umzuschalten. Drücken Sie O , um eine neue Zeile einzufügen und wieder in den Einfüge-Modus zu wechseln.

  4. Im Einfüge-Modus können Sie den Text mit den Pfeiltasten und mit Entf bearbeiten.

  5. Wenn Sie vi beenden möchten, drücken Sie Esc, um wieder in den Kommandomodus zu wechseln. Drücken Sie dann :, um in den erweiterten Modus zu gelangen. Die untere Zeile zeigt nun einen Doppelpunkt.

  6. Um vi zu beenden und Ihre Änderungen zu speichern, geben Sie wq ( w für write (schreiben); q für quit (Beenden)) ein und drücken SieEingabetaste . Wenn Sie die Datei unter einem anderen Namen speichern möchten, geben Sie w Dateiname ein und drücken Sie Eingabetaste.

    Um vi ohne Speichern zu beenden, geben Sie stattdessen q! ein und drücken Sie Eingabetaste.

Suchen nach Dateien oder Inhalten

Bash bietet Ihnen mehrere Kommandos zur Suche nach Dateien und dem Inhalt von Dateien:

locate

Dieses Dienstprogramm steht nur zur Verfügung, wenn das Paket findutils-locate installiert ist. Mit diesem Kommando finden Sie den Speicherort der angegebenen Datei. Zur Angabe von Dateinamen 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. Hierdurch ergibt sich auch ein wesentlicher Nachteil: locate kann keine Dateien finden, die nach der letzten Aktualisierung der Datenbank erstellt wurden. Die Datenbank wird mit updatedb aktualisiert. Dazu benötigen Sie allerdings Root-Berechtigungen.

find

Mit diesem Kommando 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.

grep

Mit dem Kommando grep 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. Zur Angabe von Dateinamen können Sie auch Platzhalter verwenden.

Beispiele für Suchen

Die KDE- und GNOME-Desktops speichern benutzerspezifische Anwendungsdaten in verborgenen Verzeichnissen, z. B. .kde und .gnome.

  1. Sie finden diese Verzeichnisse auf Ihrem Computer, indem Sie das Folgende eingeben:

    locate .kde

    wenn KDE-Desktop installiert ist, oder:

    locate .gnome

    wenn GNOME-Desktop installiert ist.

    Sie werden sehen, dass locate alle Dateinamen in der Datenbank anzeigt, die an beliebiger Stelle die Zeichenfolge .kde bzw. .gnome enthalten. Wie Sie dieses Verhalten ändern können, erfahren Sie auf der Manualpage für locate.

  2. Zum Durchsuchen Ihres Home-Verzeichnisses nach allen Instanzen von Dateien mit der Dateinamenserweiterung .txt geben Sie das Folgende ein:

    find ~ -name '*.txt' -print
  3. Zum Durchsuchen eines Verzeichnisses (in diesem Fall das Home-Verzeichnis) nach allen Instanzen von Dateien, die beispielsweise das Wort music enthalten, geben Sie das Folgende ein:

    grep music ~/*

    Beachten Sie, dass bei grep die Groß- und Kleinschreibung unterschieden wird, sofern die Verwendung nicht mit der Option -i erfolgt. Mit dem obigen Kommando finden Sie keine Dateien, die das Wort Music enthalten.

    Wenn Sie eine Suchzeichenfolge verwenden, die aus mehreren Wörtern besteht, umgeben Sie die Zeichenfolge mit doppelten Anführungszeichen, z. B.:

    grep "music is great" ~/*

Anzeigen von Textdateien

Wenn Sie den Inhalt einer Datei mit grep suchen, liefert das Ergebnis die Zeile, in der sich der searchstring (die Suchzeichenfolge) befindet, sowie den Dateinamen. Häufig genügt diese Kontextinformation nicht, um zu entscheiden, ob Sie diese Datei öffnen und bearbeiten möchten. Bash bietet mehrere Kommandos, die Ihnen einen schnellen Blick auf den Inhalt einer Textdatei direkt in der Shell gestatten, ohne einen Editor zu öffnen.

head

Mit head können Sie die ersten Zeilen einer Textdatei ansehen. Wenn Sie das Kommando nicht weiter spezifizieren, zeigt head die ersten zehn Zeilen einer Textdatei.

tail

Das Kommando tail ist das Gegenstück zu head. Wenn Sie tail ohne weitere Optionen benutzen, zeigt es die letzten zehn Zeilen einer Textdatei an. Dies kann sehr nützlich sein, um Protokolldateien Ihres Systems anzusehen, wobei sich die neuesten Meldungen oder Protokolleinträge gewöhnlich am Ende der Datei befinden.

less

Mit less zeigen Sie den ganzen Inhalt einer Textdatei an. Mit den Tasten Bild ↑ und Bild ↓ blättern Sie jeweils um eine halbe Seite. Mit Leertaste blättern Sie um eine Seite nach unten. Mit Pos 1 gelangen Sie an den Anfang und mit Ende an das Ende des Dokuments. Der Anzeigemodus wird mit der Taste Q beendet.

more

Statt less können Sie auch das ältere Programm more verwenden. Dies ist im Prinzip dieselbe Funktion, jedoch weniger praktisch, da Sie nicht zurückblättern können. Verwenden Sie Leertaste, um weiter zu blättern. Wenn Sie das Ende des Dokuments erreichen, wird der Viewer automatisch geschlossen.

cat

Dieses Kommando gibt den gesamten Inhalt einer Datei ohne Unterbrechung auf dem Bildschirm aus. Da cat keinen Bildlauf ermöglicht, ist es als Viewer nicht sehr nützlich, wird aber häufig in Kombination mit anderen Kommandos verwendet.

Umleitung und Pipes

Manchmal wäre es nützlich, die Ausgabe eines Kommandos zur weiteren Bearbeitung in eine Datei zu schreiben oder die Ausgabe eines Kommandos als Eingabe für das nächste Kommando zu verwenden. Die Shell bietet diese Funktion mithilfe von Umleitungen oder Pipes.

Normalerweise ist die Standardausgabe in der Shell der Bildschirm (oder ein geöffnetes Shell-Fenster) und die Standardeingabe erfolgt über die Tastatur. Mithilfe bestimmter Symbole können Sie die Eingabe bzw. Ausgabe an ein anderes Objekt, beispielsweise eine Datei oder ein anderes Kommando, umleiten.

Umadressierung

Mit > können Sie die Ausgabe eines Kommandos in eine Datei weiterleiten (Ausgabeumleitung). Mit < können Sie eine Datei als Eingabe für ein Kommando verwenden (Eingabeumleitung).

Pipe

Mithilfe eines Pipe-Symbols | können Sie zudem die Ausgabe umleiten. Mit einer Pipe können Sie mehrere Kommandos kombinieren, wobei die Ausgabe eines Kommandos als Eingabe für das nächste Kommando verwendet wird. Im Unterschied zu den anderen Umleitungssymbolen > und < ist die Verwendung der Pipe nicht auf Dateien beschränkt.

Beispiele für Umleitung und Pipe

  1. Sie schreiben die Ausgabe eines Kommandos wie ls in eine Datei, indem Sie Folgendes eingeben:

    ls -l > filelist.txt

    Dadurch wird eine Datei mit dem Namen filelist.txt erstellt, die eine Inhaltsliste des aktuellen Verzeichnisses enthält, welche Sie durch das Kommando ls erzeugt haben.

    Wenn jedoch bereits eine Datei mit dem Namen filelist.txt vorhanden ist, wird mit diesem Kommando die bestehende Datei überschrieben. Sie können dies mit >> anstelle von > verhindern. Wenn Sie Folgendes eingeben:

    ls -l >> filelist.txt 

    wird die Ausgabe des Kommandos ls einfach an eine bereits bestehende Datei mit dem Namen filelist.txt angehängt. Wenn die Datei nicht vorhanden ist, wird sie erstellt.

  2. Die Umleitung funktioniert auch umgekehrt. Anstelle einer Standardeingabe für ein Kommando auf der Tastatur können Sie eine Datei als Eingabe verwenden:

    sort < filelist.txt

    Dadurch wird das Kommando Sortieren gezwungen, die Eingabe aus dem Inhalt der Datei filelist.txt abzurufen. Das Ergebnis wird am Bildschirm angezeigt. Sie können das Ergebnis natürlich auch in eine andere Datei schreiben, indem Sie eine Kombination aus Umleitungen verwenden:

    sort  < filelist.txt > sorted_filelist.txt
  3. Wenn ein Kommando eine längere Ausgabe erzeugt, wie zum Beispiel ls -l, kann es nützlich sein, die Ausgabe an einen Viewer wie less weiterzuleiten, damit Sie durch die Seiten blättern können. Geben Sie dazu Folgendes ein:

    ls -l | less

    Die Inhaltsliste für das aktuelle Verzeichnis wird in less angezeigt.

    Die Pipe wird auch häufig in Kombination mit dem Kommando grep verwendet, um eine bestimmte Zeichenfolge in der Ausgabe eines anderen Kommandos zu suchen. Wenn Sie beispielsweise eine Liste von Dateien in einem Verzeichnis sehen möchten, dessen Eigentümer der Benutzer tux ist, geben Sie Folgendes ein:

    ls -l | grep tux

Starten von Programmen und Verarbeiten von Prozessen

Wie unter Abschnitt 7.7, „Bearbeiten von Texten“ erläutert, können Programme über die Shell gestartet werden. Anwendungen mit einer grafischen Bedienoberfläche benötigen das X Windows System und können nur von einem Terminalfenster in einer grafischen Bedienoberfläche gestartet werden. Wenn beispielsweise eine Datei namens vacation.pdf in Ihrem Home-Verzeichnis in KDE oder GNOME über ein Terminalfenster geöffnet werden soll, führen Sie einfach okular ~/vacation.pdf (oder evince ~/vacation.pdf) aus, um einen PDF-Viewer zur Anzeige Ihrer Datei zu starten.

Beim erneuten Blick auf das Terminalfenster fällt auf, dass die Kommandozeile gesperrt ist, solange der PDF-Viewer geöffnet ist, es gibt also keine Eingabeaufforderung. Wenn Sie dies ändern möchten, drücken Sie Strg+Z, um den Prozess auszusetzen, und geben Sie bg ein, um den Prozess in den Hintergrund zu verlagern. Jetzt können Sie vacation.pdf weiterhin betrachten und die Eingabeaufforderung ist für weitere Kommandos verfügbar. Noch einfacher lässt sich dies erreichen, wenn Sie den Prozess gleich beim Starten in den Hintergrund verlagern. Fügen Sie hierzu am Ende des Kommandos ein Kaufmanns-Und (&) an.

okular ~/vacation.pdf &

Wenn Sie mehrere Hintergrundprozesse (auch Aufträge genannt) über dieselbe Shell gestartet haben, erhalten Sie über das Kommando jobs einen Überblick über die Aufträge. Es wird auch die Auftragsnummer in Klammern sowie der jeweilige Status angezeigt:

tux@linux:~> jobs
[1]   Running        okular book.opensuse.startup-xep.pdf &
[2]-  Running        okular book.opensuse.reference-xep.pdf &
[3]+  Stopped        man jobs

Wenn ein Auftrag wieder im Vordergrund angezeigt werden soll, geben Sie fg job_number. ein.

Während mit job lediglich die über eine spezifische Shell gestarteten Hintergrundprozesse angezeigt werden, wird mit dem Kommando ps (bei Ausführung ohne Optionen) eine Liste all Ihrer Prozesse angezeigt, also all der Prozesse, die von Ihnen gestartet wurden. Hier ein Beispiel für eine Ausgabe:

tux@linux:~> ps
PID TTY          TIME CMD
15500 pts/1    00:00:00 bash
28214 pts/1    00:00:00 okular
30187 pts/1    00:00:00 kwrite
30280 pts/1    00:00:00 ps

Wenn ein Programm nicht normal beendet werden kann, verwenden Sie das Kommando kill, um den Prozess (bzw. die Prozesse) zu stoppen, die zu diesem Programm gehören. Geben Sie hierzu die Prozess-ID (PID) an, die aus der Ausgabe von ps hervorgeht. Geben Sie zum Beenden des KWrite-Editors im obigen Beispiel beispielsweise Folgendes ein:

kill 30187

Hiermit wird ein TERM-Signal gesendet, dass das Programm zum selbsttätigen Beenden anweist.

Alternative: Wenn es sich bei dem Programm oder Prozess, das/den Sie beenden möchten, um einen Hintergrundauftrag handelt, der zudem mithilfe des Kommandos jobs angezeigt werden kann, können Sie auch das Kommando kill in Kombination mit der Auftragsnummer verwenden, um diesen Prozess zu beenden. Wenn Sie den Auftrag mit einer Auftragsnummer kennzeichnen, muss der Nummer ein Prozentzeichen (%) vorangestellt werden:

kill %job_number

Falls kill nicht zum gewünschten Ergebnis führt – wie dies manchmal bei Programmen der Fall ist, die nicht mehr reagieren – versuchen Sie es hiermit:

kill -9 PID

Hiermit wird anstelle des KILL-Signals ein TERM-Signal gesendet, mit dem sich der Prozess in nahezu allen Fällen beenden lässt.

Dieser Abschnitt dient der Einführung in die grundlegendsten Kommandos zur Verarbeitung von Aufträgen und Prozessen. Eine Übersicht für Systemadministratoren finden Sie unter Abschnitt „Vorgänge“ (Kapitel 13, Dienstprogramme zur Systemüberwachung, ↑Referenz).

Wichtige Linux-Kommandos

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

Die man-Seiten werden direkt in der Shell angezeigt. Blättern Sie mit den Tasten Bild ↑ und Bild ↓ nach oben bzw. unten. Mit Pos 1 und Ende gelangen Sie an den Anfang bzw. das Ende eines Dokuments. und mit Q schließen Sie die man-Seiten. Weitere Informationen über das Kommando man erhalten Sie durch Eingabe von man man.

In der folgenden Übersicht sind die einzelnen Kommandoelemente durch verschiedene Schriften hervorgehoben. Das eigentliche Kommando und die erforderlichen Parameter werden in der Form Kommando 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.

Dateikommandos

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

Dateiverwaltung

ls[Optionen][Dateien]

Ohne Angabe von Parametern listet dieses Kommando 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 nicht durch rm 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 Gruppeneigentumsrechte 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 setzt sich aus drei Teilen zusammen: Gruppe, Zugriff und Zugriffstyp. Gruppe akzeptiert die folgenden Zeichen:

u

Benutzer

g

Gruppe

o

Andere

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

Der Zugriffstyp wird durch folgende Optionen gesteuert:

r

Finden Sie unter

w

Schreiben

x

Ausführen – Ausführen der Dateien oder Wechseln in das Verzeichnis

s

Setuid-Bit – Das Programm wird ausgeführt, 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

Dieses Kommando 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 das Kommando tar.

-d

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

tar Optionen Archiv Dateien

Dieses Kommando stellt eine oder mehrere Dateien mit oder ohne Komprimierung in einer Archivdatei zusammen. tar ist mit seinen zahlreichen Optionen ein recht komplexes Kommando. 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.

locate Schemata

Dieses Kommando 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 auchverwenden. 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). Hierdurch ergibt sich auch ein wesentlicher Nachteil: locate kann keine Dateien finden, die nach der letzten Aktualisierung der Datenbank erstellt wurden. Die Datenbank wird mit updatedb aktualisiert. Dazu benötigen Sie allerdings Root-Berechtigungen.

updatedb [Optionen]

Dieses Kommando führt eine Aktualisierung der von locate verwendeten Datenbank aus. Um die Dateien aller vorhandenen Verzeichnisse aufzunehmen, müssen Sie das Kommando als Root-Benutzer ausführen. Es empfiehlt sich, das Kommando mit einem Ampersand (&) im Hintergrund auszuführen (updatedb &). Sie können dann sofort mit der gleichen Kommandozeile weiterarbeiten. Normalerweise wird dieses Kommando als täglicher cron-Auftrag ausgeführt (siehe cron.daily).

find [Optionen]

Mit diesem Kommando 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.

Zugriff auf Dateiinhalte

Datei [Optionen][Dateien]

Mit file wird der Inhalt der angegebenen Dateien ermittelt.

-z

Versucht, den Inhalt komprimierter Dateien zu ermitteln.

cat [Optionen] Dateien

Dieses Kommando gibt den gesamten Inhalt einer Datei ohne Unterbrechung auf dem Bildschirm aus.

-n

Nummeriert die Ausgabe am linken Rand.

less [Options] Datei

Mit diesem Kommando 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 Kommando 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 entsprechenden Dateien an, 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

Dieses Kommando vergleicht den Inhalt zweier Dateien. Das Programm gibt alle nicht übereinstimmenden Zeilen aus. Es wird häufig von Programmierern verwendet, da sie dadurch nur Programmänderungen, nicht aber den gesamten Quellcode senden müssen.

-q

Meldet lediglich, ob sich die beiden Dateien unterscheiden.

-u

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

Dateisysteme

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

Mit diesem Kommando 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

Geben Sie 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 Kommando finden Sie auf der Manualpage mount(1).

umount [Optionen] Einhängepunkt

Mit diesem Kommando hängen Sie ein eingehängtes Laufwerk aus dem Dateisystem aus. Dies wird gelegentlich auch als "Unmounten" bezeichnet. Dieses Kommando sollten Sie nur aufrufen, bevor Sie den Datenträger aus dem Laufwerk entfernen. Andernfalls besteht die Gefahr eines Datenverlustes! Normalerweise können die Kommandos mount und umount nur vom Root-Benutzer ausgeführt werden. Wenn auch andere Benutzer Laufwerke ein- und aushängen können sollen, geben Sie in der Datei /etc/fstab für die betreffenden Laufwerke die Option user ein.

Systemkommandos

Im folgenden Abschnitt werden die wichtigsten Kommandos zum Abrufen von Systeminformationen, zur Steuerung von Prozessen und zur Kontrolle von Netzwerken vorgestellt.

Systemangaben

df [Optionen] [Verzeichnis]

Ohne Angabe von Optionen zeigt das Kommando df (Disk free) Informationen zu dem gesamten, dem belegten und dem 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 allgemein lesbarer 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 dieses Kommando 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]

Dieses Kommando zeigt den gesamten und den belegten Arbeits- und Swap-Speicher an. Weitere Informationen finden Sie unter Abschnitt „Der Befehl "free"“ (Kapitel 18, Spezielle Systemfunktionen, ↑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 Kommando auch ändern. Weitere Informationen zu diesem Kommando finden Sie auf der Manualpage "date(1)".

Prozesse

top [Optionen]

Dieses Kommando 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]

Wenn keine Optionen angegeben sind, zeigt dieses Kommando die von Ihnen gestarteten Programme und Prozesse in einer Tabelle an. Den Optionen dieses Kommandos 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 Kommando kill unter Angabe der betreffenden Prozess-ID beenden lassen (die IDs aller laufenden Prozesse ermitteln Sie mit den Kommandos 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

Dieses Kommando entspricht dem Kommando kill, akzeptiert aber statt der Prozess-ID den Prozessnamen als Argument. Das Kommando beendet alle Prozesse mit dem angegebenen Namen.

Netzwerk

ping [Optionen] Hostname_oder_IP-Adresse

ping ist ein Standardtool zum Testen der grundsätzlichen Funktionsfähigkeit von TCP/IP-Netzwerken. Das Kommando 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.

-cZahl

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.

-iWert

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

Host [Optionen] Hostname [Server]

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

ssh [Kommandos] [user@]hostname [Kommando]

Bei SSH handelt es sich um ein Internetprotokoll, mit dem Sie auf entfernten Hosts über ein Netzwerk arbeiten können. SSH ist außerdem der Name eines Linux-Programms, das dieses Protokoll verwendet, um Vorgänge auf entfernten Computern zu ermöglichen.

Sonstige

passwd [Optionen] [Benutzername]

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

su [Optionen] [Benutzername]

Mit diesem Kommando 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 das Kommando ohne Benutzernamen 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 Kommando halt herunter, startet es aber unmittelbar danach wieder.

clear

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

Weiterführende Informationen

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