logo

Linux-bestandssysteem

Een Linux-bestandssysteem is een gestructureerde verzameling bestanden op een schijf of een partitie. Een partitie is een geheugensegment en bevat enkele specifieke gegevens. In onze machine kunnen er verschillende geheugenpartities zijn. Over het algemeen bevat elke partitie een bestandssysteem.

Het algemene computersysteem moet gegevens systematisch opslaan, zodat we in minder tijd gemakkelijk toegang hebben tot de bestanden. Het slaat de gegevens op harde schijven (HDD) of een gelijkwaardig opslagtype op. Er kunnen de volgende redenen zijn om het bestandssysteem te onderhouden:

  • In de eerste plaats slaat de computer gegevens op in de RAM-opslag; het kan de gegevens verliezen als het wordt uitgeschakeld. Er is echter niet-vluchtig RAM (Flash RAM en SSD) beschikbaar om de gegevens na de stroomonderbreking te behouden.
  • Gegevensopslag heeft de voorkeur op harde schijven in vergelijking met standaard RAM, omdat RAM meer kost dan schijfruimte. De kosten voor harde schijven dalen geleidelijk in vergelijking met het RAM-geheugen.

De Linux bestandssysteem bevat de volgende secties:

  • De hoofdmap (/)
  • Een specifiek gegevensopslagformaat (EXT3, EXT4, BTRFS, XFS enzovoort)
  • Een partitie of logisch volume met een bepaald bestandssysteem.

Wat is het Linux-bestandssysteem?

Het Linux-bestandssysteem is over het algemeen een ingebouwde laag van a Linux-besturingssysteem gebruikt om het gegevensbeheer van de opslag af te handelen. Het helpt om het bestand op de schijfopslag te ordenen. Het beheert de bestandsnaam, bestandsgrootte, aanmaakdatum en nog veel meer informatie over een bestand.

Als we een niet-ondersteund bestandsformaat in ons bestandssysteem hebben, kunnen we software downloaden om hiermee om te gaan.

Linux-bestandssysteemstructuur

Het Linux-bestandssysteem heeft een hiërarchische bestandsstructuur omdat het een hoofdmap en zijn submappen bevat. Alle andere mappen zijn toegankelijk vanuit de hoofdmap. Een partitie heeft doorgaans maar één bestandssysteem, maar kan ook meer dan één bestandssysteem hebben.

Een bestandssysteem is zo ontworpen dat het niet-vluchtige opslaggegevens kan beheren en ruimte kan bieden. Alle bestandssystemen vereisten een naamruimte die een naamgevings- en organisatiemethodologie is. De naamruimte definieert het naamgevingsproces, de lengte van de bestandsnaam of een subset van tekens die voor de bestandsnaam kunnen worden gebruikt. Het definieert ook de logische structuur van bestanden in een geheugensegment, zoals het gebruik van mappen voor het organiseren van de specifieke bestanden. Zodra een naamruimte is beschreven, moet er voor dat specifieke bestand een metadatabeschrijving worden gedefinieerd.

De datastructuur moet een hiërarchische directorystructuur ondersteunen; deze structuur wordt gebruikt om de beschikbare en gebruikte schijfruimte voor een bepaald blok te beschrijven. Het bevat ook de andere details over de bestanden, zoals bestandsgrootte, datum en tijd van creatie, update en laatst gewijzigd.

Het slaat ook geavanceerde informatie op over het gedeelte van de schijf, zoals partities en volumes.

De geavanceerde gegevens en de structuren die deze vertegenwoordigen, bevatten de informatie over het bestandssysteem dat op de schijf is opgeslagen; het is verschillend en onafhankelijk van de metagegevens van het bestandssysteem.

Het Linux-bestandssysteem bevat een tweedelige architectuur voor de implementatie van bestandssysteemsoftware. Beschouw de onderstaande afbeelding:

Linux-bestandssysteem

