Freitag, 9. Februar 2007

Häufig benutzte Befehle

Häufig benutzte Befehle

Ein typisches Unix-System kennt so viele Befehle, daß man mit einer Beschreibung derselben mehrere hundert Seiten füllen kann. Außerdem haben Sie noch die Möglichkeit, eigene Befehle zu definieren. Wir wollen hier nur die Befehle vorstellen, mit denen Sie sich durch das System bewegen können, um es zu erkunden.
Verzeichnisse

Wie MS-DOS und praktisch jedes andere moderne Betriebssystem auch, organisiert Unix Dateien in einer hierarchischen Verzeichnisstruktur. Unix gibt dabei nicht vor, wo Dateien stehen müssen, aber im Laufe der Jahre haben sich bestimmte Konventionen herausgebildet. Sie werden zum Beispiel unter Linux ein Verzeichnis namens /home vorfinden, in dem die Dateien der Benutzer gespeichert sind. Jeder Benutzer hat ein Unterverzeichnis unter /home. Wenn Ihr Login-Name also mdw ist, stehen Ihre persönlichen Dateien im Verzeichnis /home/mdw. Dies wird Ihr Home-Verzeichnis genannt. Selbstverständlich können Sie in Ihrem Home-Verzeichnis weitere Unterverzeichnisse anlegen.

Wie Sie sehen, werden die Bestandteile eines Verzeichnisses durch Schrägstriche (Slashes) getrennt. Diese durch Schrägstriche getrennte Liste wird oft als Pfadname bezeichnet.

In welchem Verzeichnis befindet sich aber /home ? Natürlich im Verzeichnis /. Dies wird das Root-Verzeichnis genannt - wir haben es bei der Einrichtung der Dateisysteme bereits erwähnt.

Beim Einloggen bringt das System Sie in Ihr Home-Verzeichnis. Um das zu prüfen, geben Sie den Befehl »print working directory« (oder pwd) ein:


$ pwd
/home/mdw





Das System bestätigt, daß Sie sich in /home/mdw befinden.

Sie werden nicht lange Spaß daran haben, sich nur in einem Verzeichnis aufzuhalten. Versuchen Sie jetzt, mit dem Befehl cd in ein anderes Verzeichnis zu wechseln:


$ cd /usr/bin
$ pwd
/usr/bin
$ cd





Wo sind wir jetzt? Der Befehl cd ohne Argumente bringt uns in unser Home-Verzeichnis zurück. Übrigens wird das Home-Verzeichnis oft als Tilde (~) dargestellt. Die Angabe ~/programs bedeutet also, daß programs sich direkt unterhalb Ihres Home-Verzeichnisses befindet.

Wenn wir schon einmal dabei sind, könnten wir auch gleich ein Verzeichnis namens ~/programs anlegen. Geben Sie in Ihrem Home-Verzeichnis entweder


$ mkdir programs





ein oder den kompletten Pfadnamen:


$ mkdir /home/mdw/programs





Wechseln Sie jetzt in das neue Verzeichnis:


$ cd programs
$ pwd
/home/mdw/programs





Mit der Zeichenfolge .. wird das »unmittelbar übergeordnete Verzeichnis« angesprochen. Sie können also in Ihr Home-Verzeichnis zurückgelangen, indem Sie folgendes eingeben:


$ cd ..





Das Gegenstück zum Befehl mkdir ist rmdir, mit dem Sie Verzeichnisse entfernen:


$ rmdir programs





Icon

Kapitel 9


In ähnlicher Weise werden mit dem Befehl rm Dateien gelöscht. Wir wollen das hier nicht demonstrieren, weil wir noch nicht einmal gezeigt haben, wie man Dateien erzeugt. Im allgemeinen werden Sie dafür einen der Editoren vi oder Emacs benutzen (siehe Kapitel 9), aber auch einige der Befehle, die wir später in diesem Kapitel besprechen, erzeugen Dateien. Mit der r-Option löscht rm ein ganzes Verzeichnis und alles, was es enthält (mit Vorsicht zu genießen!).
Dateien auflisten

Mit ls erfahren Sie, was sich in einem Verzeichnis befindet. Ohne Argument wird der Inhalt des aktuellen Verzeichnisses ausgegeben. Durch die Angabe eines Arguments sehen Sie den Inhalt eines anderen Verzeichnisses:


$ ls /home





Einige Systeme benutzen einen schicken ls-Befehl, der besondere Dateien - etwa Verzeichnisse und ausführbare Dateien - in Fettdruck oder sogar in verschiedenen Farben anzeigt. Wenn Sie die voreingestellten Farben ändern möchten, editieren Sie die Datei /etc/DIR_COLORS, oder erzeugen Sie eine Kopie davon unter dem Namen .dir_colors in Ihrem Home-Verzeichnis, und editieren Sie diese.

Wie die meisten Unix-Befehle kann auch ls durch Optionen erweitert werden, die mit einem Bindestrich (-) eingeleitet werden. Achten Sie darauf, daß Sie vor dem Bindestrich eine Leerstelle lassen. Eine nützliche Option zu ls ist -a für »alles« - damit erfahren Sie Dinge, die Sie in Ihrem Home-Verzeichnis nie vermutet hätten:


$ cd
$ ls -a
. .bashrc .fvwm2rc
.. .emacs .xinitrc
.bash_history .exrc





