Inhaltsverzeichnis
Zusammenfassung
Obwohl grafische Bedienoberflächen zunehmend wichtiger und benutzerfreundlicher geworden sind, sind sie nicht die einzige Kommunikationsmöglichkeit mit Ihrem System. Ein Kommandozeilen-Interpreter, in Unix/Linux als Shell bezeichnet, bietet ein höchst flexibles und effizientes Mittel zur textorientierten Kommunikation mit Ihrem System.
Gerade bei der Administration spielen Shell-basierte Anwendungen eine besonders große Rolle, wenn Sie zum Beispiel Computer über langsame Netzwerkverbindungen steuern müssen oder als Administrator Aufgaben von der Kommandozeile ausführen möchten.
In diesem Kapitel werden einige grundlegende Konzepte besprochen, die Sie kennen sollten, um die Kommandozeile effizient nutzen zu können. Sie erfahren hier mehr über die Verzeichnisstruktur und das Benutzer- und Berechtigungskonzept von Linux und Sie erhalten einen Überblick über die wichtigsten Shell-Kommandos sowie eine kurze Einleitung in den Editor vi, der unter Unix und Linux als Standardeditor immer zur Verfügung steht.
Für UNIX oder Linux sind mehrere Shells verfügbar, die sich geringfügig in ihrem Verhalten und den akzeptierten Befehlen unterscheiden. Die Standard-Shell in openSUSE ist Bash (GNU Bourne-Again Shell).
Wenn Sie an einer grafischen Bedienoberfläche angemeldet sind, können Sie eine (Anmelde-)Shell parallel zur Bedienoberfläche oder in einem Terminalfenster innerhalb der grafischen Bedienoberfläche starten. Drücken Sie Strg-Alt-F2, um die grafische Bedienoberfläche zu verlassen und auf eine Anmelde-Shell zuzugreifen. Nach der Anmeldung zeigt die Anmeldung Ihren Anmeldenamen gefolgt von @
und dem Hostnamen Ihres Computers an. Auf den Hostnamen folgt ein Doppelpunkt und der Pfad zum aktuellen Verzeichnis. Wenn Sie als Systemadministrator (root
) angemeldet sind, kennzeichnet Bash dies mit einem Nummernzeichen (#
). Direkt nach der Anmeldung ist gewöhnlich das aktuelle Verzeichnis das Home-Verzeichnis des Benutzerkontos, mit dem die Anmeldung erfolgte, und wird durch eine Tilde (~
) gekennzeichnet. Wenn Sie bei einem entfernten Computer angemeldet sind, zeigen die an der Eingabeaufforderung angegebenen Informationen immer an, auf welchem System Sie gerade arbeiten. Sie können nun Befehle eingeben und Aufgaben ausführen. Sie melden sich von der Shell ab, indem Sie exit eingeben und Alt-F7 drücken, um zurück zur grafischen Bedienoberfläche zu gelangen. Ihr Desktop und die darauf ausgeführten Anwendungen sind unverändert.
Sie starten ein Terminalfenster in der grafischen Bedienoberfläche von KDE oder GNOME, indem Sie Alt-F2 drücken und xterm eingeben (oder auf das Konsole- oder GNOME-Terminalsymbol in der Kontrollleiste klicken). Auf Ihrem Desktop wird ein Terminalfenster geöffnet. Da Sie bereits an Ihrem Desktop angemeldet sind, zeigt die Eingabeaufforderung die gewöhnliche Anmelde- und Pfadinformation. Sie können nun Befehle eingeben und Aufgaben ausführen wie in jeder beliebigen Shell, die parallel zu Ihrem Desktop ausgeführt wird. Um das Terminalfenster zu schließen, drücken Sie Alt-F4
Das Konsole-Fenster bzw. das GNOME-Terminalfenster wird geöffnet. Es enthält die Eingabeaufforderung (Prompt) in der ersten Zeile, wie in Abbildung 19.1, „Beispiel eines Bash-Terminalfensters“. Die Eingabeaufforderung zeigt normalerweise folgende Informationen an: Ihren Anmeldenamen (in diesem Fall tux
), den Hostnamen Ihres Rechners (hier knox
) und den aktuellen Pfad (in diesem Fall Ihr durch das Tilde-Symbol ~
gekennzeichnetes Home-Verzeichnis). Wenn Sie bei einem entfernten Computer angemeldet sind, zeigen diese Informationen immer an, auf welchem System Sie gerade arbeiten. Wenn sich der Cursor hinter diesen Angaben befindet, können Sie direkt Befehle eingeben und an das Computersystem senden.
Da die Shell keinen grafischen Überblick über die Verzeichnisse und Dateien bietet, wie beispielsweise eine Baumansicht in einem Dateimanager, ist es hilfreich, wenn Sie einige Grundkenntnisse zur Standardverzeichnisstruktur in Linux besitzen.
Die folgende Tabelle bietet eine kurze Übersicht über die wichtigsten Verzeichnisse der höheren Ebene auf einem Linux-System. Ausführlichere Informationen über die Verzeichnisse und wichtige Unterverzeichnisse erhalten Sie in der folgenden Liste.
Tabelle 19.1. Überblick über eine Standardverzeichnisstruktur
Verzeichnis |
Inhalt |
---|---|
Root-Verzeichnis – Startpunkt der Verzeichnisstruktur. | |
Grundlegende binäre Dateien, z. B. Befehle, die der Systemadministrator und normale Benutzer brauchen. Enthält gewöhnlich auch die Shells, z. B. Bash. | |
Statische Dateien des Bootloaders. | |
Erforderliche Dateien für den Zugriff auf Host-spezifische Geräte. | |
Host-spezifische Systemkonfigurationsdateien. | |
Enthält die Home-Verzeichnisse aller Benutzer, die ein Konto auf dem System haben. Nur das Home-Verzeichnis von | |
Grundlegende freigegebene Bibliotheken und Kernel-Module. | |
Einhängepunkte für Wechselmedien. | |
Einhängepunkt für das temporäre Einhängen eines Dateisystems. | |
Add-On-Anwendungssoftwarepakete. | |
Home-Verzeichnis für den Superuser | |
Grundlegende Systembinärdateien. | |
Daten für Dienste, die das System bereitstellt. | |
Temporäre Dateien. | |
Sekundäre Hierarchie mit Nur-Lese-Daten. | |
Variable Daten wie Protokolldateien. | |
Nur verfügbar, wenn sowohl Microsoft Windows* als auch Linux auf Ihrem System installiert ist. Enthält die Windows-Daten. |
Die folgende Liste bietet detailliertere Informationen und bietet einige Beispiele für die Dateien und Unterverzeichnisse, die in den Verzeichnissen gefunden werden können:
/bin
Enthält die grundlegenden Shell-Befehle, die root
und andere Benutzer verwenden können. Zu diesen Kommandos gehören ls, mkdir, cp, mv, rm und rmdir. /bin
enthält auch Bash, die Standard-Shell in openSUSE.
/boot
Enthält Daten, die zum Booten erforderlich sind, z. B. den Bootloader, den Kernel und andre Daten, die verwendet werden, bevor der Kernel mit der Ausführung von Programmen im Benutzermodus beginnt.
/dev
Enthält Gerätedateien, die Hardware-Komponenten darstellen.
/etc
Enthält lokale Konfigurationsdateien, die den Betrieb von Programmen wie das X Window System steuern können. Das Unterverzeichnis /etc/init.d
enthält Skripten, die während des Bootvorgangs ausgeführt werden.
/home/Benutzername
Enthält die privaten Daten aller Benutzer, die ein Konto auf dem System haben. Die Dateien, die hier gespeichert sind, können nur durch den Besitzer oder den Systemadministrator geändert werden. Standardmäßig befinden sich hier Ihr E-Mail-Verzeichnis und Ihre persönliche Desktopkonfiguration in Form von verborgenen Dateien und Verzeichnissen. KDE-Benutzer finden die persönlichen Konfigurationsdaten für den Desktop unter .kde
, GNOME-Benutzer unter .gconf
. Informationen zu verborgenen Dateien finden Sie unter Abschnitt „Wichtigste Merkmale“ (Kapitel 7, Grundlegende Konzepte, ↑Start).
![]() | Home-Verzeichnis in einer Netzwerkumgebung |
---|---|
Wenn Sie in einer Netzwerkumgebung arbeiten, kann Ihr Home-Verzeichnis einem von |
/lib
Enthält grundlegende freigegebene Bibliotheken, die zum Booten des Systems und zur Ausführung der Befehle im Root-Dateisystem erforderlich sind. Freigegebene Bibliotheken entsprechen in Windows DLL-Dateien.
/media
Enthält Einhängepunkte für Wechselmedien, z. B. CD-ROMs, USB-Sticks und Digitalkameras (sofern sie USB verwenden). Unter
/media sind beliebige Laufwerktypen gespeichert, mit Ausnahme der Festplatte Ihres Systems. Sobald Ihr Wechselmedium eingelegt bzw. mit dem System verbunden und eingehängt wurde, können Sie von hier darauf zugreifen.
/mnt
Dieses Verzeichnis bietet einen Einhängepunkt für ein temporär eingehängtes Dateisystem. root
kann hier Dateisysteme einhängen.
/opt
Reserviert für die Installation zusätzlicher Software. Hier finden Sie Software- und größere Addon-Programmpakete. KDE3 befindet sich hier, während KDE4 und GNOME nach /usr
verschoben wurden.
/root
Home-Verzeichnis für den Benutzer root
. Hier befinden sich persönliche Daten von "root
".
/sbin
Wie durch das s
angegeben, enthält dieses Verzeichnis Dienstprogramme für den Superuser. /sbin
enthält Binärdateien, die zusätzlich zu den Dateien in /bin
wesentlich für Booten und Wiederherstellen des Systems erforderlich sind.
/srv
Enhält Daten für Dienste, die das System bereitstellt, z. B. FTP und HTTP.
/tmp
Dieses Verzeichnis wird von Programmen benutzt, die eine temporäre Speicherung von Dateien verlangen.
/usr
/usr
hat nichts mit Benutzern ("user") zu tun, sondern ist das Akronym für UNIX-Systemressourcen. Die Daten in /usr
sind statische, schreibgeschützte Daten, die auf verschiedenen Hosts freigegeben sein können, die den Filesystem Hierarchy Standard (FHS) einhalten. Dieses Verzeichnis enthält alle Anwendungsprogramme und bildet eine sekundäre Hierarchie im Dateisystem. /usr
enthält eine Reihe von Unterverzeichnissen, z. B. /usr/bin
, /usr/sbin
, /usr/local
und /usr/share/doc
.
/usr/bin
Enthält Programme, die für den allgemeinen Zugriff verfügbar sind.
/usr/sbin
Enthält Programme, die für den Systemadministrator reserviert sind, z. B. Reparaturfunktionen.
/usr/local
In diesem Verzeichnis kann der Systemadministrator lokale, verteilungsunabhängige Erweiterungen installieren.
/usr/share/doc
Enthält verschiedene Dokumentationsdateien und die Versionshinweise für Ihr System. Im Unterverzeichnis manual
befindet sich eine Online-Version dieses Handbuchs. Wenn mehrere Sprachen installiert sind, kann dieses Verzeichnis die Handbücher für verschiedene Sprachen enthalten.
Im Verzeichnis packages
befindet sich die Dokumentation zu den auf Ihrem System installierten Software-Paketen. Für jedes Paket wird ein Unterverzeichnis /usr/share/doc/packages/
angelegt, das häufig README-Dateien für das Paket und manchmal Beispiele, Konfigurationsdateien oder zusätzliche Skripten umfasst.Paketname
Wenn HOWTOs (Verfahrensbeschreibungen) auf Ihrem System installiert sind, enhält /usr/share/doc
auch das Unterverzeichnis howto
mit zusätzlicher Dokumentation zu vielen Aufgaben bei Setup und Betrieb von Linux-Software.
/var
Während /usr
statische, schreibgeschützte Daten enthält, ist /var
für Daten, die während des Systembetriebs geschrieben werden und daher variabel sind, z. B. Protokolldateien oder Spooling-Daten. Beispielsweise befinden sich die Protokolldateien Ihres Systems in /var/log/messages
(nur für "root
" zugreifbar).
/windows
Nur verfügbar, wenn sowohl Microsoft Windows als auch Linux auf Ihrem System installiert ist. Enthält die Windows-Daten, die auf der Windows-Partition Ihres Systems verfügbar sind. Ob Sie die Daten in diesem Verzeichnis bearbeiten können, hängt vom Dateisystem ab, das Ihre Windows-Partition verwendet. Falls es sich um FAT32 handelt, können Sie die Dateien in diesem Verzeichnis öffnen und bearbeiten. In einem NTFS-Dateisystem können Sie jedoch Ihre Windows-Dateien nur von Linux aus lesen, aber nicht ändern. Weitere Informationen dazu finden Sie unter Abschnitt „Zugreifen auf Dateien auf verschiedenen Betriebssystemen am selben Computer“ (Kapitel 11, Kopieren und Freigeben von Dateien, ↑Start).