Het bestandssysteem vereist een API (Application Programming Interface) om toegang te krijgen tot de functieaanroepen om te communiceren met bestandssysteemcomponenten zoals bestanden en mappen. API vergemakkelijkt taken zoals het maken, verwijderen en kopiëren van de bestanden. Het vergemakkelijkt een algoritme dat de rangschikking van bestanden op een bestandssysteem definieert.

conversie van datum naar tekenreeks

De eerste twee delen van het gegeven bestandssysteem worden samen a Linux virtueel bestandssysteem . Het biedt een enkele set opdrachten voor de kernel en ontwikkelaars om toegang te krijgen tot het bestandssysteem. Dit virtuele bestandssysteem vereist dat het specifieke systeemstuurprogramma een interface voor het bestandssysteem geeft.

Directorystructuur

De mappen helpen ons de bestanden op te slaan en ze te lokaliseren wanneer we ze nodig hebben. Mappen worden ook mappen genoemd, omdat ze kunnen worden beschouwd als mappen waarin bestanden zich bevinden in de vorm van een fysieke desktop-analogie. Mappen kunnen in Linux en verschillende andere besturingssystemen in een boomachtige hiërarchie worden georganiseerd.

De directorystructuur van Linux is goed gedocumenteerd en gedefinieerd in de Linux FHS (Filesystem Hierarchy Standard). Het verwijzen naar deze mappen als u er toegang toe krijgt, wordt bereikt via de opeenvolgend diepere namen van de map die zijn gekoppeld door een '/' schuine streep naar voren, zoals /var/spool/mail en /var/log. Deze staan ​​bekend als paden.

De onderstaande tabel geeft een zeer korte standaard, gedefinieerde en bekende Linux-directorylijst op het hoogste niveau en hun doeleinden:

    / (rootbestandssysteem):Het is de bestandssysteemmap op het hoogste niveau. Het moet elk bestand bevatten dat nodig is om het Linux-systeem op te starten voordat een ander bestandssysteem wordt aangekoppeld. Elk ander bestandssysteem wordt aangekoppeld op een goed gedefinieerd en standaard koppelpunt vanwege de rootbestandssysteemmappen nadat het systeem is gestart./laars:Het bevat de statische kernel- en bootloader-configuratie en uitvoerbare bestanden die nodig zijn om een ​​Linux-computer te starten./bak:Deze map bevat door de gebruiker uitvoerbare bestanden./ontwikkelaar:Het bevat het apparaatbestand voor alle hardwareapparaten die op het systeem zijn aangesloten. Dit zijn geen apparaatstuurprogramma's; in plaats daarvan zijn het bestanden die alle apparaten op het systeem aangeven en toegang bieden tot deze apparaten./enz:Het bevat de lokale systeemconfiguratiebestanden voor het hostsysteem./lib:Het bevat gedeelde bibliotheekbestanden die nodig zijn om het systeem te starten./thuis:De thuismapopslag is beschikbaar voor gebruikersbestanden. Alle gebruikers hebben een submap binnen /home./mnt:Het is een tijdelijk koppelpunt voor basisbestandssystemen dat kan worden gebruikt op het moment dat de beheerder aan een bestandssysteem werkt of repareert./media:Een plaats voor het monteren van externe verwijderbare media-apparaten zoals USB-sticks die mogelijk aan de host zijn gekoppeld./opteren:Het bevat optionele bestanden, zoals door de leverancier geleverde toepassingsprogramma's, die hier moeten worden geplaatst./wortel:Het is de thuismap voor een rootgebruiker. Houd er rekening mee dat dit niet het '/' (root) bestandssysteem is./tmp:Het is een tijdelijke map die door het besturingssysteem en verschillende programma's wordt gebruikt voor het opslaan van tijdelijke bestanden. Ook kunnen gebruikers hier tijdelijk bestanden opslaan. Houd er rekening mee dat bestanden uit deze map op elk moment zonder voorafgaande kennisgeving kunnen worden verwijderd./sbin:Dit zijn binaire systeembestanden. Het zijn uitvoerbare bestanden die worden gebruikt voor systeembeheer./usr:Het zijn alleen-lezen en deelbare bestanden, inclusief uitvoerbare bibliotheken en binaire bestanden, man-bestanden en verschillende documentatietypen./was:Hier worden bestanden met variabele gegevens opgeslagen. Het kan zaken bevatten zoals MySQL, logbestanden, andere databasebestanden, e-mailinboxen, webservergegevensbestanden en nog veel meer.

