Aus der Windows-Welt kommend habe ich den Großteil des Ordners gefunden Verzeichnisnamen recht intuitiv zu sein:
-
\Program Files
enthält Dateien, die von Programmen verwendet werden (Überraschung!) -
\Program Files (x86)
enthält Dateien, die von 32-Bit-Programmen auf 64-Bit-Betriebssystemen verwendet werden -
\Users
(ehemalsDocuments and Settings
) enthält Benutzerdateien, d. h. Dokumente und Einstellungen-
\Users\USER\Application Data
enthält anwendungsspezifische Daten -
\Users\USER\Documents
enthält Dokumente, die dem Benutzer gehören
-
-
\Windows
enthält Dateien, die zum Betrieb von Windows selbst gehören-
\Windows\Fonts
speichert Schriftdateien (Überraschung!) -
\Windows\Temp
ist ein globales temporäres Verzeichnis
-
und so weiter. Selbst wenn ich keine Ahnung hatte, was diese Ordner taten, konnte ich anhand ihrer Namen ziemlich genau raten.
Jetzt schaue ich mir Linux genau an und bin ziemlich verwirrt darüber, wie ich mich im Dateisystem zurechtfinden soll.
Zum Beispiel:
-
/bin
enthält Binärdateien. Aber auch/sbin
,/usr/bin
,/usr/sbin
, und wahrscheinlich mehr, von denen ich nichts weiß. Welcher ist welcher?? Was ist der Unterschied zwischen ihnen? Wenn ich eine Binärdatei erstellen und sie irgendwo systemweit ablegen möchte, wo lege ich sie ab? -
/media
enthält externe Mediendateisysteme. Aber auch/mnt
. Und keiner von ihnen enthält im Moment etwas auf meinem System; alles scheint in/dev
zu sein . Was ist der Unterschied? Wo sind die anderen Partitionen auf meiner Festplatte, wieC:
undD:
die in Windows waren? -
/home
enthält die Benutzerdateien und -einstellungen. So viel ist intuitiv, aber was soll in/usr
rein ? Und wie kommt es zu/root
ist immer noch separat, obwohl es ein Benutzer mit Dateien und Einstellungen ist? -
/lib
enthält gemeinsam genutzte Bibliotheken wie DLLs. Aber auch/usr/lib
. Was ist der Unterschied? -
Was ist
/etc
? Steht es wirklich für „et cetera“ oder etwas anderes? Welche Arten von Dateien sollten dort hineingehen – global oder lokal? Ist es ein Sammelbecken für Dinge, von denen niemand wusste, wo es hingehört, oder gibt es einen bestimmten Anwendungsfall dafür? -
Was sind
/opt
,/proc
, und/var
? Wofür stehen sie und wofür werden sie verwendet? Ich habe so etwas noch nie in Windows* gesehen und kann einfach nicht herausfinden, wofür sie sein könnten.
Wenn jemand andere Standardorte findet, die es zu wissen lohnt, können Sie diese gerne der Frage hinzufügen. Hoffentlich kann dies eine gute Referenz für Leute wie mich sein, die beginnen, sich mit *nix-Systemen vertraut zu machen.
*OK, das ist eine Lüge. Ich habe ähnliche Dinge in WinObj gesehen, aber offensichtlich nicht regelmäßig. Ich weiß aber immer noch nicht, was diese unter Linux machen.
Akzeptierte Antwort:
Linux-Distributionen verwenden den FHS:http://www.pathname.com/fhs/pub/fhs-2.3.html
Sie können auch man hier
ausprobieren .
Ich werde versuchen, die Antworten auf Ihre Fragen spontan zusammenzufassen, aber ich empfehle Ihnen dringend, die FHS durchzulesen:
- /bin ist für Nicht-Superuser-Systembinärdateien
- /sbin ist für Superuser-(Root-)Systembinärdateien
- /usr/bin &/usr/sbin sind jeweils für unkritische freigegebene Nicht-Superuser- bzw. Superuser-Binärdateien
- /mnt dient zum vorübergehenden Mounten einer Partition
- /media dient zum gleichzeitigen Mounten vieler Wechselmedien
- /dev enthält Ihre Systemgerätedateien; das ist eine lange Geschichte 🙂
- Der /usr-Ordner und seine Unterordner können mit anderen Systemen geteilt werden, sodass sie Zugriff auf dieselben Programme/Dateien haben, die an einem Ort installiert sind. Da sich /usr normalerweise auf einem separaten Dateisystem befindet, enthält es keine Binärdateien, die erforderlich sind, um das System online zu bringen.
- /root ist separat, da es notwendig sein kann, das System online zu bringen, ohne andere Verzeichnisse zu mounten, die sich möglicherweise auf separaten Partitionen/Festplatten/Servern befinden
- Ja, /etc steht für „et cetera“. Dort werden Konfigurationsdateien für das lokale System gespeichert.
- /opt ist ein Ort, an dem Sie Programme installieren können, die Sie herunterladen/kompilieren. Auf diese Weise können Sie sie vom Rest des Systems getrennt halten, mit allen Dateien an einem Ort.
- /proc enthält Informationen über den Kernel und laufende Prozesse
- /var enthält Dateien unterschiedlicher Größe wie Protokolle, E-Mails, Webseiten usw.
Um auf ein System zuzugreifen, brauchen Sie im Allgemeinen nicht /var, /opt, /usr, /home; einige der potenziell größten Verzeichnisse auf einem System.
Einer meiner Favoriten, den einige Leute nicht verwenden, ist /srv. Es ist für Daten, die über Dienste wie http/ftp/samba gehostet werden. Ich habe oft gesehen, dass /var dafür verwendet wird, was nicht wirklich sein Zweck ist.