Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Was ist ein Befehl?

Wir haben bereits erwähnt, daß Unix eine enorme Anzahl an Befehlen kennt und daß Sie neue Befehle hinzufügen können. Dies unterscheidet Unix erheblich von anderen Betriebssystemen, die nur einen begrenzten Befehlssatz haben. Was sind also Unix-Befehle, und wie werden sie gespeichert? Unter Unix ist ein Befehl einfach eine Datei. Der Befehl ls zum Beispiel ist eine binäre Datei im Verzeichnis bin. Statt ls einzugeben, könnten Sie also auch den kompletten Pfadnamen eingeben (auch absoluter Pfadname genannt):

$ /bin/ls

Das verleiht Unix Flexibilität und macht es zu einem mächtigen Betriebssystem. Ein Systemverwalter, der ein neues Utility bereitstellen möchte, kann dieses einfach in einem der Verzeichnisse installieren, in denen Befehle stehen. Es lassen sich auch verschiedene Versionen eines Befehls installieren - etwa eine neue Version zu Testzwecken in einem bestimmten Verzeichnis, während die alte Version an einer anderen Stelle verbleibt. Die Benutzer können dann selbst entscheiden, mit welcher Version sie arbeiten möchten.

Hier ergibt sich häufig ein Problem: Manchmal geben Sie einen bekannten Befehl ein, aber das System antwortet mit einer Meldung wie »Not found«. Das Problem könnte darin liegen, daß der Befehl in einem Verzeichnis steht, das von der Shell nicht durchsucht wird. Man nennt die Liste aller Verzeichnisse, in denen die Shell nach Befehlen sucht, den Pfad (path). Mit folgendem Befehl können Sie Ihren Pfad anzeigen lassen (denken Sie an das Dollar-Zeichen!):

$ echo $PATH /usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/lib/java/bin:\ /usr/games:/usr/bin/TeX:.

Hier müssen Sie genau hinsehen. Die Anzeige stellt eine Reihe von Pfadnamen dar, die durch Doppelpunkte getrennt sind. Der erste Pfadname in diesem Fall ist /usr/local/bin, der zweite /usr/bin usw. Wenn zwei Versionen eines Befehls vorhanden sind, die in /usr/local/bin und /usr/bin stehen, wird der Befehl in /usr/ local/bin ausgeführt. Der letzte Pfadname in diesem Beispiel ist einfach ein Punkt; dieser bezeichnet das aktuelle Verzeichnis. Anders als DOS durchsucht Unix nicht automatisch das aktuelle Verzeichnis, sondern Sie müssen es ausdrücklich dazu anweisen - so wie wir es hier gezeigt haben. Manche Leute halten das aus Gründen der Systemsicherheit für eine schlechte Idee. (Ein Eindringling, der in Ihren Account vordringt, könnte ein bösartiges Programm in eines Ihrer Arbeitsverzeichnisse kopieren.) Das betrifft aber hauptsächlich den Systemverwalter; normale Benutzer müssen sich wenig Sorgen darum machen.

Wenn ein Befehl nicht gefunden wird, müssen Sie herausfinden, wo im System er sich befindet, damit Sie das betreffende Verzeichnis in Ihren Pfad einfügen können. Die Manpage sollte Ihnen sagen, wo der Befehl steht. Nehmen wir an, daß er sich im Verzeichnis /usr/sbin befindet, wo auch andere Befehle für die Systemverwaltung installiert sind. Ihnen ist klar, daß Sie Zugang zu den Befehlen für die Systemverwaltung brauchen, deshalb geben Sie folgendes ein (beachten Sie, daß das erste PATH ohne, das zweite dagegen mit einem Dollar-Zeichen geschrieben wird):

$ export PATH=$PATH:/usr/sbin

Dieser Befehl fügt /usr/sbin zum Suchpfad hinzu, und zwar als das Verzeichnis, das als letztes durchsucht wird. Der Befehl heißt soviel wie: »Definiere meinen Pfad als den alten Pfad plus /usr/sbin

Der eben vorgestellte Befehl funktioniert übrigens nicht in allen Shells. Die meisten Linux-Benutzer, die mit einer Bourne-kompatiblen Shell wie bash arbeiten, sollten keine Probleme damit haben. Wenn Sie allerdings csh oder tcsh benutzen, müssen Sie statt dessen diesen Befehl eingeben:

set path = ( $PATH /usr/sbin )

Abschließend wollen wir noch auf ein paar Befehle hinweisen, die nicht als eigenständige Programmdateien existieren. cd ist einer davon. Die meisten dieser Befehle wirken sich auf die Shell selbst aus und müssen deshalb von der Shell verstanden und ausgeführt werden. Weil sie ein Teil der Shell sind, nennt man sie »interne Befehle« (built-in commands).



vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag