Next: 4.5 Arbeiten mit Dateien
Up: 4. Die Shell I
Previous: 4.3.7 rmdir
4.4 Der Linux-Verzeichnisbaum
Den Linux-Verzeichnisbaum gibt es eigentlich nicht. Jede Distribution hat eine individuellen Verzeichnishierachie für sich entwickelt. Allerdings gibt es einige Verzeichnisse, die eigentlich überall vorhanden sein sollten. Als Leitlinie für den Baum gilt der sogenannte Dateisystemstandard
FSSTND (Abkürzung für
File System STaNdarD). Dieser wird auch als
Filesystem Hierarchy Standard (kurz
FHS) bezeichnet.
Eine Übersicht über die wichtigsten Verzeichnisse liefert Abbildung
4.1.
Abbildung 4.1:
Der Linux-Dateibaum
|
- /
- Dies ist Basis des Verzeichnisbaums und wird als Wurzel oder auch als root bezeichnet. Das Verzeichnis ist das Elternverzeichnis für alle anderen Verzeichnisse. Die folgenden Verzeichnisse müssen nach dem FSSTND als Hard- oder Softlink vorhanden sein: /bin, /boot, /dev, /etc, /lib, /mnt, /opt, /sbin, /tmp, /usr und /var. Die Verzeichnisse /home und /root sind optional, sollten aber vorhanden sein, wenn das passende
Untersystem installiert ist.
- /bin
- Dieses Verzeichnis enthält diverse wichtige Kommandos, die für den Systemadministrator und für normale Benutzer wichtig sind. Dieses Verzeichnis darf nach FSSTND keine Unterverzeichnisse enthalten und folgenden Programme sollten enthalten sein.
cat (4.5.2),
chgrp (9.2.2),
chmod (9.2.3),
chown (9.2.1),
cp (4.5.3),
date (4.6.3),
dd (4.5.4),
df (10.8.2),
dmesg (12.1.3),
echo (4.6.5),
false (8.2.3),
hostname (18.2.4),
kill (12.9.7),
ln (10.7.3),
login (),
ls (4.3.3),
mkdir (4.3.6),
mknod (),
more (4.5.9),
mount (10.3.1),
mv (4.5.6),
ps (12.8.1),
pwd (4.3.1),
rm (4.5.7),
rmdir (4.3.7),
sed (7.7.6),
sh (8.6.3),
stty (5.1.3),
su (8.1.2),
sync (10.3.4),
true (8.2.3),
umount (10.3.3) und
uname (14.4.1).
- /boot
- Enthält den Kernel und für das Booten wichtige Dateien.
- /dev
- Das Verzeichnis für die Gerätedateien.
- /etc
- Konfigurations- und Informationsdateien, darunter magic, DIR_COLORS, input_rc u. v. m.
- /etc/rc.d
- Enthält die für den Bootvorgang wichtigen Skripte und die rc-Verzeichnisse.
- /etc/skel
- Aus diesem Verzeichnis werden die Konfigurationsdateien (skeleton user files) für einen neuen Benutzer in dessen Heimatverzeichnis kopiert.
- /etc/X11
- Die Konfigurationsdateien des X-Window-Systems liegen hier.
- /home
- beherbergt die Heimatverzeichnisse, in denen normalerweise keine Rechte die Arbeit des Benutzers einschränken. Es ist somit für den normalen Benutzer von existentieller Bedeutung. In größeren LINUX-Systemen sollte für dieses Verzeichnis entsprechender Platzbedarf einkalkuliert werden, da hier die Benutzerdaten abgelegt werden. Häufig wird es dann auf einen Extra-Datenträger ausgelagert, der beim Systemstart separat gemountet wird.
- /lib
- Hier findet man die Bibliothek des C-Compilers, sowie sogenannte Shared Libraries, Programmbibliotheken (vereinfacht gesagt Programmteile), die von verschiedenen Anwendungen benutzt werden können. Diese Programmteile werden erst zur Laufzeit in den Arbeitsspeicher geladen, wenn das betreffende Programm sie benötigt. Dadurch und durch die Tatsache, daß verschiedene Programm darauf zugreifen können (shared) wird der Arbeitsspeicher wesentlich entlastet. Sind Sie Windows-Benutzer kennen Sie sicherlich .DLL-Dateien. Diese werden unter Windows entsprechend genutzt.
- /Lost+found
- Dieses Verzeichnis wird für wiederhergestellte Dateien verwendet.
- /mnt
- Hilfsverzeichnis zur Aufnahme von Dateisystemen, die in den LINUX-Verzeichnisbaum gemountet werden sollen.
- /proc
- ist ein virtuelles Dateisystem für Informationen über die laufenden Prozesse. Der Befehl ps (process status) liefert seine Angaben auf der Basis des Inhalts dieses Verzeichnisses. Jeder Prozeß erhält ein eigenes Unterverzeichnis in dem die Informationen über Ihn gespeichert werden.
- /root
- ist das Heimatverzeichnis der Superusers (root).
- /sbin
- Hier liegen die Befehle zur Systemverwaltung wie adduser, mit dessen Hilfe neue Benutzer definiert werden, fsck zur Überprüfung von Dateisystemen oder shutdown, mit dem das System heruntergefahren werden kann. Programme für Systemstart wie init, mit dem diverse Systemdienste (z. B. Drucker- und Zeitdienste) initiiert werden, darunter auch getty (ebenfalls in /sbin zu finden). Über getty erfolgt das Anmelden an der Konsole oder an Terminals, die via serieller Leitung mit dem LINUX-Rechner verbunden sind.
- /tmp
- Verzeichnis zum Zwischenlagern von Dateien. Hier darf jeder schreiben und lesen.
- /usr
- Enthält alle wichtigen Programme und Daten wie etwas das Online-Manual, die nicht zum Booten des Systems benötigt werden. Es kann ein Verzeichnis sein, das sich physikalisch auf einem anderen Datenträger befindet als das Bootmedium, auf einer CD-ROM etwa oder an einem entfernten NFS-Server. In dieser Situation müßte dieser Teil des Dateisystems nach dem Booten erst verfügbar gemacht werden. Für den Fall, daß es dabei zu Problemen kommen sollte, stehen die allernötigsten Befehle in verschiedenen anderen Verzeichnissen, z. B. /bin, zur Verfügung.
- /usr/bin
- enthält die Befehle, die allen Teilnehmern zur Verfügung stehen sollten. Ein Teil dieser Benutzer-Befehle befindet sich aus den oben genannten Gründen (vgl. Eintrag bei /usr) in /bin.
- /usr/local
- wird für Programme verwendet, die nicht Bestandteil des Betriebssystems sind, wie z. B. das Dokumentenverzeichnis für den Webserver.
- /usr/local/bin
- Hier werden die Binärdateien von diesen Programmen gespeichert. Dieses Verzeichnis sollte im Suchpfad des Benutzers enthalten sein.
- /usr/local/sbin
- ist für lokal installierte Administrationstools zuständig.
- /usr/include
- enthält die Standard-C/C++-Header-Dateien.
- /usr/lib
- Die statischen Programmbibliotheken sowie die Unterverzeichnisse für Bibliotheken verschiedener Programmiersprachen sind hier zu finden. Enthält auch Links zu X-Window-Dateien.
- /usr/man
- ist eins der Verzeichnisse für das Online-Manual. Eine unerschöpfliche Informationsquelle für den Benutzer.
- /usr/sbin
- Analog zu /usr/bin gibt es dieses Verzeichnis für den Superuser (root).
- /usr/src
- enthält die Quellcodes für die Systemprogramme.
- /usr/src/linux
- In diesem Unterverzeichnis ist der Quellcode des Systemkerns zu finden.
- /usr/X11R6
- Enthält Dateien für das X-Window-System. Oft auch nur ein Link auf ein anderes Verzeichnis.
- /var
- Informationsdateien für das System sind hier abgelegt. Dies sind Tabellen, die von LINUX laufend verändert werden, z. B. die Dateien utmp und wtmp, die Informationen über die eingeloggten Benutzer enthalten. (Standard-UNIX: Die Tabellen befinden sich zum größten Teil in /etc.)
- /var/tmp
- ist das Ziel der temporären Dateien, die von Anwendungen aus verschiedenen Gründen während eines Programmlaufs angelegt und verändert, zum Programmende aber wieder gelöscht werden. Editoren oder Textverarbeitungen speichern unter Umständen den vom Anwender geschriebenen Text zur Sicherheit in einer temporären Datei. Temporäre Dateien sind kurzlebig und ständiger Änderung unterworfen. Sie sind ein sprechendes Beispiel für die allgemeine Bedeutung des Verzeichnisses /var.
- /var/spool
- ist der Ort der Warteschlangen (Queues) diverser Spoolprogramme. Dies sind Programme, die im Hintergrund arbeitend Aufträge der verschiedenen Benutzer entgegennehmen und in einer vernünftigen Reihenfolge abwickeln. Da mehrere Benutzer (beinahe) gleichzeitig z. B. einen Druckauftrag an den Druckspooler geben können, sprich drucken wollen, muß dieser dafür sorgen, daß die einzelnen Aufträge sich nicht vermischen und etwa am Drucker zwei Texte zu einem - bunt gemischten - werden. als Hilfsmittel dienen ihnen Warteschlangen, in die die einzelnen Aufträge nacheinander eingereiht und (nach dem Wirkungsprinzip einer FIFO) nach und nach abgearbeitet werden.
- /var/spool/lpd
- Warteschlangen des Druckerspoolers
- /var/spool/mail
- Warteschlange für die elektronische Post
- /var/spool/uucp
- Warteschlange für den Kommunikationsdienst uucp (unix-to-unix-copy)
- /var/spool/cron
- ist für die Abwicklung von Zeitdiensten über den cron-Dämonenprozeß wichtig, der in regelmäßigen Abständen Tabellen in /var/spool/crontabs daraufhin überprüft, ob sie Anweisungen enthalten, die zum gegenwärtigen Zeitpunkt auszuführen sind.
Next: 4.5 Arbeiten mit Dateien
Up: 4. Die Shell I
Previous: 4.3.7 rmdir