Ich komme aus der Windows-Welt und habe festgestellt, dass die meisten Ordnerverzeichnisnamen sehr intuitiv sind:
\Program Files
Enthält Dateien, die von Programmen verwendet werden (Überraschung!)\Program Files (x86)
Enthält Dateien, die von 32-Bit-Programmen unter 64-Bit-Betriebssystemen verwendet werden\Users
(ehemalsDocuments and Settings
) enthält Benutzerdateien, dh Dokumente und Einstellungen\Users\USER\Application Data
enthält anwendungsspezifische Daten\Users\USER\Documents
Enthält Dokumente des Benutzers
\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 hätte, was diese Ordner taten, könnte ich anhand ihrer Namen genau raten.
Jetzt sehe ich mir Linux genauer an und bin ziemlich verwirrt darüber, wie ich mich im Dateisystem zurechtfinde.
Beispielsweise:
/bin
Enthält Binärdateien. Aber so tun/sbin
,/usr/bin
,/usr/sbin
, und wahrscheinlich mehr , dass ich weiß , über nicht. Welcher ist welcher?? Was ist der Unterschied zwischen ihnen? Wenn ich eine Binärdatei erstellen und systemweit ablegen möchte, wo soll ich sie ablegen?/media
enthält externe Mediendateisysteme. Aber das tut es auch/mnt
. Und keiner von ihnen enthält im Moment irgendetwas auf meinem System; alles scheint in zu sein/dev
. Was ist der Unterschied? Wo sind die anderen Partitionen auf meiner Festplatte, wie dasC:
undD:
das war in Windows?/home
enthält die Benutzerdateien und -einstellungen. So viel ist intuitiv, aber worauf soll es dann ankommen/usr
? Und warum/root
ist es immer noch getrennt, obwohl es ein Benutzer mit Dateien und Einstellungen ist?/lib
Enthält gemeinsam genutzte Bibliotheken wie DLLs. Aber das tut es auch/usr/lib
. Was ist der Unterschied?Was ist
/etc
? Steht es wirklich für "et cetera" oder für etwas anderes? Welche Arten von Dateien sollten dort abgelegt werden - global oder lokal? Ist es ein Allheilmittel für Dinge, von denen niemand wusste, wo sie abgelegt werden sollten, oder gibt es einen bestimmten Anwendungsfall dafür?Was ist
/opt
,/proc
und/var
? Wofür stehen sie und wofür werden sie verwendet? Ich habe so etwas in Windows * noch nicht gesehen und kann einfach nicht herausfinden, wofür sie geeignet sein könnten.
Wenn jemand an andere Standardorte denken kann, über die er gut Bescheid wissen könnte, kann er dies gerne der Frage hinzufügen. Hoffentlich kann dies eine gute Referenz für Leute wie mich sein, die anfangen, 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ß immer noch nicht, was diese unter Linux machen.
quelle
C:\Program Files
,C:\ProgramData
,%HOME%\AppData\Local
,%HOME%\AppData\LocalLow
,C:\Windows\SystemApps
... Alle Beispiele , in denen eine ausführbaren Dateien in Windows finden. Und ich werde nicht einmal über Konfigurationsdateien und die Registrierung sprechen, ich möchte nicht noch depressiver werden. PS: Ich arbeite hauptsächlich unter Windows.Antworten:
Linux-Distributionen verwenden die FHS: http://www.pathname.com/fhs/pub/fhs-2.3.html
Sie können es auch versuchen
man hier
.Ich werde versuchen, die Antworten auf Ihre Fragen auf den Kopf zu stellen, aber ich empfehle Ihnen nachdrücklich, die FHS durchzulesen:
Um auf ein System zuzugreifen, benötigen Sie im Allgemeinen nicht / var, / opt, / usr, / home; Einige der potenziell größten Verzeichnisse auf einem System.
Einer meiner Favoriten, den manche Leute nicht benutzen, ist / srv. Es ist für Daten gedacht, die über Dienste wie http / ftp / samba gehostet werden. Ich habe gesehen, dass / var viel dafür verwendet wird, was eigentlich nicht der Zweck ist.
quelle
/home/users/username
für Benutzer und/home/services/servicename
für das verwendet werden, wofür Sie dies erwähnen/src
. Ich denke, das funktioniert besser, da es vielseitiger zu partitionieren ist. Sie können es auf einer eigenen Partition haben oder dieselbe Partition und Ihre Benutzerdaten verwenden, was ich oft tun möchte.Ich werde nicht antworten, was sie alle bedeuten (andere haben), aber einen kleinen historischen Kontext geben.
Denken Sie zunächst daran, dass UNIX fast 40 Jahre alt ist, damals noch auf Papierbändern und mit 300 Baud fest codierten Terminals für Großrechner (Windows XP ist fast 10 Jahre alt). Das Tippen war langsam und das Bedürfnis nach Effizienz beim Tippen überwog viele andere Überlegungen. Dies ist der Grund für die sehr kurzen Grundbefehle (dh 'ls', 'cat', 'cc', 'dd' usw.). Gleiches galt für die Verzeichnisstrukturen. Der Gedanke war, dass der Name zu lang war, wenn der Befehl mehr als drei oder vier Zeichen umfasst.
Das Verzeichnis / usr enthielt ursprünglich die Home-Verzeichnisse des Benutzers, da sich die meisten Befehle in / bin befanden und sich alle Gerätedateien in / dev befanden. Später sollte das primäre Laufwerk (das Root-Dateisystem '/') für schnellere Startzeiten klein sein. So entstanden andere Strukturen wie / usr / bin, / usr / include und / usr / lib, wobei / usr ein separates "Laufwerk" war. Viel später wurde angenommen, dass sich die Home-Verzeichnisse der Benutzer in / home und noch auf einem anderen Laufwerk befänden. Und viel später, um ein / var (kurz für variabel / änderbar) zu haben. Das Verzeichnis / etc bedeutete "und so weiter", da dies der Sammelpunkt aller Systemkonfigurationsdateien war. Das / mnt wurde als temporärer Speicherort für den Zugriff auf ein Laufwerk (häufig ein Sicherungslaufwerk) verwendet. Verzeichnisse wie / opt, / proc und / media kamen viel später.
Es wird viel ausgelassen (wie / usr / local und / net), aber dies gibt eine kurze Beschreibung, warum die Namen weniger intuitiv sind.
quelle
Wie bereits erwähnt, verwenden Linux-Distributionen meistens das FHS. Hier finden Sie eine Tutorial-ähnliche Übersicht, die besonders für Windows-Benutzer geeignet ist.
Hinweis: Windows-Verzeichnisse wirken intuitiv und oberflächlich. Aber lassen Sie mich fragen, woher die Einstellungen für ein Programm stammen, als
*.ini
Datei im Programmordner, inDocuments and Settings\User
(\Application Data
oder\Local Settings\Application Data
) oder in der berüchtigten Registrierung? Niemand weiß es, nicht einmal Microsoft. Und so können wir weitermachen.quelle