Frage Bedeutung von Verzeichnissen auf Unix- und Unix-ähnlichen Systemen


Ich benutze Linux seit ein paar Jahren, aber ich habe immer noch nicht herausgefunden, was der Ursprung oder die Bedeutung einiger Verzeichnisnamen auf Unix- und Unix-ähnlichen Systemen ist. Z.B. was macht etc stehen für oder var? Wo kommt die opt Name herkommen?

Und dabei sind wir sowieso schon am Thema. Kann jemand eine klare Erklärung geben, welches Verzeichnis am besten für was verwendet wird? Ich bin manchmal verwirrt, wo eine bestimmte Software installiert ist oder in welchem ​​Verzeichnis die Software am besten installiert ist.


92
2018-06-12 05:11


Ursprung


Lustige Sache, dass Unix eine Parodie auf Multics ist und derjenige ist, der überlebt ... Ich denke Multics war seiner Zeit weit voraus. - SparK


Antworten:


Weitere Informationen zum Layout von Linux-Dateisystemen finden Sie unter Dateisystemhierarchie Standard (jetzt in Version 2.3, mit dem Beta 3.0 Version auf den neuesten Distributionen bereitgestellt). Es erklärt einige von wo die Namen herkamen:

  • /Behälter - BehälterWidder.
  • /Stiefel - Dateien benötigt für StiefelIng.
  • / dev - EntwicklerEis-Dateien.
  • /usw - Uswctera. Der Name wird von den frühesten Unixen übernommen, als es zum Ort wurde, um Konfigurationsdateien zu speichern.
  • /Zuhause - Woher Zuhause Verzeichnisse werden beibehalten.
  • / lib - Wo Code libRaries werden behalten.
  • /Medien - Ein moderneres Verzeichnis, aber wo entfernbar Medien wird montiert.
  • / mnt - Wo temporäre Dateisysteme sind mounted.
  • / opt - Woher optZusatzsoftware installiert ist. Dies ist diskret von /usr/local/ Aus Gründen komme ich später dazu.
  • /Lauf - Woher LaufZeitvariable Daten werden beibehalten.
  • / sbin - Woher sOber-BehälterWidder sind Geschäfte. Diese arbeiten normalerweise nur mit root.
  • / usr - Ein anderes Verzeichnis, das von den alten Unixen geerbt wurde, es steht für "user". Dieses Verzeichnis sollte zwischen Hosts gemeinsam genutzt werden können, und NFS kann sicher auf mehreren Hosts gemountet sein. Es kann schreibgeschützt montiert werden. Auch nach Debian-Wiki, / usr ist UNIX SSystem Resources.
  • / var - Ein anderes Verzeichnis, das von den Unixen von altem geerbt wurde, es steht für "var"Hier können Systemdaten, die sich unterscheiden, gespeichert werden. Solche Dinge wie Spool- und Cache-Verzeichnisse können sich hier befinden. Wenn ein Programm in das lokale Dateisystem schreiben muss und diese Daten nicht direkt an jemanden liefert, dann ist es auch möglich Ich werde hier hingehen.
  • / srv - Steht für "serve ". Dieses Verzeichnis ist für statische Dateien vorgesehen, die ausgegeben werden. /srv/http wäre für statische Websites, /srv/ftp für einen FTP-Server.

/ opt vs / usr / lokal

Die Faustregel, die ich gesehen habe, lässt sich am besten wie folgt beschreiben:

Benutzen /usr/local für Dinge, die normalerweise passieren würden /usr, oder sind übergeordnete Dinge, die bereits drin sind /usr. Benutzen /opt für Dinge, die alle in einem Verzeichnis installieren oder sonst etwas Besonderes sind.


111
2018-06-12 05:16



Das Dokument beantwortet die erste Hälfte meiner Frage sehr gut. Woher die Namen stammen, ist jedoch noch immer ein Rätsel. Der Grund, den ich gerne wissen möchte, ist, weil ich denke, dass es mir mehr Kontext geben wird. - Luke
Die Benennung ist nahezu selbsterklärend. Vor allem, wenn Sie die Beschreibungen in diesem Link lesen. - Dan Carley
Nein ist es nicht. Es erklärt, wofür 'etc' verwendet wird, erklärt aber nicht, woher der Name kommt oder wofür er steht. - Luke
@ sysadmin1138, also /run bezieht sich grundsätzlich auf den RAM? - Pacerier
@Pacerier Es ist ein Dateisystem, kann aber sicher als RAM-Disk gemountet werden. Das heißt, viele Programme nehmen dort eine festgelegte Struktur an, erfordern also tatsächlich Persistenz. - sysadmin1138♦


Historisch, /etc steht für "etcetera" und /var ist kurz für "Variable". Ich nehme an, das erste ist, weil eine große Sammlung von nicht zusammenhängenden Systemkonfigurationsdateien hineingeht /etc. Letzteres liegt daran, dass die Dateien in /var werden sich voraussichtlich ändern. Sie können oft mount /usr und / als schreibgeschützt (außer beim Ausführen von Updates), aber Sie können niemals mounten /var schreibgeschützt. Es enthält Systemprotokolldateien, Sperrdateien, Spooldateien und andere Dinge, die sich dynamisch ändern.

