Product SiteDocumentation Site

Anhang B. Kurzer Förderkurs

Obwohl dieses Buch vor allem für Administratoren und „Power-User“ gedacht ist, möchten wir motivierte Einsteiger nicht ausschließen. Dieser Anhang enthält daher einen Schnellkurs, der die grundlegenden Konzepte beschreibt, die mit der Handhabung eines Unix-Rechners verbunden sind.

B.1. Shell und grundlegende Befehle

In der Unix-Welt wird jeder Administrator früher oder später die Befehlszeile verwenden müssen; zum Beispiel, wenn das System nicht korrekt startet und nur einen Rettungsmodus mit einer Befehlszeile bereitstellt. Mit einer derartigen Schnittstelle umgehen zu können, stellt daher unter solchen Umständen eine grundlegende Überlebensfertigkeit dar.
Dieses Kapitel gibt nur einen kurzen Überblick über die Befehle. Sie alle haben zahlreiche Optionen, bitte lesen Sie dazu auch die ausführliche Dokumentation auf ihren jeweiligen Handbuchseiten.

B.1.1. Den Verzeichnisbaum durchsuchen und Dateien verwalten

Sobald eine Sitzung gestartet ist, zeigt der Befehl pwd (das steht für print working directory) die derzeitige Position im Dateisystem an. Das aktuelle Verzeichnis kann mit dem Befehl cd verzeichnis (cd steht für change directory) gewechselt werden. Das übergeordnete Verzeichnis heißt immer .. (zwei Punkte), während das aktuelle Verzeichnis auch als . (ein Punkt) bekannt ist. Der Befehl ls (list) zeigt den Inhalt eines Verzeichnisses an. Wenn keine zusätzlichen Parameter angegeben werden, wird das aktuelle Verzeichnis angezeigt.
$ pwd
/home/rhertzog
$ cd Desktop
$ pwd
/home/rhertzog/Desktop
$ cd .
$ pwd
/home/rhertzog/Desktop
$ cd ..
$ pwd
/home/rhertzog
$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos
Ein neues Verzeichnis kann mit mkdir Verzeichnis erstellt und ein bestehendes (leeres) Verzeichnis mit rmdir Verzeichnis entfernt werden. Der Befehl mv (moving) ermöglicht es, Dateien und Verzeichnisse zu verschieben oder umzubenennen. Eine Datei wird mit rm Datei (remove) gelöscht.
$ mkdir test
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public    test
$ mv test new
$ ls
Desktop    Downloads  new       Public     Videos
Documents  Music      Pictures  Templates
$ rmdir new
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public

B.1.2. Textdateien anzeigen und verändern

Der Befehl cat datei (der dazu gedacht ist, Dateien auf seinem Standardausgabegerät zu verketten [= concatenate]) liest eine Datei und zeigt ihren Inhalt im Terminal an. Wenn die Datei zu groß ist, um auf den Bildschirm zu passen, kann man ein Seitenwechselprogramm wie less (oder more) benutzen, um sie Seite für Seite anzuzeigen.
Der Befehl editor startet einen Text-Editor (wie vi oder nano) und ermöglicht es, Textdateien zu erstellen, zu verändern und zu lesen. Sehr einfache Dateien können mitunter direkt im Befehlsinterpreter mithilfe einer Umleitung erstellt werden: echo „text“ >datei erstellt eine Datei namens datei mit dem Inhalt „text“. Mit einem Befehl wie echo „mehrText“ >>datei kann auch eine Zeile am Ende der Datei hinzugefügt werden. Bitte beachten Sie >> in diesem Beispiel.

B.1.3. Nach Dateien und in Dateien suchen

Der Befehl find verzeichnis kriterien sucht verschiedenen Kriterien entsprechend in der Verzeichnishierarchie unterhalb von verzeichnis nach Dateien. Das am häufigsten verwendete Kriterium ist -name name: mit ihm kann eine Datei namentlich gesucht werden.
Der Befehl grep ausdruck dateien durchsucht den Inhalt der Dateien und exzerpiert die Zeilen, die dem regulären Ausdruck entsprechen (siehe ZURÜCK ZU DEN GRUNDLAGEN Regulärer Ausdruck in der Seitenleiste). Das Hinzufügen der Option -r bewirkt eine rekursive Suche in allen Dateien des Verzeichnisses, das als Parameter angegeben wird. So ist es möglich, nach einer Datei zu suchen, wenn nur ein Teil ihres Inhalts bekannt ist.

B.1.4. Prozesse verwalten

Der Befehl ps aux listet die Prozesse auf, die gerade laufen, und hilft dabei, sie anhand ihrer pid (process id) zu identifizieren. Wenn die pid eines Prozesses bekannt ist, kann man ihm mit dem Befehl kill -signal pid ein Signal schicken (falls der Prozess dem aktuellen Benutzer gehört). Es gibt verschiedene Signale; am häufigsten werden TERM (eine höfliche Aufforderung aufzuhören) und KILL (ein erzwungener Abbruch) verwendet.
Der Befehlsinterpreter kann auch Programme im Hintergrund ausführen, wenn dem Befehl ein „&“ folgt. Durch Verwendung dieses Und-Zeichens übernimmt der Benutzer sofort wieder die Kontrolle über das Terminal, obwohl der Befehl noch läuft (vor dem Benutzer verborgen als Hintergrundprozess). Der Befehl jobs listet die im Hintergrund laufenden Prozesse auf; das Ausführen von fg %job-nummer (für foreground) stellt einen Job wieder im Vordergrund her. Wenn ein Befehl im Vordergrund läuft (weil er entweder normal gestartet wurde oder mit fg wieder in den Vordergrund gebracht wurde), hält die Tastenkombination Control+Z den Prozess an und stellt die Kontrolle über die Befehlszeile wieder her. Der Prozess kann dann im Hintergrund mit bg %job-nummer (für background) fortgesetzt werden.

B.1.5. Systeminformation: Speicher, Speicherplatz, Identität

Der Befehl free zeigt Informationen über den Speicher; df (disk free) meldet den verfügbaren Speicherplatz auf jeder im Dateisystem eingehängten Platte. Seine Option -h (für human readable) rechnet die Größen in eine leichter lesbare Einheit um (üblicherweise Mebibytes oder Gibibytes). In ähnlicher Weise unterstützt der Befehl free die Optionen -m und -g und zeigt seine Daten dementsprechend entweder in Mebibytes oder Gibibytes an.
$ free
              total        used        free      shared  buff/cache   available
Mem:       16279260     5910248      523432      871036     9845580     9128964
Swap:      16601084      240640    16360444
$ df
Filesystem                1K-blocks      Used Available Use% Mounted on
udev                        8108516         0   8108516   0% /dev
tmpfs                       1627928    161800   1466128  10% /run
/dev/mapper/vg_main-root  466644576 451332520  12919912  98% /
tmpfs                       8139628    146796   7992832   2% /dev/shm
tmpfs                          5120         4      5116   1% /run/lock
tmpfs                       8139628         0   8139628   0% /sys/fs/cgroup
/dev/sda1                    523248      1676    521572   1% /boot/efi
tmpfs                       1627924        88   1627836   1% /run/user/1000
Der Befehl id zeigt die Identität des Benutzers an, der die Sitzung ausführt, zusammen mit einer Liste der Gruppen, denen er angehört. Da der Zugriff auf einige Dateien oder Geräte auf Gruppenmitglieder beschränkt sein kann, kann es nützlich sein, die verfügbaren Gruppenmitgliedschaften zu überprüfen.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)