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:
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:
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:
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 .
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.