Andere Leute haben Ihnen Hinweise gegeben, die Ihnen helfen herauszufinden, was am besten wohin geht.


20
2018-06-12 05:29





Es tut mir leid, einen alten Thread wieder auferstehen zu lassen, aber ich denke, dieses Detail ist eine wichtige Klarstellung für alle zukünftigen Sucher dieser Informationen:

  • / opt steht für optional (wie in optionalen Add-on-Paketen).
  • /Behälter steht für binary (enthält ausführbare Dateien, die vom Betriebssystem verwendet werden).
  • / lib steht für library (enthält vom Dateisystem genutzte shared libraries und zum Booten, wird wahrscheinlich von den ausführbaren Dateien in bin verwendet)
  • / proc steht für Prozesse.
  • /Wurzel bedeutet Root-Benutzer.
  • /Zuhause Enthält die Home-Unterverzeichnisse für Benutzer ohne Rootberechtigung.
  • / dev steht für Gerät (hält spezielle und Gerätedateien).
  • / tmp steht für vorübergehend.
  • / srv steht für dienen.
  • / mnt steht für mount point (mount ein temporäres Dateisystem hier).
  • /umfassen enthält # include-Dateien, d. h. Header-Dateien (z.B. stdio.h).
  • / var steht für Variable
  • /usw steht für etcetera

  • / usr steht für Unix-Systemressourcen (Quelle)


19
2018-06-05 17:13



Schöne Antwort: Prägnant, auf die Ebene der Frage gerichtet, und keine Notwendigkeit, andere Links nachzuschlagen. +1 - Scott Biggs
Ich habe Srv vorher nicht gesehen. Ich bevorzuge Konvention über Konfiguration, solange es Sinn macht und durchgesetzt wird. Offensichtlich liefert Apache nicht immer Dateien aus dem Verzeichnis / srv. - user148298


Versuche dies:

$ man hier

15
2018-06-23 18:18



Schön. Wie in dem Dokument, auf das in anderen Antworten verwiesen wird, wird auf dieser Manpage jedoch nur erläutert, wofür die Verzeichnisse verwendet werden. Ich bin auch daran interessiert, warum bestimmte Namen gewählt wurden, wie / etc, z.B. - Luke
Die Antwort auf Ihre Frage zu / etc ist hier: en.wikipedia.org/wiki/Filesystem_Hierarchie_Standard - Anonymous


Der beste Ort dafür ist der Dateisystem-Hierarchie-Standard (FHS). Die neueste Version ist 2.3 verfügbar unter: http://www.pathname.com/fhs/pub/fhs--2.3.html.


5
2018-06-12 05:16





/usr heißt eigentlich Unix-Systemressourcen

Quelle:: https://wiki.debian.org/FilesystemHierarchieStandard


2
2018-05-17 17:58





Wenn Sie mehrere Varianten von Unix-Betriebssystemen beobachten, dann werden Sie einige Unterschiede in den Verzeichnisnamen finden, aber die meisten allgemeinen sind unten erklärt ...

/ bin steht für binary (enthält binäre Dateien und enthält auch Befehle, die meist von Benutzern verwendet werden. Es ist auch der Standardpfad für die Befehlsausführung).

/ sbin (enthält die speziellen Befehle, die normalerweise vom Super-User ausgelöst werden)

/ lib steht für library (enthält gemeinsam genutzte Bibliotheken, die vom Dateisystem verwendet werden und zum Booten, wahrscheinlich von den ausführbaren Dateien in bin verwendet) / proc steht für Prozesse (wenn Sie überprüfen möchten, überprüfen Sie einfach diesen Director, er enthält mehrere Verzeichnisse, die in Zufallszahlen benannt sind, die nichts anderes sind als Prozessnummer, die Sie mit ps - ef überprüfen können)

/ root bedeutet root-Benutzer (Standardverzeichnis für root-Benutzer) / home (alle Nicht-Root-Benutzer haben dort ein Home-Verzeichnis unter diesem Verzeichnis) / dev steht für Gerät (hält spezielle und Gerätedateien, wenn Sie in diesem Verzeichnis über ls - l schauen Befehl major und minor Zahlen werden auch in diesem Verzeichnis angezeigt auch der Gerätetyp am Anfang jeder Zeile in ls - l Ergebnis angezeigt. B bedeutet Block Spezialgerät, c bedeutet Zeichen Spezialgerät). / tmp steht für temporary (temporäre Ressourcen, die für einen temporär gehaltenen Prozess benötigt werden) / mnt steht für Mount Point (mount ein temporäres Dateisystem hier). / var steht für Variable (es enthält variable Daten, das Verzeichnis ändert sich jedes Mal) / opt steht für optional (in der Regel werden Drittanbieter-Software in diesem Verzeichnis installiert). / usr steht für Unix System Resources (alle systemrelevanten Ressourcen werden hier platziert) / etc steht für etcetera (es ist auch wichtig, die meisten Konfigurationsdateien, Benutzerverwaltungsdateien, Sicherheitsdateien und andere Dinge werden darunter aufbewahrt)


1
2017-11-21 06:57