Linux-Dateisystem

3011
pufferfish

Was sind die Konventionen für Dateispeicherorte in Linux? Bisher habe ich es geschafft zu folgern:

/ proc (Verweise auf laufende Prozesse)

/ dev (Verweise auf alle Hardware)

/ etc (Konfigurationsdateien)

/ home (home)

/ mnt (gemountete Geräte)

/ media (austauschbare Geräte wie CDs, USB-Datenträger)

... aber andere Teile sind noch unklar, zum Beispiel:

Wo lege ich heruntergeladene Quelle ab?

/ usr / src

/ usr / local / src

Wo stelle ich kompilierte Programme ab?

/Behälter

/ usr / bin

/ usr / local / bin

Was ist der Unterschied zwischen / bin und / sbin ?

Wie unterscheiden sich die Distributionen?

Mir ist klar, dass dies keine einzige Frage ist, aber es scheint mir, dass sie alle zusammen beantwortet werden sollten. Hoffentlich sind auch andere verwirrt.

13

4 Antworten auf die Frage

14
Nikhil Chelliah

Sie möchten vielleicht den Filesystem Hierarchy Standard lesen . Es ist eine nützliche Referenz.

In Ihrem Heimatverzeichnis sollte das meiste davon sein. Stellen Sie sich vor, Sie sind nicht der Sysadmin. tun Sie so, als ob Sie noch eine Person mit einem Konto im System sind. In Ihrem Heimatverzeichnis /home/pufferfishkönnen Sie z. B. machen, was Sie möchten. /home/pufferfish/bin, /home/pufferfish/libund /home/pufferfish/srcsind alles konventionelle Entscheidungen, aber es spielt keine Rolle .

Stellen Sie für kompilierte Programme unabhängig davon, welche Verzeichnisse / Verzeichnisse Sie verwenden, sicher, dass sich diese auf dem PFAD befinden, damit Sie sie tatsächlich ausführen können, ohne den gesamten Pfad des Skripts oder der ausführbaren Datei einzugeben.

Die Distributionen unterscheiden sich nicht wirklich. Ich habe festgestellt, dass der Paket-Manager auf einem möglicherweise Binärdateien installiert /usr/bin, während einige Bibliotheken an einen anderen Ort gehen und ein anderes System möglicherweise an einem anderen Ort installiert wird. Im Allgemeinen muss ich einige Nachforschungen anstellen, um herauszufinden, wohin die Dinge jedes Mal gehen.

6
Mark Turner

Es ist einfach so, dass es in der Unix-ähnlichen Betriebssystemwelt einen Standard gibt, den Filesystem Hierarchy Standard, der die Best Practices erläutert, die die meisten Unix-Anbieter befolgen. Es ist eine gute Lektüre und lohnt einen Besuch, wenn Sie viel Zeit in * nix-Umgebungen verbringen.

Dateisystemhierarchie-Standard

Antworten auf Ihre Fragen:

Sowohl / usr / src als auch / usr / local / src funktionieren. Deine Entscheidung. Einfach halten ist konsistent.

/ bin ist für die erforderlichen Befehle für Benutzer. Ich würde dort keine benutzerdefinierten Binärdateien ablegen.

/ sbin ist für System-Binaries (normalerweise sysadmin-Sachen). Es enthält Sachen zum Booten und fs-Utils.

/ usr / bin ist der Ort, an dem sich die meisten Benutzerbefehle befinden, und Sie werden normalerweise feststellen, dass die meisten Linux-Paketverwaltungssysteme Binärdateien oder zumindest Symlinks zu Binärdateien hier ablegen.

/ usr / local / bin ist ein sicherer Ort, an dem Sie Ihren eigenen kompilierten Code angeben können, der für diesen Computer eindeutig ist.

6
n00ki3

Vielleicht sollten Sie sich diese anschauen:

Alt-Text

Alt-Text

3
Tadeusz A. Kadłubowski

/ usr / local / ist für Software, die auf diesem System kompiliert wurde. Es ist ähnlich wie / usr /, nur dass es nicht aus Paketen installiert wurde.

/ sbin / vs / bin / (und / usr / sbin / vs / usr / bin): s steht für Superuser. Programme, die normale Benutzer nicht interessieren sollten und häufig keine Berechtigung zum Ausführen haben