logo

Linux-Dateisystem

Ein Linux-Dateisystem ist eine strukturierte Sammlung von Dateien auf einem Festplattenlaufwerk oder einer Partition. Eine Partition ist ein Speichersegment und enthält bestimmte Daten. In unserer Maschine kann es verschiedene Partitionen des Speichers geben. Im Allgemeinen enthält jede Partition ein Dateisystem.

Das Allzweck-Computersystem muss Daten systematisch speichern, damit wir in kürzerer Zeit problemlos auf die Dateien zugreifen können. Es speichert die Daten auf Festplatten (HDD) oder einem gleichwertigen Speichertyp. Es kann folgende Gründe für die Wartung des Dateisystems geben:

  • In erster Linie speichert der Computer Daten im RAM-Speicher; Wenn es ausgeschaltet wird, können die Daten verloren gehen. Es steht jedoch nichtflüchtiger Arbeitsspeicher (Flash-RAM und SSD) zur Verfügung, um die Daten nach der Stromunterbrechung aufrechtzuerhalten.
  • Die Datenspeicherung wird auf Festplatten gegenüber Standard-RAM bevorzugt, da RAM mehr kostet als Speicherplatz. Die Festplattenpreise sinken im Vergleich zum RAM allmählich.

Der Linux Das Dateisystem enthält die folgenden Abschnitte:

  • Das Stammverzeichnis (/)
  • Ein bestimmtes Datenspeicherformat (EXT3, EXT4, BTRFS, XFS usw.)
  • Eine Partition oder ein logisches Volume mit einem bestimmten Dateisystem.

Was ist das Linux-Dateisystem?

Das Linux-Dateisystem ist im Allgemeinen eine integrierte Schicht von a Linux-Betriebssystem Wird für die Datenverwaltung des Speichers verwendet. Es hilft, die Datei auf dem Festplattenspeicher anzuordnen. Es verwaltet den Dateinamen, die Dateigröße, das Erstellungsdatum und viele weitere Informationen zu einer Datei.

Java-Case-Anweisung

Wenn wir ein nicht unterstütztes Dateiformat in unserem Dateisystem haben, können wir Software herunterladen, um damit umzugehen.

Linux-Dateisystemstruktur

Das Linux-Dateisystem hat eine hierarchische Dateistruktur, da es ein Stammverzeichnis und seine Unterverzeichnisse enthält. Auf alle anderen Verzeichnisse kann vom Stammverzeichnis aus zugegriffen werden. Eine Partition verfügt normalerweise nur über ein Dateisystem, kann jedoch über mehr als ein Dateisystem verfügen.

Ein Dateisystem ist so konzipiert, dass es nichtflüchtige Speicherdaten verwalten und Platz für diese bereitstellen kann. Alle Dateisysteme erforderten einen Namensraum, der eine Benennungs- und Organisationsmethode darstellt. Der Namespace definiert den Benennungsprozess, die Länge des Dateinamens oder eine Teilmenge von Zeichen, die für den Dateinamen verwendet werden können. Es definiert auch die logische Struktur von Dateien in einem Speichersegment, beispielsweise die Verwendung von Verzeichnissen zum Organisieren der spezifischen Dateien. Sobald ein Namespace beschrieben ist, muss eine Metadatenbeschreibung für diese bestimmte Datei definiert werden.

Die Datenstruktur muss eine hierarchische Verzeichnisstruktur unterstützen; Diese Struktur wird verwendet, um den verfügbaren und verwendeten Speicherplatz für einen bestimmten Block zu beschreiben. Es enthält auch weitere Details zu den Dateien wie Dateigröße, Datum und Uhrzeit der Erstellung, Aktualisierung und letzte Änderung.

Außerdem werden erweiterte Informationen über den Abschnitt der Festplatte gespeichert, z. B. Partitionen und Volumes.

Die erweiterten Daten und die Strukturen, die sie darstellen, enthalten die Informationen über das auf dem Laufwerk gespeicherte Dateisystem. Es ist eindeutig und unabhängig von den Metadaten des Dateisystems.

Das Linux-Dateisystem enthält eine zweiteilige Dateisystem-Software-Implementierungsarchitektur. Betrachten Sie das folgende Bild:

Linux-Dateisystem

