Linux-tiedostojärjestelmä on rakenteellinen kokoelma tiedostoja levyasemalla tai osiossa. Osio on muistin segmentti ja se sisältää jotakin tiettyä dataa. Koneessamme voi olla erilaisia muistin osioita. Yleensä jokainen osio sisältää tiedostojärjestelmän.
Yleiskäyttöisen tietokonejärjestelmän on tallennettava tiedot järjestelmällisesti, jotta voimme helposti käyttää tiedostoja lyhyemmässä ajassa. Se tallentaa tiedot kiintolevyille (HDD) tai jollekin vastaavalle tallennustyypille. Tiedostojärjestelmän ylläpitämiseen voi olla alla olevia syitä:
- Ensisijaisesti tietokone tallentaa tiedot RAM-muistiin; se voi menettää tiedot, jos se sammutetaan. On kuitenkin olemassa haihtumatonta RAM-muistia (Flash RAM ja SSD), joka on käytettävissä tietojen säilyttämiseen virran katkeamisen jälkeen.
- Tietojen tallennus tapahtuu mieluummin kiintolevyille kuin tavalliseen RAM-muistiin, koska RAM-muisti maksaa enemmän kuin levytila. Kiintolevyjen kustannukset laskevat vähitellen verrattuna RAM-muistiin.
Linuxin tiedostojärjestelmä sisältää seuraavat osiot:
- Juurihakemisto (/)
- Erityinen datan tallennusmuoto (EXT3, EXT4, BTRFS, XFS ja niin edelleen)
- Osio tai looginen tilavuus, jolla on tietty tiedostojärjestelmä.
- Mikä on Linux-tiedostojärjestelmä?
- Linuxin tiedostojärjestelmän rakenne
- Linux-tiedostojärjestelmän ominaisuudet
- Linuxin tiedostojärjestelmätyypit
- Ext-, Ext2-, Ext3- ja Ext4-tiedostojärjestelmä
- JFS-tiedostojärjestelmä
- ReiserFS-tiedostojärjestelmä
- XFS-tiedostojärjestelmä
- Btrfs-tiedostojärjestelmä
- Swap-tiedostojärjestelmä
Mikä on Linux-tiedostojärjestelmä?
Linux-tiedostojärjestelmä on yleensä Linux-käyttöjärjestelmän sisäänrakennettu kerros, jota käytetään tallennustilan tiedonhallintaan. Se auttaa järjestämään tiedoston levytallennuksessa. Se hallinnoi tiedoston nimeä, tiedoston kokoa, luontipäivämäärää ja paljon muuta tietoa tiedostosta.
Jos tiedostojärjestelmässämme on tiedostomuoto, jota ei tueta, voimme ladata ohjelmiston, joka käsittelee sitä.
Linuxin tiedostojärjestelmän rakenne
Linuxin tiedostojärjestelmässä on hierarkkinen tiedostorakenne, sillä se sisältää juurihakemiston ja sen alihakemistot. Kaikkiin muihin hakemistoihin pääsee käsiksi juurihakemistosta. Osiossa on yleensä vain yksi tiedostojärjestelmä, mutta siinä voi olla useampi kuin yksi tiedostojärjestelmä.
Tiedostojärjestelmä on suunniteltu siten, että se pystyy hallitsemaan ja tarjoamaan tilaa haihtumattomalle tallennustiedolle. Kaikki tiedostojärjestelmät vaativat nimiavaruuden, joka on nimeämis- ja organisointimenetelmä. Nimiavaruus määrittelee nimeämisprosessin, tiedostonimen pituuden tai osajoukon merkkejä, joita voidaan käyttää tiedostonimessä. Se määrittelee myös tiedostojen loogisen rakenteen muistisegmentissä, kuten hakemistojen käytön tiettyjen tiedostojen järjestämiseen. Kun nimiavaruus on kuvattu, kyseiselle tiedostolle on määriteltävä metatietokuvaus.
Tietorakenteen on tuettava hierarkkista hakemistorakennetta; tätä rakennetta käytetään kuvaamaan tietyn lohkon käytettävissä olevaa ja käytettyä levytilaa. Siinä on myös muita yksityiskohtia tiedostoista, kuten tiedoston koko, luonti-, päivitys- ja viimeisimmän muokkauksen & päivämäärä &.
Se tallentaa myös edistynyttä tietoa levyn osiosta, kuten osioista ja volyymistä.
Edistynyt data ja sen edustamat rakenteet sisältävät tietoa levyasemalle tallennetusta tiedostojärjestelmästä; se on erillistä ja riippumatonta tiedostojärjestelmän metatiedoista.
Linuxin tiedostojärjestelmässä on kaksiosainen tiedostojärjestelmäohjelmiston toteutusarkkitehtuuri. Tarkastellaan alla olevaa kuvaa:
Tiedostojärjestelmä vaatii API:n (sovellusohjelmointirajapinta), jotta voidaan käyttää toimintokutsuja vuorovaikutuksessa tiedostojärjestelmän komponenttien, kuten tiedostojen ja hakemistojen, kanssa. API helpottaa tehtäviä, kuten tiedostojen luomista, poistamista ja kopioimista. Se helpottaa algoritmia, joka määrittelee tiedostojen sijoittelun tiedostojärjestelmässä.
Tämän tiedostojärjestelmän kahta ensimmäistä osaa kutsutaan yhdessä Linuxin virtuaaliseksi tiedostojärjestelmäksi. Se tarjoaa ytimelle ja kehittäjille yhden komentosarjan tiedostojärjestelmän käyttöä varten. Tämä virtuaalinen tiedostojärjestelmä vaatii tietyn järjestelmäajurin antamaan rajapinnan tiedostojärjestelmälle.
Linux-tiedostojärjestelmän ominaisuudet
Linuxissa tiedostojärjestelmä luo puurakenteen. Kaikki tiedostot on järjestetty puuksi ja sen oksiksi. Ylin hakemisto on nimeltään juurihakemisto (/). Kaikkiin muihin Linuxin hakemistoihin pääsee käsiksi juurihakemistosta.
Joitakin Linux-tiedostojärjestelmän keskeisiä ominaisuuksia ovat seuraavat:
- Polkujen määrittäminen: Linux ei käytä backslash-merkkiä (\) erottamaan komponentteja toisistaan; se käyttää vaihtoehtona forward slash-merkkiä (/). Esimerkiksi Windowsissa tiedot voidaan tallentaa osoitteeseen C:\ My Documents\ Work, kun taas Linuxissa ne tallennettaisiin osoitteeseen /home/ My Document/ Work.
- Osio, hakemistot ja asemat: Linux ei käytä asemakirjaimia aseman järjestämiseen kuten Windows. Linuxissa emme voi tietää, osoitammeko osiota, verkkolaitetta vai ”tavallista” hakemistoa ja asemaa.
- Case Sensitivity: Linuxin tiedostojärjestelmä on isojen ja pienten kirjainten herkkä. Se erottaa pienet ja suuret tiedostonimet toisistaan. Esimerkiksi test.txt ja Test.txt eroavat toisistaan Linuxissa. Tätä sääntöä sovelletaan myös hakemistoihin ja Linux-komentoihin.
- Tiedostopäätteet: Linuxissa tiedostolla voi olla tiedostopääte ’.txt’, mutta tiedostolla ei välttämättä tarvitse olla tiedostopäätettä. Shellin kanssa työskenneltäessä aloittelijoille tuottaa ongelmia erottaa tiedostot ja hakemistot toisistaan. Jos käytämme graafista tiedostonhallintaa, se symboloi tiedostot ja kansiot.
- Piilotetut tiedostot: Linux tekee eron tavallisten tiedostojen ja piilotettujen tiedostojen välillä, useimmiten konfiguraatiotiedostot ovat piilossa Linux-käyttöjärjestelmässä. Yleensä meidän ei tarvitse käyttää tai lukea piilotettuja tiedostoja. Linuxissa piilotetut tiedostot merkitään pisteellä (.) ennen tiedostonimeä (esim. .ignore). Päästäksemme käsiksi tiedostoihin meidän on vaihdettava näkymää tiedostonhallinnassa tai käytettävä tiettyä komentoa komentotulkissa.
Linuxin tiedostojärjestelmätyypit
Kun asennamme Linux-käyttöjärjestelmän, Linux tarjoaa monia tiedostojärjestelmiä, kuten Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs ja swap.
Ymmärretäänpä kukin näistä tiedostojärjestelmistä yksityiskohtaisesti:
Ext-, Ext2-, Ext3- ja Ext4-tiedostojärjestelmä
Tiedostojärjestelmä Ext tarkoittaa Extended File System. Se kehitettiin ensisijaisesti MINIX OS:ää varten. Ext-tiedostojärjestelmä on vanhempi versio, eikä sitä käytetä enää joidenkin rajoitusten vuoksi.
Ext2 on ensimmäinen Linux-tiedostojärjestelmä, joka mahdollistaa kahden teratavun datan hallinnan. Ext3 on kehitetty Ext2:n pohjalta; se on päivitetty versio Ext2:sta ja sisältää taaksepäin yhteensopivuuden. Ext3:n suurin haittapuoli on se, että se ei tue palvelimia, koska tämä tiedostojärjestelmä ei tue tiedostojen palautusta ja levyn tilannekuvaa.
Ext4-tiedostojärjestelmä on kaikista Ext-tiedostojärjestelmistä nopeampi. Se on hyvin yhteensopiva vaihtoehto SSD-levyille (solid-state drive), ja se on Linux-jakelun oletustiedostojärjestelmä.
JFS-tiedostojärjestelmä
JFS on lyhenne sanoista Journaled File System (Journalisoitu tiedostojärjestelmä), ja se on IBM:n kehittämä AIX Unixille. Se on vaihtoehto Ext-tiedostojärjestelmälle. Sitä voidaan käyttää myös Ext4:n sijasta, kun tarvitaan vakautta vähillä resursseilla. Se on kätevä tiedostojärjestelmä, kun suorittimen teho on rajallinen.
ReiserFS-tiedostojärjestelmä
ReiserFS on vaihtoehto Ext3-tiedostojärjestelmälle. Siinä on parannettu suorituskyky ja kehittyneitä ominaisuuksia. Aikaisemmin ReiserFS:ää käytettiin SUSE Linuxin oletustiedostojärjestelmänä, mutta myöhemmin se on muuttanut joitakin käytäntöjä, joten SUSE palasi Ext3:een. Tämä tiedostojärjestelmä tukee dynaamisesti tiedostopäätteitä, mutta sillä on joitain haittoja suorituskyvyssä.
XFS-tiedostojärjestelmä
XFS-tiedostojärjestelmää pidettiin nopeana JFS:nä, joka on kehitetty rinnakkaiseen I/O-käsittelyyn. NASA käyttää edelleen tätä tiedostojärjestelmää suurilla tallennuspalvelimillaan (300+ Teratavun palvelin).
Btrfs-tiedostojärjestelmä
Btrfs on lyhenne sanoista B tree file system. Sitä käytetään vikasietoisuuteen, korjausjärjestelmään, hauskanpitoon, laajaan tallennuskonfigurointiin ja muuhun. Se ei sovi hyvin tuotantojärjestelmään.
Swap-tiedostojärjestelmä
Swap-tiedostojärjestelmää käytetään Linux-käyttöjärjestelmässä muistin välivarastointiin järjestelmän lepotilan aikana. Järjestelmältä, joka ei koskaan mene horrostilaan, vaaditaan RAM-muistin kokoa vastaava swap-tila.