Unix failų sistema
5 (100%) 1 vote

Unix failų sistema

1121314151

SKYRIUS 4 UNIX Failų Sistema

4.1 – Trys (pagrindiniai) Unix failų tipai 4-2

4.2 – Tekstiniai ir dvejetainiai failai, bitai ir baitai 4-4

4.3 – Medžio pavidalo failų sistema 4-5

4.4 – BSD standartiniai katalogai ir jų turinys 4-7

4.5 – System V Unix’o

Standartinių katalogų paskirtis 4-10

4.6 – Katalogo

/dev specialių failų naudojimas: tty 4-14

4.7 Namų katalogai 4-15

4.1 Trys (pagrindiniai) Unix failų tipai

Kas yra failas?

Failo supratimas Unix’e yra žymiai platesnis: failas yra bet kuris šaltinis iš kurio duomenys gali būti skaitomi, arba bet kuris „gavėjas“, galintis priimti duomenis. Tokiu būdu, terminas failas nurodo ne tik duomenų saugyklą diskinio failo pavidale, bet kartu reiškia ir bet kurį fizinį įtaisą. Failas yra ir klaviatūra (įvedimo šaltinis), ir displėjus (atvaizdavimo įtaisas), ir kiekvienas spausdintuvas.

Unix’e yra trys pagrindiniai failų tipai: paprastieji failai, katalogai ir specialūs failai.

PAPRASTIEJI failai yra tai, ką mes suprantame failu siaurąja prasme. Paprastąjį failą sudaro diske (rečiau juostoje) saugomi duomenys. Tai failai, su kuriais dažniausiai tenka dirbti. Pvz., kai jūs teksto redaktoriumi tvarkote dokumentą, tai jūs naudojate du paprastuosius failus: dokumento ir redaktoriaus programos.

Kitas failo tipas – KATALOGAS. Katalogas tai failas, kuriame saugoma kitų failų pasiekimui reikalinga informacija. Tik konceptualiai į katalogą įeina kiti failai. Vartotojas nekuria katalogų ir netalpina juose failų. Jis tik naudoja komandas, kurios paveda tuos darbus Unix’ui. Jeigu jūs pažiūrėsite į katalogo ‘vidų’, tai pamatysite ‘miglotą’ informaciją. Geriausias būdas suprasti katalogo sąvoką – įsivaizduoti, kad tai yra rodyklių į kitus failus visuma. Katalogas gali turėti rodykles į kitus katalogus. Tai leidžia organizuoti failus į hierarchinę sistemą. Kaip matysime vėliau, Unix failų sistema yra organizuota kaip didžiulė failų ir katalogų hierarchija.

Paskutinis failų tipas – tai SPECIALŪS, arba PRIETAISŲ failai, kurie yra vidinė fizinių prietaisų reprezentacija. Pvz., klaviatūra, displėjus, spausdintuvas, disko tvarkyklė – visi jūsų sistemos prietaisai gali būti pasiekiami kaip failai. Pasiusti duomenis į ekraną, ar į kitą terminalą, galima paprasčiausiai juos rašant į failą, kuris reprezentuoja atitinkamą prietaisą.

Pvz.,

Unix’e yra tokie failų tipai:

Tipas Žymėjimas

Regulai (-)

Directory (d)

Hard Links (-)

Soft Links (l)

Block special (b)

Character special (c)

Socket (s)

Named pipe (p)

Kiekvienas sistemos failas turi taip vadinamą inode bloką, kuriame yra informacija apie

failą. Inode blokas turi tokią struktūrą: —struct stat {

dev_t st_dev; ino_t st_ino; u_short st_mode; short st_nlink; short st_uid; short st_gid; dev_t st_rdev; device */

off_t st_size;

time_t st_atime;

int st_sparel;

time_t st_mtime;

int st_spare2;

time_t st_ctime;

int st_spare3;

long st_blksize;

long st_blocks;

long st_spare4;

u_long st_gennum;

};



/* device inode resides on */

/* this inode‘s number */

/* protection */

/* number or hard links to the file */

/* user-id of owner */

/* group-id of owner */

/* the device type, for inode that is

/* total size of file */

/* file last access time */

/* file last modify time */

/* file last status change time */

/* optimal blocksize for file system i/o ops */

/* actual number of blocks allocated */

/* file generation number */

Pagrindiniai šios struktūtos laukai st_mode (the permission bits), st_uid – UID, st_gid – GID, ir st_*time (assorted time fields).

Failo laikai

Unix įrašo į inode tris failo laikus, kurie vadinami ctime, mtime, ir atime.

ctime rodo paskutinį inode bloko keitimo laiką; mtime rodo paskutinį failo modifikavimo laiką; atime rodo paskutinį kreipimosi į failą laiką.

Inod‘o ctime kinta visuomet, kai į failą yra rašoma, arba kinta jo apsaugos ar nuosavybės bitai. Paprastai ctime geriau pažymi failo modifikavimą, negu laukas mtime.

Failo laikai yra svarbūs ir įvairiais būdais naudojami sistemos administravimo metu. Pvz., darant diskų kopijas.

4.2 Tekstiniai ir dvejetainiai failai, bitai ir baitai

Paprasti failai gali būti labai įvairūs, kadangi labai įvairūs gali būti juose saugomi duomenys. Tačiau, plačiąja prasme, paprastus failus galima skirti į dvi grupes: tekstinius failus ir dvejetainius failus.

TEKSTINIAI failai yra paprasti failai, kuriuose saugomi tik ASCII simboliai: duomenys, kuriuos galima surinkti klaviatūros pagalba. Trumpai tariant, skirtingus ASCII simbolius reprezentuoja 128 skirtingi kodai: didžiosios ir mažosios raidės, skaičiai, tarpo simbolis, tabuliacijos simbolis, skyrikliai, o taip pat valdymo simboliai. Praktinė taisyklė: jei paprastame faile saugomi duomenys, kuriuos jūs galite suprasti ir tvarkyti teksto redaktoriaus pagalba, tai tas failas yra tekstinis. Priešingu atveju yra dvejetainis failas.

Tekstinio failo kiekvienas ASCII kodas saugomas viename baite. Tokiu būdu failas, turintis 1000 simbolių, yra 1000-ties baitų ilgio. Griežtai kalbant, ASCII kodas naudoja septynis bitus vienam simboliui (baite yra 8 bitai). Kiekvieno baito aštuntas bitas (kairysis) visuomet turi nulinę reikšmę. Apibendrinant galima pasakyti, kad tekstinis failas saugo ASCII simbolius ir
naudoja kiekvienam simboliui septynis baito bitus. Dvejetainis failas saugo duomenis, kurių kodams naudojami visi aštuoni kiekvieno baito bitai.

Katalogai ir Pakatalogiai

Failų organizavimui į hierarchinę sistemą naudojami katalogai. Mes grupuojame failus į grupes ir saugome kiekvieną grupę atskirame kataloge. Kadangi katalogas taip pat yra failas, tai kataloge gali būti saugomi kiti katalogai.

4.3 Medžio pavidalo failų sistema

Unix sistemą sudaro daugybė failų, kurie organizuojami į tam tikrą struktūrą, naudojant katalogus ir pakatalogius. Unix failų sistema pagrįsta vienu pagrindiniu katalogu, vadinamu šakniniu katalogu (ROOT DIRECTORY). Šakninis katalogas yra protėvis visų kitų sistemos katalogų.

Pateiktoje schemoje parodytas Unix failų sistemos turinys. Tokius katalogus naudoja Berkeley Unix pagrindu sukurtos sistemos. System V, arba kitu pagrindu sudarytos sistemos gali nežymiai skirtis nuo čia pateiktos. Tai ką jūs matote yra tik nuogas skeletas. Visos Unix sistemos turės ir kitus, sistemų administratorių sukurtus katalogus.

4.3 Medžio pavidalo failų sistema

Unix sistemą sudaro daugybė failų, kurie organizuojami į tam tikrą struktūrą, naudojant katalogus ir pakatalogius. Unix failų sistema remiasi viena pagrindiniu katalogu, vadinamu ROOT DIRECTORY (šakninis katalogas). Šakninis katalogas yra protėvis visų kitų sistemos katalogų.

Pateiktoje schemoje parodytas Unix failų sistemos turinys. Tokius katalogus naudoja Berkeley Unix pagrindu sukurtos sistemos. System V, arba kitu pagrindu sudarytos sistemos gali nežymiai skirtis nuo čia pateiktos. Tai ką jūs matote yra tik nuogas skeletas. Visos Unix sistemos turės ir kitus, sistemų menedžerių sukurtus katalogus.

Nesunku pastebėti, kad Unix failų sistema panaši į apverstą medį. Žodis root buvo parinktas tam, kad pabrėžti pagrindinę medžio liemens dalį. Kadangi šakninio katalogo vaidmuo yra labai svarbus, tai šis vardas dažnai turi būti naudojamas komandose. Todėl buvo įvestas žodžio root sutrumpinimas / (slash).

Pvz., ls

komanda parodys visus specifikuoto katalogo failų vardus. Visus šakninio katalogo failus parodo komanda

ls /

Šaknyje esantis failas, arba katalogas nurodomi rašant / prieš atitinkamą vardą. Pav., formalus etc katalogo vardas yra /etc. Katalogas, arba failas, esantis kitame kataloge, nurodomi atskiriant vardus simboliu /. Pav., kataloge /etc yra passwd failas. Formalus šio failo vardas yra /etc/passwd. Panašiai, jeigu /usr kataloge yra kitas katalogas dict, o jame yra failas words, tai formalus šio failo vardas yra /usr/dict/words.

Simbolis / turi dvi skirtingas reikšmes. Failo vardo pradžioje jis reiškia šakninį katalogą. Failo vardo viduryje jis atlieka skyriklio vaidmenį.

Gerai supratus pateiktą Unix katalogų medį, galima pastebėti, kad, visi katalogai, išskyrus šakninį (/), priklauso kitam katalogui. Tokiu būdu, visi katalogai, išskyrus šakninį, yra pakatalogiai. Paprastumo dėlei mes juos vadiname katalogais.

Root kataloge yra trys, etc, tmp, ir usr vardais pavadinti pakatalogiai. Tokie vardai buvo parinkti todėl, kad jie yra trumpi ir lengvai surenkami klaviatūroje. Tačiau jie sunkiai ištariami. Todėl susitarta etc vadinti etcetera, tmp – temp, o usr – user. Pav., failo / et c/pas swd vardas tariamas slash etcetera slash password.

Root katalogas

Tai visos sistemos pagrindas. Paprastai jame talpinami tik kiti katalogai. Tačiau šaknyje būna vienas svarbus failas: programa, kuri vadinama Unix branduoliu (kernel). Berkeley Unix sistemose ši programa vadinama vmunix (virtual memory Unix). Unix sistemos menedžeris prisijungia prie sistemos root vardu. Dabar yra aiški šito vardo kilmė: root katalogas yra aukščiausiame failų sistemos lygyje.

4.4 BSD standartiniai katalogai ir jų turinys

Kelias Turinys

/

/bin arba /sbin

/dev

/etc

/lib

/tmp

/sys

/proc

/stand

/usr/bin

/usr/games

/usr/include

/usr/5bin

/usr/etc

/usr/sbin

/usr/lib

/usr/man

/var/adm

/var/spool

/var/tmp

/usr/usb

/usr/local

/usr/local/adm

/usr/local/bin

/usr/local/etc

/usr/local/lib

/usr/local/sbin

/usr/local/src

/kernel

‘root’ katalogas

minimaliam sistemos funkcionavimui reikalingos komandos

terminalus, diskus, modemus, etc. reprezentuojantys įtaisų failai

sistemos startavimo ir konfigūracijos failai

C kompiliatoriaus bibliotekos

laikini failai, kurie išnyksta perkrovus sistemą

branduolio generavimo darbinė sritis, konfigūracijos failai (BSD)

visų vykdomų procesų atvaizdai (naujesnėse sistemose)

Stand-alone utilitos, diskų formatavimo priemonės, etc.