Das Dateisystem benötigt eine API (Application Programming Interface), um auf die Funktionsaufrufe zuzugreifen und mit Dateisystemkomponenten wie Dateien und Verzeichnissen zu interagieren. Die API erleichtert Aufgaben wie das Erstellen, Löschen und Kopieren der Dateien. Es ermöglicht einen Algorithmus, der die Anordnung von Dateien in einem Dateisystem definiert.

Die ersten beiden Teile des angegebenen Dateisystems werden zusammen als a bezeichnet Virtuelles Linux-Dateisystem . Es stellt einen einzigen Befehlssatz für den Kernel und Entwickler bereit, um auf das Dateisystem zuzugreifen. Dieses virtuelle Dateisystem erfordert den spezifischen Systemtreiber, um eine Schnittstelle zum Dateisystem bereitzustellen.

Verzeichnisaufbau

Die Verzeichnisse helfen uns, die Dateien zu speichern und sie zu finden, wenn wir sie brauchen. Verzeichnisse werden auch Ordner genannt, da sie als Ordner angesehen werden können, in denen sich Dateien in Form einer physischen Desktop-Analogie befinden. Verzeichnisse können in Linux und mehreren anderen Betriebssystemen in einer baumartigen Hierarchie organisiert werden.

Die Verzeichnisstruktur von Linux ist gut dokumentiert und im Linux FHS (Filesystem Hierarchy Standard) definiert. Verweisen auf diese Verzeichnisse, wenn der Zugriff auf sie über die sequentiell tieferen Namen des Verzeichnisses erfolgt, die durch einen Schrägstrich „/“ verknüpft sind, wie z. B. /var/spool/mail und /var/log. Diese werden als Pfade bezeichnet.

Die folgende Tabelle enthält eine sehr kurze standardmäßige, definierte und bekannte Liste der Linux-Verzeichnisse der obersten Ebene und ihre Zwecke:

    / (Root-Dateisystem):Es ist das Dateisystemverzeichnis der obersten Ebene. Es muss alle Dateien enthalten, die zum Booten des Linux-Systems erforderlich sind, bevor ein anderes Dateisystem gemountet wird. Jedes andere Dateisystem wird aufgrund der Root-Dateisystemverzeichnisse nach dem Systemstart an einem genau definierten und standardmäßigen Mountpunkt gemountet./Stiefel:Es enthält die statische Kernel- und Bootloader-Konfiguration sowie ausführbare Dateien, die zum Starten eines Linux-Computers erforderlich sind./Behälter:Dieses Verzeichnis enthält vom Benutzer ausführbare Dateien./dev:Es enthält die Gerätedatei für alle mit dem System verbundenen Hardwaregeräte. Dies sind keine Gerätetreiber; Stattdessen handelt es sich um Dateien, die alle Geräte im System angeben und den Zugriff auf diese Geräte ermöglichen./usw:Es enthält die lokalen Systemkonfigurationsdateien für das Hostsystem./lib:Es enthält gemeinsam genutzte Bibliotheksdateien, die zum Starten des Systems erforderlich sind./heim:Für Benutzerdateien steht der Home-Verzeichnisspeicher zur Verfügung. Alle Benutzer haben ein Unterverzeichnis in /home./mnt:Es handelt sich um einen temporären Einhängepunkt für grundlegende Dateisysteme, der verwendet werden kann, wenn der Administrator ein Dateisystem bearbeitet oder repariert./Medien:Ein Ort zum Anbringen externer Wechselmediengeräte wie USB-Sticks, die möglicherweise mit dem Host verbunden sind./opt:Es enthält optionale Dateien wie vom Hersteller bereitgestellte Anwendungsprogramme, die hier abgelegt werden müssen./Wurzel:Es ist das Home-Verzeichnis für einen Root-Benutzer. Beachten Sie, dass es sich nicht um das Dateisystem „/“ (Root) handelt./tmp:Es handelt sich um ein temporäres Verzeichnis, das vom Betriebssystem und mehreren Programmen zum Speichern temporärer Dateien verwendet wird. Außerdem können Benutzer hier Dateien vorübergehend speichern. Denken Sie daran, dass Dateien aus diesem Verzeichnis jederzeit ohne vorherige Ankündigung entfernt werden können./sbin:Dies sind System-Binärdateien. Dabei handelt es sich um ausführbare Dateien, die für die Systemverwaltung verwendet werden./usr:Es handelt sich um schreibgeschützte und gemeinsam nutzbare Dateien, einschließlich ausführbarer Bibliotheken und Binärdateien, MAN-Dateien und verschiedener Dokumentationstypen./War:Hier werden variable Datendateien gespeichert. Es kann Dinge wie MySQL, Protokolldateien, andere Datenbankdateien, E-Mail-Posteingänge, Webserver-Datendateien und vieles mehr enthalten.

