Dateisystemhierarchie
100%

Das Dateisystem · Lektion 1

Dateisystemhierarchie

Lerne die vorgesehenen Aufgaben wichtiger Linux-Verzeichnisse kennen und erfahre, wie moderne zusammengeführte Strukturen abweichen können.

Linux stellt eingehängte Dateisysteme als einen einzigen Verzeichnisbaum mit der Wurzel / dar. Der Filesystem Hierarchy Standard (FHS) weist vielen Verzeichnissen herkömmliche Aufgaben zu. Distributionen, Container, unveränderliche Systeme und lokale Richtlinien können jedoch abweichen. Prüfe den tatsächlichen Host, bevor du dich auf einen Pfad verlässt.

$ ls -ld /*

Wurzel und grundlegende Systempfade

  • / ist die Wurzel des sichtbaren Dateisystembaums.
  • /etc enthält hostspezifische Systemkonfiguration. Dort können ausführbare Hilfs- oder Startskripte liegen; die Aussage, das Verzeichnis enthalte niemals ausführbare Inhalte, wäre daher falsch.
  • /boot enthält bootbezogene Dateien wie Bootloader-Daten und auf vielen Systemen Kernel sowie Abbilder des initialen RAM-Dateisystems.
  • /bin und /sbin enthalten traditionell grundlegende Benutzer- und Systemverwaltungsbefehle.
  • /lib und architekturspezifische Varianten enthalten traditionell grundlegende gemeinsam genutzte Bibliotheken und Loader-Komponenten.

Viele aktuelle Distributionen verwenden eine zusammengeführte /usr-Struktur, in der /bin, /sbin und /lib symbolische Links auf entsprechende Verzeichnisse unter /usr sind. Nutze die Befehlssuche und Paketdaten, statt anzunehmen, ob ein Pfad ein physisches Verzeichnis oder ein Link ist.

Welches Verzeichnis enthält herkömmlicherweise hostspezifische Systemkonfiguration?

Distributions- und lokale Software

  • /usr enthält die hauptsächliche gemeinsam nutzbare, weitgehend schreibgeschützte Hierarchie des Betriebssystems und der Anwendungen einschließlich Befehlen, Bibliotheken und architekturunabhängigen Daten.
  • /usr/local ist für Software und Daten reserviert, die der lokale Administrator außerhalb der normalen /usr-Verwaltung der Distribution installiert.
  • /opt kann zusätzliche Anwendungspakete in eigenständigen Unterbäumen enthalten.

Trotz seines Namens ist /usr normalerweise nicht der Ort für persönliche Dateien einzelner Benutzer. Paketmanager der Distribution verwalten große Teile des Verzeichnisses. Das Kopieren lokal kompilierter Dateien nach /usr/bin kann daher mit verwalteten Paketen in Konflikt geraten.

Welches Präfix ist herkömmlicherweise für lokal installierte Software außerhalb des distributionsverwalteten /usr-Inhalts reserviert?

Benutzer- und Dienstdaten

  • /home enthält herkömmlicherweise die Home-Verzeichnisse nicht privilegierter Benutzer; Verzeichnisdienste und lokale Richtlinien können sie jedoch anderswo platzieren.
  • /root ist das herkömmliche Home-Verzeichnis des Root-Kontos.
  • /srv ist für standortspezifische Daten vorgesehen, die dieses System bereitstellt.

Ein Home-Pfad stammt aus Kontoinformationen und nicht nur aus der Verbindung von /home mit einem Benutzernamen. Verwende getent passwd USER oder das von der Shell aufgelöste Home-Verzeichnis, statt Annahmen fest einzucodieren.

Was ist das herkömmliche Home-Verzeichnis des Root-Kontos?

Veränderliche, Laufzeit- und temporäre Daten

  • /var enthält veränderliche Daten wie Protokolle, Caches, Spools und Anwendungszustand. Systemprotokolle liegen häufig unter /var/log, auch wenn manche Systeme hauptsächlich eine Journal-Schnittstelle verwenden.
  • /run enthält flüchtigen Laufzeitzustand des aktuellen Systemstarts, etwa Sockets, Dienstzustand und PID-Dateien. Es wird normalerweise beim Start neu erstellt.
  • /tmp ist für temporäre Dateien vorgesehen und üblicherweise mit Sticky-Bit-Schutz für alle Benutzer beschreibbar.
  • /var/tmp ist für temporäre Dateien gedacht, die länger als Dateien in /tmp bestehen bleiben sollen.

Die Bereinigungsrichtlinie für /tmp unterscheidet sich. Gehe weder davon aus, dass Dateien bis zum Neustart bestehen bleiben, noch dass sie beim Neustart immer gelöscht werden. Anwendungen sollten temporäre Dateien sicher erzeugen und keine vorhersehbaren Namen verwenden.

Welcher Pfad speichert herkömmlicherweise Systemprotokolldateien?

Geräte, Kernel-Schnittstellen und Einhängepunkte

  • /dev enthält Geräteknoten und zugehörige Laufzeitlinks.
  • /proc stellt über procfs Prozess- und Kernel-Schnittstellen bereit.
  • /sys stellt über sysfs Kernel-Objekte, Geräte, Treiber und Attribute bereit.
  • /media wird häufig für automatisch eingehängte Wechselmedien verwendet.
  • /mnt ist ein herkömmlicher Ort für vorübergehende Einhängungen durch Administratoren.

Dies sind Konventionen und keine Berechtigungsgewährungen. Das Einhängen eines anderen Dateisystems auf einem nicht leeren Verzeichnis verbirgt dessen bisherigen Inhalt vorübergehend bis zum Aushängen.

Welcher Pfad stellt normalerweise das Kernel-Gerätemodell über sysfs bereit?

Lektion abgeschlossen

Sie haben Dateisystemhierarchie abgeschlossen

Du kannst wichtige Linux-Pfade nun ihren vorgesehenen Aufgaben zuordnen und dabei echte Systemunterschiede berücksichtigen.

  • Beginne beim einheitlichen Baum mit der Wurzel /.

  • Trenne Konfiguration, verwaltete Software, lokale Software und veränderliche Daten.

  • Unterscheide Home- und Dienstdaten von Laufzeitzustand.

  • Erkenne /dev, /proc und /sys als besondere Laufzeitschnittstellen.

  • Prüfe symbolische Links, Einhängungen, Kontodaten und Distributionsrichtlinien, bevor du eine Struktur voraussetzt.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Das Dateisystem