Functies van Linux-bestandssysteem

In Linux creëert het bestandssysteem een ​​boomstructuur. Alle bestanden zijn gerangschikt als een boom en zijn takken. De bovenste map genaamd hoofdmap (/). . Alle andere mappen in Linux zijn toegankelijk vanuit de hoofdmap.

Enkele belangrijke kenmerken van het Linux-bestandssysteem zijn als volgt:

    Paden opgeven:Linux gebruikt de backslash () niet om de componenten te scheiden; het gebruikt een slash (/) als alternatief. Net als in Windows kunnen de gegevens bijvoorbeeld worden opgeslagen in C:Mijn DocumentenWork, terwijl ze in Linux worden opgeslagen in /home/Mijn Document/Werk.Partitie, mappen en schijven:Linux gebruikt geen stationsletters om de schijf te ordenen zoals Windows dat doet. In Linux kunnen we niet zeggen of we een partitie, een netwerkapparaat of een 'gewone' map en een schijf adresseren.Hoofdlettergevoeligheid:Het Linux-bestandssysteem is hoofdlettergevoelig. Er wordt onderscheid gemaakt tussen bestandsnamen in kleine letters en hoofdletters. Er is bijvoorbeeld een verschil tussen test.txt en Test.txt in Linux. Deze regel wordt ook toegepast op mappen en Linux-opdrachten.Bestandsextensies:In Linux kan een bestand de extensie '.txt' hebben, maar het is niet noodzakelijk dat een bestand een bestandsextensie heeft. Tijdens het werken met Shell levert het voor beginners enkele problemen op om onderscheid te maken tussen bestanden en mappen. Als we de grafische bestandsbeheerder gebruiken, symboliseert dit de bestanden en mappen.Verborgen bestanden:Linux maakt onderscheid tussen standaardbestanden en verborgen bestanden, meestal zijn de configuratiebestanden verborgen in Linux OS. Normaal gesproken hoeven we de verborgen bestanden niet te openen of te lezen. De verborgen bestanden in Linux worden weergegeven door een punt (.) vóór de bestandsnaam (bijvoorbeeld .ignore). Om toegang te krijgen tot de bestanden, moeten we de weergave in Bestandsbeheer wijzigen of een specifiek commando in de shell gebruiken.

Soorten Linux-bestandssysteem

Wanneer we het Linux-besturingssysteem installeren, biedt Linux veel bestandssystemen zoals Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, En ruil .

Linux-bestandssysteem

Laten we elk van deze bestandssystemen in detail begrijpen:

1. Ext-, Ext2-, Ext3- en Ext4-bestandssysteem

Het bestandssysteem Ext staat voor Uitgebreid bestandssysteem . Het is in de eerste plaats ontwikkeld voor MINIX-besturingssysteem . Het Ext-bestandssysteem is een oudere versie en wordt vanwege enkele beperkingen niet meer gebruikt.

Ext2 is het eerste Linux-bestandssysteem waarmee twee terabytes aan gegevens kunnen worden beheerd. Ext3 is ontwikkeld via Ext2; het is een verbeterde versie van Ext2 en bevat achterwaartse compatibiliteit. Het grootste nadeel van Ext3 is dat het geen servers ondersteunt, omdat dit bestandssysteem geen bestandsherstel en schijfsnapshot ondersteunt.

Ext4 bestandssysteem is het snellere bestandssysteem van alle Ext-bestandssystemen. Het is een zeer compatibele optie voor de SSD-schijven (solid-state drive) en het is het standaardbestandssysteem in de Linux-distributie.

2. JFS-bestandssysteem