Funktionen des Linux-Dateisystems

Unter Linux erstellt das Dateisystem eine Baumstruktur. Alle Dateien sind als Baum und seine Zweige angeordnet. Das oberste Verzeichnis namens Wurzelverzeichnis . Auf alle anderen Verzeichnisse in Linux kann vom Stammverzeichnis aus zugegriffen werden.

Einige Hauptfunktionen des Linux-Dateisystems sind wie folgt:

    Pfade angeben:Linux verwendet keinen Backslash (), um die Komponenten zu trennen; Als Alternative wird ein Schrägstrich (/) verwendet. Beispielsweise können die Daten wie in Windows unter C:Eigene DateienArbeit gespeichert werden, während sie unter Linux unter /home/Meine Dokumente/Arbeit gespeichert werden.Partition, Verzeichnisse und Laufwerke:Linux verwendet keine Laufwerksbuchstaben, um das Laufwerk zu organisieren, wie dies bei Windows der Fall ist. Unter Linux können wir nicht erkennen, ob wir eine Partition, ein Netzwerkgerät oder ein „normales“ Verzeichnis und ein Laufwerk ansprechen.Groß- und Kleinschreibung:Das Linux-Dateisystem unterscheidet zwischen Groß- und Kleinschreibung. Dabei wird zwischen Dateinamen in Klein- und Großbuchstaben unterschieden. Beispielsweise gibt es unter Linux einen Unterschied zwischen test.txt und Test.txt. Diese Regel gilt auch für Verzeichnisse und Linux-Befehle.Dateierweiterungen:Unter Linux kann eine Datei die Erweiterung „.txt“ haben, es ist jedoch nicht notwendig, dass eine Datei eine Dateierweiterung hat. Bei der Arbeit mit Shell bereitet es Anfängern einige Probleme, zwischen Dateien und Verzeichnissen zu unterscheiden. Wenn wir den grafischen Dateimanager verwenden, symbolisiert dieser die Dateien und Ordner.Versteckte Dateien:Linux unterscheidet zwischen Standarddateien und versteckten Dateien. Meistens sind die Konfigurationsdateien im Linux-Betriebssystem versteckt. Normalerweise müssen wir nicht auf die versteckten Dateien zugreifen oder diese lesen. Die versteckten Dateien unter Linux werden durch einen Punkt (.) vor dem Dateinamen dargestellt (z. B. .ignore). Um auf die Dateien zuzugreifen, müssen wir die Ansicht im Dateimanager ändern oder einen bestimmten Befehl in der Shell verwenden.

Arten von Linux-Dateisystemen

Wenn wir das Linux-Betriebssystem installieren, bietet Linux viele Dateisysteme wie z Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, Und tauschen .

Linux-Dateisystem

Lassen Sie uns jedes dieser Dateisysteme im Detail verstehen:

1. Ext-, Ext2-, Ext3- und Ext4-Dateisystem

Das Dateisystem Ext steht für Erweitertes Dateisystem . Es wurde hauptsächlich für entwickelt MINIX-Betriebssystem . Das Ext-Dateisystem ist eine ältere Version und wird aufgrund einiger Einschränkungen nicht mehr verwendet.

Ext2 ist das erste Linux-Dateisystem, das die Verwaltung von zwei Terabyte an Daten ermöglicht. Ext3 wird über Ext2 entwickelt; Es ist eine aktualisierte Version von Ext2 und bietet Abwärtskompatibilität. Der größte Nachteil von Ext3 besteht darin, dass es keine Server unterstützt, da dieses Dateisystem keine Dateiwiederherstellung und keinen Festplatten-Snapshot unterstützt.

Ext4 Das Dateisystem ist das schnellere Dateisystem unter allen Ext-Dateisystemen. Es ist eine sehr kompatible Option für SSD-Festplatten (Solid-State-Drive) und das Standarddateisystem in der Linux-Distribution.

