Bedeutung von Standard-Verzeichnisnamen
Bedeutung von Standard-Verzeichnisnamen
Im folgenden sollen die Standardpfade erläutert werden, die
auf jedem UNIX-System identisch sind. Die Bezeichnungen sind
historisch gewachsen und haben somit rein konventionellen
Wert, d.h. man kann oft aus den Verzeichnisnamen nicht deren
Sinn ableiten, man muß ihn lernen. Dieselben
Subverzeichnisse finden sich teils auch unter dem Root-Verzeichnis
aller Pakete,
d.h. unter /local/PACKAGE/bin finden sich die
Binaries usw.
Es folgt die prinzipielle Bedeutung der verwendeten Abkürzungen.
Eine genaue Aufstellung für die jeweiligen Betriebssysteme
erhält man mit man hier
(Hierarchie) und man filesystem
(nur Sun).
- bin (Binaries):
- hier liegen ausführbare Programme, auch genannt Binaries.
- core (Kern):
- In einer Datei namens core wird ein Abzug
des Speicherinhalts abgelegt, wenn ein Prozeß durch ein bösartiges
Signal beendet wird. Damit kann man feststellen,
in welchem Zustand der Prozeß war (z.B. mit einem
Debugger), und wo der Fehler lag. Der Name des
Prozesses kann z.B. mit dem file Kommando
ermittelt werden (derzeit nicht auf HP, wegen eines Bugs).
Ein Core-File braucht übrigens i.A. nicht so viel Speicher, wie die
Dateilänge vermuten ließe. SunOS kann Lochdateien anlegen, d.h.
es belegen nur die Blöcke einer Datei wirklich Speicher, die auch
beschrieben wurden. Im core wird der gesamte virtuelle Adressraum
eines Prozesses abgebildet, da jedoch meist nur ein geringer Teil
davon allokierten Speicher enthält, sind core-Files zum größten Teil
leer. Man kann das sehen, indem man sich mit dem -s Switch
von ls die Anzahl belegter 1kB-Blöcke ausgeben läßt.
Man probiere mkfile -n 10m test.
- dev (Device - Geräteschnittstelle):
- Unter /dev liegen die UNIX Gerätedateien für alle
angeschlossene Hardware wie Tastatur, Monitor, Festplatte usw.
- etc (Verschiedenes):
- hier liegen Konfigurationsparameter,
Startup Scripten und Verwaltungsprogramme (die nur
zur Administration benötigt werden)
- export:
- Hier liegen auf Fileservern Softwarepakete und andere Daten, die den
Clients per NFS zur Verfügung
gestellt werden.
- include (Includes):
- hier liegen Include Dateien für C Programme.
- local (lokal):
- Programme und Daten, die nicht auf jedem System
so vorhanden sind, d.h. nicht zum Standard gehören.
Normalerweise vorhanden als /usr/local, bei uns wegen der
großen Menge an Software als /local.
- lib (Library):
- Bibliotheken für den Linker
oder Datenbanken für die Programme.
- man (Manual):
- In diesem Verzeichnis liegen die Unterverzeichnisse
für die einzelnen Sektionen eines Manuals
mit den Namen man1 .. man8.
- mnt (Mount):
- Ein meist leeres Verzeichnis in /, das von der
Systemadinistration für temporäre
Mounts verwendet werden kann.
- pub (Public):
- Daten die der Allgemeinheit zugedacht sind, speziell vorhanden in
Verzeichnissen mit beschränkten Zugriffsrechten, z.B. Benutzerhomes.
- src (Source):
- Hier sind Sourcen
für ein oder mehrere Programmpakete zu finden.
- tmp (Temporary):
- Verzeichnis für Daten aller Art, die dort
nur kurzzeitig zwischengespeichert werden sollen und jederzeit
gelöscht werden können. Siehe auch
Regelungen zur
Benutzung von /tmp.
- usr (Unix Special Resources):
- Eigentlich nur vorhanden als /usr. Der Name hat heute keine
Bedeutung mehr, es ist traditionell der Mountpunt für die zweite
Plattenpartition, wo Software (Binaries, Bibliotheken, Manuals) aller
Art installiert ist. Verzeichnisse in / (z.B. /bin) sind
oft nur symbolic links nach
/usr (im Beispiel also /usr/bin), da man die
root-Partition nur für die elementarste Systemsoftware nutzen möchte.
- 5bin (System V Binaries):
- Unter SunOS liegen hier Programme, die abweichend vom SunOs das
Verhalten entsprechender Kommandos unter System-V besitzen. Dies betrifft
vor allem die Unterstützung von Kommandoparametern.