JFS staat voor Gejournaliseerd bestandssysteem , en het is ontwikkeld door IBM voor AIX Unix . Het is een alternatief voor het Ext-bestandssysteem. Het kan ook worden gebruikt in plaats van Ext4, waar stabiliteit nodig is met weinig middelen. Het is een handig bestandssysteem wanneer de CPU-kracht beperkt is.

3. ReiserFS-bestandssysteem

ReiserFS is een alternatief voor het Ext3-bestandssysteem. Het heeft verbeterde prestaties en geavanceerde functies. Vroeger werd ReiserFS gebruikt als het standaardbestandssysteem in SUSE Linux, maar later zijn er enkele beleidsregels gewijzigd, dus keerde SUSE terug naar Ext3. Dit bestandssysteem ondersteunt de bestandsextensie dynamisch, maar heeft enkele prestatienadelen.

4. XFS-bestandssysteem

Het XFS-bestandssysteem werd beschouwd als snelle JFS, die is ontwikkeld voor parallelle I/O-verwerking. NASA gebruikt dit bestandssysteem nog steeds met zijn hoge opslagserver (server van meer dan 300 terabyte).

binaire boom versus binaire zoekboom

5. Btrfs-bestandssysteem

Btrfs staat voor de B-boombestandssysteem . Het wordt gebruikt voor fouttolerantie, reparatiesysteem, leuk beheer, uitgebreide opslagconfiguratie en meer. Het past niet goed bij het productiesysteem.

6. Bestandssysteem wisselen

Het wisselbestandssysteem wordt gebruikt voor het wisselen van geheugen in het Linux-besturingssysteem tijdens de slaapstand van het systeem. Een systeem dat nooit in de slaapstand gaat, moet over swapruimte beschikken die gelijk is aan de RAM-grootte.

Wat is mounten in het Linux-bestandssysteem?

Onder Linux is de 'bestijgen' , een bestandssysteemterm, verwijst naar de eerste computerdagen waarin een verwijderbaar schijf- of tapepakket fysiek op een correct schijfapparaat moet worden gemonteerd. Op het schijfpakket zou het bestandssysteem logischerwijs door het besturingssysteem worden aangekoppeld om de inhoud beschikbaar te maken voor toegang door toepassingsprogramma's, het besturingssysteem en gebruikers nadat het fysiek op de schijf was gelokaliseerd.

Simpel gezegd is een koppelpunt een map die gemaakt is als onderdeel van het bestandssysteem. Het homebestandssysteem wordt bijvoorbeeld in de map /home geplaatst. Bestandssystemen kunnen op veel niet-rootbestandssystemen op koppelpunten worden geplaatst, maar dit komt minder vaak voor.

  • Het rootbestandssysteem van Linux wordt al heel vroeg in de opstartvolgorde in de map / (hoofdmap) aangekoppeld.
  • Verschillende bestandssystemen worden later aangekoppeld door de opstartprogramma's van Linux, hetzij rc op SystemV of via systemd in nieuwe Linux-versies.
  • Het koppelen van het bestandssysteem tijdens het opstarten wordt afgehandeld door het configuratiebestand, d.w.z. /etc/fstab .
  • Een gemakkelijke manier om dat te begrijpen is fstab, de afkorting van 'bestandssysteemtabel' , en het is een lijst met bestandssystemen die moeten worden gemount, hun opties en aangewezen koppelpunten die mogelijk vereist zijn voor bepaalde bestandssystemen.

Bestandssystemen kunnen worden gemount op een beschikbaar mountpunt/map met behulp van het mount-commando. Met andere woorden: elke map die als koppelpunt wordt toegepast, mag geen andere bestanden bevatten en moet leeg zijn. Linux zal gebruikers er niet van weerhouden een bestandssysteem te mounten op een systeem dat al beschikbaar is of op een map die bestanden bevat. De daadwerkelijke inhoud zal worden behandeld, en alleen de nieuw aangekoppelde inhoud van het bestandssysteem zal zichtbaar zijn als we een bestandssysteem op een bestaand bestandssysteem of map mounten.