Ein einzelner Punkt steht für das aktuelle Verzeichnis und zwei Punkte für das direkt darüberliegende. Aber wozu braucht man die anderen Dateien, deren Name mit einem Punkt beginnt? Es handelt sich um versteckte Dateien. Der Punkt am Anfang des Dateinamens bewirkt, daß diese Dateien mit dem einfachen Befehl ls nicht angezeigt werden können. Viele Programme benutzen versteckte Dateien für die Konfiguration durch den Benutzer - also Voreinstellungen, die Sie vielleicht einmal ändern möchten. Sie können zum Beispiel in der Datei .Xdefaults Befehle eintragen, die das Verhalten von Programmen unter dem X Window System beeinflussen. Sie werden diese Dateien die meiste Zeit nicht benötigen, Sie werden sie aber benutzen, wenn Sie Ihr System konfigurieren. Wir wollen weiter unten einige dieser Dateien vorstellen.

Eine andere nützliche Option zu ls ist -l für »lang«. Damit erhalten Sie zusätzliche Informationen über die Dateien. Abbildung 4-1 zeigt eine typische Ausgabe dieses Befehls und die Bedeutung der einzelnen Felder.

Screenshot

Abbildung 4-1: Ausgabe von ls -l

Wir werden die Felder Permissions, Owner und Group (Zugriffsrechte, Eigner und Gruppe) später in diesem Kapitel, im Abschnitt »Die Dateiberechtigungen«, besprechen. Der Befehl ls zeigt auch die Größe der Dateien sowie das Datum der letzten Änderung an.
Dateien anzeigen mit more oder less

Eine Möglichkeit, eine Datei anzuzeigen, ist das Starten eines Editors:


$ emacs .bashrc





Wenn Sie allerdings nur kurz in die Datei hineinschauen wollen, ohne den Inhalt zu ändern, sind andere Befehle geeigneter. Der einfachste davon hat den merkwürdigen Namen cat (der Name kommt von concatenate (aneinanderhängen), weil man damit auch mehrere Dateien aneinanderhängen kann):


$ cat .bashrc





Weil eine lange Datei so schnell über den Bildschirm wandert, daß ein Mitlesen nicht möglich ist, benutzen die meisten Leute statt dessen den Befehl more:


$ more .bashrc





Damit bekommen Sie jeweils eine Bildschirmseite voll Text angezeigt und müssen dann die Leertaste drücken, um die Anzeige fortzusetzen. more kennt eine ganze Reihe von mächtigen Optionen. So können Sie zum Beispiel in der Datei nach einem String suchen. Geben Sie dazu einen Schrägstrich (/) ein, dann den Suchstring, und drücken Sie abschließend die Eingabetaste.

Eine beliebte Variante von more ist der Befehl less. Er hat noch weitaus mächtigere Optionen, beispielsweise können Sie damit eine bestimmte Stelle in einer Datei markieren und später dorthin zurückspringen.
Symbolische Verknüpfungen

Manchmal empfiehlt es sich, eine Datei an einer bestimmten Stelle zu speichern, aber so zu tun, als sei es eine andere Datei. Dies wird meistens von Systemverwaltern angewendet, nicht von Benutzern. Eventuell möchten Sie mehrere Versionen eines Programms zur Verfügung haben, die dann prog.0.9, prog.1.1 usw. heißen. Die gerade benutzte Version des Programms soll immer prog heißen. Vielleicht haben Sie eine Datei auch in einer bestimmten Partition abgelegt, weil dort gerade Platz war, aber das Programm, das diese Datei benutzt, verlangt, daß sich die Datei an einer anderen Stelle befindet, weil der Pfadname fest im Programm steht.

Unix benutzt Links (Verknüpfungen, Verweise), um solche Situationen zu handhaben. In diesem Abschnitt werden wir die symbolic links (symbolische Verknüpfungen) vorstellen, die auch die am häufigsten benutzten und flexibelsten Links sind. Ein Symbolic Link ist so etwas wie eine Attrappe einer Datei, die nichts weiter tut, als auf eine andere Datei zu verweisen. Wenn Sie einen Symbolic Link zum Editieren, Lesen oder Ausführen aufrufen, wird das Betriebsystem dem Verweis folgen und Ihnen die tatsächlich existierende Datei präsentieren. Symbolische Verknüpfungen ähneln den Verknüpfungen von Windows 95/98, sind aber viel mächtiger.

Wir wollen das am Beispiel der Datei prog darstellen. Wenn Sie eine symbolische Verknüpfung prog mit der eigentlichen Datei namens prog.1.1 herstellen wollen, geben Sie folgendes ein:


$ ln -s prog.1.1 prog





Sie haben damit eine Datei mit dem Namen prog angelegt, die aber nur eine Attrappe (ein Verweis) ist - wenn Sie prog aufrufen, starten Sie in Wirklichkeit prog.1.1. Lassen Sie uns nachsehen, was ls -l uns zu dieser Datei mitteilt:


$ ls -l prog
lrwxrwxrwx 2 mdw users 8 Nov 17 14:35 prog -> prog.1.1





Das l am Anfang der Zeile zeigt an, daß prog ein Link ist, und der kleine Pfeil (->) verweist auf die eigentliche Datei.

Symbolische Links sind sehr einfach zu verstehen, wenn man sich einmal an die Vorstellung gewöhnt hat, daß eine Datei auf eine andere verweist. Bei der Installation von Software werden Ihnen ständig Links begegnen.

Keine Kommentare: