Failų sistema

Iš UbuntuLt.

Peršokti į: navigaciją, paiešką

Failų sistema yra duomenų formatas nusakantis kaip duomenų laikmenoje yra suskirstyti duomenys į failus ir katalogus.

Turinys

Viskas yra failas

Unix sistemose viskas yra failas. Failas yra toks kompiuterijos terminas apibūdinantis atmintyje išsaugotos informacijos sritį. Kompiuteryje išsaugotas paveiksliukas yra paprasčiausia duomenų sritis kompiuterio atmintyje kurią apibrėžia failas, turintis pavadinimą ir apibrėžimą koks tai failas, kas ir kaip jį gali naudoti ir pan.

Katalogas taip pat yra tam tikros rūšies failas. Visas kompiuterio kietasis diskas taip pat yra vienas didelis failas, USB atmintinė taip pat yra vienas failas.

Tikriausiai iškilo klausimas, jei visas kompiuterio diskas yra vienas didelis failas, taip kaip jame gali būti saugomi failai? Paaiškinimas labai paprastas – kiekvienas Unix sistemos katalogas rodo kokios nors failų sistemos, turinį. Failų sistema yra tam tikras atminties formatas, kuris gali būti atvaizduotas failų ir katalogų pavidalu.

Užteks teorijos, dabar, kad viskas būtų aiškiau, komandinės eilutės pagalba pateiksiu realius pavyzdžius.

Fizinių diskų peržiūra

Kad sužinoti kokie diskai yra prijungti prie kompiuterio įveskite tokią komandą:

$ sudo fdisk -l
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Disk identifier: 0xf5619b29

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           5       40162   83  Linux
/dev/sda2               6          38      265072+  82  Linux swap / Solaris
/dev/sda3              39        2078    16386300   83  Linux
/dev/sda4            2079       14593   100526737+  83  Linux

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Disk identifier: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       60801   488384001   83  Linux

Mano atveju, prie kompiuterio yra prijungti 2 diskai:

  • Disk /dev/sda: 120.0 GB
  • Disk /dev/sdb: 500.1 GB

Tą pačią informaciją galite sužinoti ir naudodamiesi programa Gparted, kuria naudotis daug paprasčiau ir ji turi grafinę naudotojo sąsają.

Diskų skirsniai

Failai, kuriuose saugomas visas disko turinys yra šie:

  • /dev/sda
  • /dev/sdb

Atidžiau patyrinėsime 120GB diską, kurio failas yra /dev/sda. Šis diskas suskaldytas į keturis skirsnius, kiekvieno disko skirsnio turinys saugomas atskirame faile:

  • /dev/sda1
  • /dev/sda2
  • /dev/sda3
  • /dev/sda4

Šie disko skirsnių failai prijungti prie atitinkamų katalogų, kad būtų matomas disko skirsnio turinys. Tokia prijungimo operacija vadinama mount. Visus katalogus, kurie yra prie kažko prijungti galima peržiūrėti taip:

$ df -Th
Failų sist.  Tipas    Size  Used Avail Use% Prijungta prie
/dev/sda3     ext3     16G   13G  1,8G  89% /
udev         tmpfs     10M  200K  9,9M   2% /dev
none         tmpfs    1,5G     0  1,5G   0% /dev/shm
/dev/sda1     ext2     38M   12M   25M  33% /boot
/dev/sda4     ext3     95G   89G  952M  99% /home
/dev/sdb1 reiserfs    466G  281G  186G  61% /media/87aecbf1-1a98-4ccd-8ad8-c517c7a88280

Sąraše matyti kas ir kur prijungta. /dev/sda3 disko skirsnio failas prijungtas prie šakninio katalogo /, tai reiškia, kad šakniniame kataloge rasite /dev/sda3 disko skirsnio turinį, tačiau kaip matote, katalogas /home rodo kito skirsnio, todėl home kataloge bus rodomas /dev/sda4 disko skirsnio turinys. Šių dviejų disko skirsnių formatas yra ext3, tuo tarpu /media/87aecbf1-1a98-4ccd-8ad8-c517c7a88280 katalogas rodo /dev/sdb1 skirsnio turinį, kurio formatas yra reiserfs.

Kaip matote, viskas labai paprasta, viskas yra failai, failai turintys failų sistemos turinį, gali būti prijungti prie bet kurio katalogo, kuriame bus atvaizduojamas faile esančios failų sistemos turinys.


CD ISO failo prijungimas

Tarkime turite parsisiuntę Ubuntu CD ISO failą:

  • ubuntu-9.10-desktop-i386.iso

Susikuriate katalogą, prie kurio bus prijungtas šis CD turinį laikantis failas:

$ mkdir ubuntu-9.10

Toliau prijungiate ISO failą prie naujai sukurto katalogo komandos mount pagalba:

$ sudo mount -t iso9660 -o loop  ubuntu-9.10-desktop-i386.iso ubuntu-9.10

Komandoje nurodyta, kad ISO faile saugoma iso9660 formato failų sistema, tokia failų sistema yra dažniausiai naudojama visuose CD diskuose.

Failai gali būti skirtingų tipų, pavyzdžiui failo tipas gali būti: katalogas, paprastas failas, nuoroda į kitą failą, blokinis specialusis failas ir t.t. Šiuo atveju failo ubuntu-9.10-desktop-i386.iso tipas yra paprastas failas, o prie katalogų galima prijungti tik blokinius specialiuosius failus, todėl reikalingas -o loop parametras padedantis prijungti ne blokinį failą.

Failo tipą galima sužinoti komandos file pagalba:

$ file /dev/loop0

Jei atvertumėte naujai sukurtą katalogą ubuntu-9.10 pamatytumėte, kad jame yra ISO failo turinys.