vykdomieji failai

žaidimai ir kt. (daugelis jų nelabai įdomūs)

C programų h-failai

System V komandų analogai skirti BSD sistemoms

sistemos palaikymo komandos

papildomos sistemos palaikymo komandos

standartinių UNIX programų palaikymo failai

cOn-line manual’ puslapiai

apskaitos failai, resusų naudojimo įrašai

printerių ‘spooling’ katalogai, UUCP, mail, etc.

laikina sritis (filai neišnyksta po sistemos perkrovimo)

Berkeley utilitos ir programos

lokali programinė įranga (jūsų instaliuoti paketai)

lokalūs apskaitos ir šabloniniai failai

lokalūs vykdomieji failai

lokalūs sistemos konfiguravimo failai ir komandos

lokalūs pagalbiniai failai

lokalios sistemos palaikymo komandos

/usr/local/* išeities kodas

failai, kurie reikalingi branduolio užkrovimui (Solaris)

kataloge saugomos bazinės programos, iš kurių susideda pati Unix sistema. Čia galima rasti daugelį Unix komandų, t.y. failų, kurie vykdomi pagal atitinkamą komandą. Vardas bin gali būti traktuojamas dvejopai: daugelis failų yra dvejetainiai (binary); tai programų saugykla;

/dev kataloge yra specialūs failai, kurie reprezentuoja fizinius įtaisus. Paprastai vartotojai nenaudoja šių failų tiesiogiai. Tačiau norint taip daryti – Unix sistema yra atvira (vėliau bus pateiktas pavyzdys).

/etc katalogas skirtas sistemos administratoriui. Čia saugomi failai ir programos, reikalingi sistemos valdymui. Plačiausiai žinomas yra sistemos slaptažodžių failas passwd. Kitas žinomas failas yra temcap (kitose sistemose tenninfo), t.y. visų terminalų, kuriuos gali naudoti Unix, techninių apršymų duomenų bazė.

/lib kataloge yra programuotojų naudojamų programų biblioteka.

/lost+found katalogą naudoja speciali programa, kuri tikrina Unix failų sistemą. Kai ši programa randa failą, kuris nepriklauso jokiam katalogui (avarinis atvejis), tas failas talpinamas į llost+found katalogą. Tokiu būdu sistemos administratorius gali priimti tolimesnius sprendimus.

/sys kataloge yra taip vadinami sistemos išeities failai. Jie gali dominti sistemos administratorių ir programuotojus.

/tmp katalogas – tai laikina saugykla.Kiekvienas gali laikinai talpinti čia savo failus, tačiau laikas-nuo-laiko visi failai šalinami automatiškai. Paprastai čia talpinami laikini failai, kurie reikalingi programos vykdymui. Pav., naudojant vi redaktorių, redaguojamo failo kopija laikoma l tmp kataloge.

/usr kataloge yra visa eilė svarbių pakatalogių. Tai vienas iš svarbiausių šaknies pakatalogių. Jis pats suskirstytas į visą eilę pakatalogių.

/usr/bin katalogas, kaip ir jo bendravardis šaknyje, skirta vykdomųjų failų laikymui. /usr/dict – tai Unix žodyno naudojami failai. Faktiškai – tai žodžių sąrašas. /usr/games – tai žaidimų ir kitų atrakcijų katalogas.

/usr/include katalogas saugo taip vadinamus C programavimo kalbos ‘include’ (arba £h’) failus, kuriuos naudoja programuotojai įvairiose programose kompiliavimo metu.

/usr/lib – tai analogiška /lib’ui biblioteka, svarbi tik programuotojams.

/usr/local – tai sistemos administratoriaus patogumui skirtas katalogas, kuriame gali būti saugomos vietinės reikšmės programos ir dokumentacija.

/usr/man katalogas turi visą eilę pakatalogių ir failų, kuriuos naudoja „Unix on-line manual“, t.y. operatyvi chelp’ tipo dokumentacijos sistema.

/usr/spool – pakelės stotelės vaidmenį atliekantis katalogas. Čia laikomi duomenys, kurie buvo kur nors pasiusti. Pav., kai jūs spausdinate failą, tai tas failas, kartu su sistemine informacija laikomas šiame kataloge. Failas laikomas čia iki tol, kol galės būti atspausdintas. Lygiai taip pat čia patenka ir pasiusti elektroniniu paštu laiškai, kol jie iš tikrųjų ‘palieka’ kompiuterį.

/usr/src kataloge saugomas jūsų Unix sistemos išeities kodas. Jeigu jūsų Unix yra licenzijuotas (galima pirkti pačią Unix sistemą,arba jos licenziją), tai čia saugomas išeities kodas, leidžiantis „žvilgterėti j sistemos vidų“, daryti pakeitimus ir perkompiliuoti sistemą.

/usr/ucb – čia laikomos programos, kurios buvo sukurtos Kompiuterių mokslo departamente, University of California at Berkeley.

4.5 System V Unix’o Standartinių katalogų paskirtis

/dev

The device directory contains all files that represent peripheral devices. Subdirectories of /dev hold the special files for the access modes of a given type of device.

/dev/dsk

The disk directory holds the device files for disks.

/dev/mt

This directory contains the device files for tapė drives.

/dev/term

This directory holds the device files for terminais.

/dev/pts

This directory contains the device files for pseudo-terminals. A pseudo-terminal mimics a a terminai although rather than being connected to an actual terminai it iš connected to a process. Pseudo-terminals are used by networking programs such aš rlogin.

/dev/ŠA

This directory iš now obselete.

/etc

The etc directory holds system configuration files aš well aš some administrative files.

/etc/bkup

This directory iš used to store dump dates.

/etc/default

The default directory holds files containing the default values for various commands.

/etc/init.d

This directory holds shell scripts that are used to transition between run levels in the

system. These scripts are run when the system iš booted and brought into multi-user

mode.

/etc/rc.d

This directory contains all the files and commands associated with all the run levels for the system. rcO.d, rcl.d, rc2.d, and rcS.d all link back to this file for information.

/etc/rcO.d

Files in this directory are associated with run level O, which iš actually a powered down

statė.

/etc/rcl.d

This directory holds files that are executed to bring the system to run level l, or single-

user mode. This run level iš also referred to aš „s“ or „S“.

/etc/rc2.d

This directory contains files used to transition the system to run level 2. Level 2 iš also

known aš muliuser mode and iš the normai mode for the system.

/etc/rc3.d

This directory contains files used to movė the system to run level 3.

/etc/skel

This directory contains Standard initialization files for the system.

/sbin

The sbin directory contains system administration files that are needed during the
process.

/home

Users home directories are typically subdirectories of the /home directory.

/mnt

Mount directory. An empty directory conventionally designed for temporarily mounting disk partitions.

/tmp

Temporary directory, available to all users aš a scratch directory. The system administrator should see that all the files in this directory are deleted occasionally. Normally, one of the UNIX startup scripts will clear /tmp.

/usr

This directory typically contains files that are used by the system, aš well aš subdirectories containing files that need to be shared likę man pages and user commands.

/usr/bin

Typically holds Standard Unix utility programs. Under BSD this directory iš called /bin.

/usr/sbin

Likę /sbin this directory contains Utilities for system administration. The Utilities found

in /usr/sbin are usually needed after the system iš up rather than at boot time.

/usr/games

This directory contains the Standard UNIX games collection. Some sites choose to remove this directory.

/usr/include

Include files. This directory contains C-language header files which define the C programmer’s interface to Standard system features and program libraries. For example, it contains the file stdio.h, which defines the user’s interface to the C Standard I/O library. The directory /usr/include/sys contains operating system include files.

/usr/lib

Library directory, for public library files. Among other things, this directory contains the Standard C libraries for mathematics and I/O. This directory may also contain certain configuration files for UNIX services such aš mail. Finally, subdirectories of /usr/lib contain command and configuration files for various Standard UNIX facilities likę uucp and lex and optional softvvare products.

Šiuo metu Jūs matote 30% šio straipsnio.
Matomi 2608 žodžiai iš 8616 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.