2. JFS-Dateisystem

JFS steht für Journaled File System , und es wurde entwickelt von IBM für AIX Unix . Es ist eine Alternative zum Ext-Dateisystem. Es kann auch anstelle von Ext4 verwendet werden, wenn Stabilität bei wenigen Ressourcen erforderlich ist. Es ist ein praktisches Dateisystem, wenn die CPU-Leistung begrenzt ist.

3. ReiserFS File System

ReiserFS ist eine Alternative zum Ext3-Dateisystem. Es verfügt über eine verbesserte Leistung und erweiterte Funktionen. Früher wurde ReiserFS als Standarddateisystem in SUSE Linux verwendet, später wurden jedoch einige Richtlinien geändert, sodass SUSE zu Ext3 zurückkehrte. Dieses Dateisystem unterstützt die Dateierweiterung dynamisch, weist jedoch einige Leistungseinbußen auf.

4. XFS-Dateisystem

Das XFS-Dateisystem galt als Hochgeschwindigkeits-JFS, das für die parallele E/A-Verarbeitung entwickelt wurde. Die NASA verwendet dieses Dateisystem immer noch mit ihrem Server mit hoher Speicherkapazität (300+ Terabyte-Server).

5. Btrfs File System

Btrfs steht für B-Baum-Dateisystem . Es wird für Fehlertoleranz, Reparatursystem, unterhaltsame Verwaltung, umfangreiche Speicherkonfiguration und mehr verwendet. Es ist nicht gut für das Produktionssystem geeignet.

6. Dateisystem austauschen

Das Auslagerungsdateisystem wird für die Speicherauslagerung im Linux-Betriebssystem während des Systemruhezustands verwendet. Ein System, das niemals in den Ruhezustand wechselt, muss über einen Swap-Speicherplatz verfügen, der seiner RAM-Größe entspricht.

Was ist Mounten im Linux-Dateisystem?

Unter Linux ist die 'montieren' , ein Dateisystembegriff, bezieht sich auf die ersten Tage der Datenverarbeitung, in denen ein Wechseldatenträger oder ein Wechselbandpaket physisch auf einem richtigen Laufwerk gemountet werden müsste. Auf dem Diskettenpaket würde das Dateisystem logischerweise vom Betriebssystem gemountet, um den Inhalt für den Zugriff durch Anwendungsprogramme, Betriebssystem und Benutzer verfügbar zu machen, nachdem er sich physisch auf dem Laufwerk befindet.

Ein Einhängepunkt ist einfach ein Verzeichnis, das als Bestandteil des Dateisystems erstellt wird. Beispielsweise wird das Home-Dateisystem im Verzeichnis /home abgelegt. Dateisysteme können auf Mount-Punkten vieler Nicht-Root-Dateisysteme platziert werden, dies ist jedoch weniger verbreitet.

  • Das Root-Dateisystem von Linux wird sehr früh in der Boot-Sequenz im /-Verzeichnis (Root-Verzeichnis) gemountet.
  • Mehrere Dateisysteme werden später von den Startprogrammen von Linux gemountet, entweder rc auf SystemV oder über systemd in neuen Linux-Versionen.
  • Das Mounten des Dateisystems während des Startvorgangs wird von der Konfigurationsdatei übernommen, d. h. /etc/fstab .
  • Eine einfache Möglichkeit, dies zu verstehen, ist die Abkürzung fstab 'Dateisystemtabelle' , und es handelt sich um eine Liste der Dateisysteme, die gemountet werden sollen, ihre Optionen und festgelegte Mount-Punkte, die für bestimmte Dateisysteme erforderlich sein können.

Dateisysteme können mit Hilfe des Mount-Befehls auf einem verfügbaren Mount-Punkt/-Verzeichnis gemountet werden. Mit anderen Worten: Jedes Verzeichnis, das als Einhängepunkt verwendet wird, sollte keine anderen Dateien enthalten und leer sein. Linux verhindert nicht, dass Benutzer ein Dateisystem in ein bereits verfügbares oder in ein Verzeichnis einbinden, das Dateien enthält. Der tatsächliche Inhalt wird abgedeckt und nur der Inhalt des frisch gemounteten Dateisystems ist sichtbar, wenn wir ein Dateisystem in einem vorhandenen Dateisystem oder Verzeichnis mounten.