Der Dateisystem-Hierarchiestandard gibt an, wo Linux-Distributionen Dateien ablegen sollen .
bin
Verzeichnisse enthalten ausführbare Dateien, die von jedem Benutzer verwendet werden sollen, während sbin
Verzeichnisse ausführbare Dateien enthalten, die nur vom Systemadministrator verwendet werden sollen. sbin
Verzeichnisse befinden sich normalerweise nur in Roots $PATH
.
/bin
(und /sbin
) enthalten Programme, die zu Beginn des Startvorgangs benötigt werden, da /usr
sie auf einer separaten Partition bereitgestellt werden können (obwohl dies heutzutage selten vorkommt).
/usr/bin
(und /usr/sbin
) Programme enthalten, die von der Distribution bereitgestellt werden und nicht in /bin
oder enthalten sind /sbin
. Auf einem typischen System befindet sich eine große Mehrheit der ausführbaren Dateien in /usr/bin
.
Die /usr/local
Hierarchie ist der Bereich des Administrators. Die Verzeichnisse /lib
, /bin
, /sbin
und /usr
werden in der Regel auf die Verteilung vorbehalten, und in der Regel nur enthalten Dateien vom System Paket - Manager zur Verfügung gestellt. /usr/local
(und insbesondere /usr/local/bin
und /usr/local/sbin
) bleiben vom Paketmanager unberührt, daher kann der lokale Administrator hier manuell installierte ausführbare Dateien platzieren.
/usr/games
kann ausführbare Dateien enthalten, die von der Distribution bereitgestellt werden und als rein freizeitorientiert gelten. Es ist größtenteils ein historisches Überleben (vor langer Zeit war /usr/games
es zu bestimmten Tageszeiten möglicherweise verboten , aber diese Art von Praxis - die ohnehin leicht zu umgehen war - ist abgeklungen).
Andere häufig verwendete ausführbare Speicherorte auf dem Linux-System sind:
/usr/X11R6/bin
oder /usr/bin/X11
für X-Programme. Die Praxis, X-Programme von Nicht-X-Programmen zu trennen, ist zum Erliegen gekommen. Heutzutage leben sie alle in /usr/bin
.
/usr/bin/mh
für ausführbare Dateien des MH-E-Mail-Clients , der E-Mails über Shell-Befehle show
für einen bestimmten Zweck manipuliert ( um eine Nachricht anzuzeigen, forw
eine E-Mail weiterzuleiten, ...). Nur MH-Benutzer würden /usr/bin/mh
ihre eingeben $PATH
.
/opt/bin
, falls vorhanden, würde symbolische Links zu Anwendungen enthalten, die in installiert sind /opt
.
Die Regeln für Linux sind von allgemeinen Richtlinien inspiriert, die von den meisten Unix-Systemen befolgt werden, aber jede Unix-Variante hat ihre eigenen Macken. Zum Beispiel:
- Auf * BSD
/
und /usr
enthalten nur den Kern der Distribution: Basisdienste und -anwendungen, die direkt von den Distributionsbetreuern verwaltet werden. Programme von Drittanbietern ("Pakete" oder "Ports") werden installiert /usr/local
, auch wenn sie von einem Paketmanager verwaltet werden. Es gibt keinen allgemein akzeptierten separaten Speicherort für Programme, die vom Systemadministrator bereitgestellt werden.
- Einige Unix-Systeme haben kein
/bin
Verzeichnis, es ist eine symbolische Verknüpfung zu /sbin
oder /usr/bin
.
- Einige Systeme verfügen möglicherweise über zusätzliche Verzeichnisse mit optionalem Paket, von denen jedes sein eigenes
bin
Verzeichnis in das Verzeichnis einfügt $PATH
.
- Einige Systeme können zusätzliche Verzeichnisse haben , die auf den nicht platziert werden können oder
$PATH
je nachdem , was die Ausführungsumgebung sollte kompatibel sein, zum Beispiel /usr/bin/posix
oder /usr/xpg4/bin
oder /usr/xpg6/bin
für die Kompatibilität mit POSIX / Single Unix, oder /usr/ucb
für die Kompatibilität mit Legacy - BSD - Systemen.
man hier
.