Ką "viskas yra failas" reiškia "Linux"?

Turinys:

Ką "viskas yra failas" reiškia "Linux"?
Ką "viskas yra failas" reiškia "Linux"?

Video: Ką "viskas yra failas" reiškia "Linux"?

Video: Ką
Video: Mažoji manipuliatorė: prigrasino tėvui, kad pasakys mamai esą jis ją muša - YouTube 2024, Gegužė
Anonim
Vienas iš pagrindinių "Linux" ir kitų "UNIX" tipo operacinių sistemų savybių yra tai, kad "viskas yra failas". Tai pernelyg paprastesnis, bet suprasti, ką reiškia, padės suprasti, kaip veikia "Linux".
Vienas iš pagrindinių "Linux" ir kitų "UNIX" tipo operacinių sistemų savybių yra tai, kad "viskas yra failas". Tai pernelyg paprastesnis, bet suprasti, ką reiškia, padės suprasti, kaip veikia "Linux".

Daugelis "Linux" dalykų atsiranda jūsų failų sistemoje, tačiau jie iš tikrųjų nėra failai. Tai specialūs failai, kurie vaizduoja aparatūros įrenginius, sistemos informaciją ir kitus dalykus, įskaitant atsitiktinių skaičių generatorių.

Šie specialieji failai gali būti pseudo arba virtualiose failų sistemose, pvz., / Dev, kuriose yra specialių failų, kurie yra įrenginiai, ir / proc, kuriuose yra specialių failų, kurie yra sistemos ir proceso informacijos.

/ proc

Pavyzdžiui, tarkime, kad norite rasti informacijos apie savo CPU. Kataloge / proc yra specialus failas - / proc / cpuinfo, kuriame yra šios informacijos.

Image
Image

Jums nereikia specialios komandos, kurioje nurodoma jūsų CPU informacija - galite tiesiog skaityti šio failo turinį naudodami bet kurią standartinę komandą, kuri veikia su teksto failais. Pavyzdžiui, galite naudoti komandą cat / proc / cpuinfo spausdinti šio failo turinį į terminalą - spausdinti jūsų procesoriaus informaciją į terminalą. Galite net atidaryti / proc / cpuinfo teksto redaktoriuje, kad galėtumėte peržiūrėti jo turinį.

Atminkite, kad / proc / cpuinfo iš tiesų nėra tekstinis failas, kuriame yra šios informacijos - Linux branduolys ir failų sistema proc yra tokios informacijos pateikimas mums kaip failas. Tai leidžia mums naudoti pažįstamus įrankius, kad galėtume peržiūrėti ir dirbti su informacija.

Kataloge / proc taip pat yra kitų panašių failų, pavyzdžiui:
Kataloge / proc taip pat yra kitų panašių failų, pavyzdžiui:
  • / proc / uptime - atskleidžia jūsų "Linux" branduolio veikimo laiką - kitaip tariant, kiek laiko jūsų sistema veikė be uždarymo.
  • / proc / version - aptinka "Linux" branduolio versiją.

/ dev

Kataloge / dev galite rasti failus, kuriuose yra įrenginių, taip pat failus, kuriuose yra kitų ypatingų dalykų. Pavyzdžiui, / dev / cdrom yra jūsų kompaktinių diskų įrenginys. / dev / sda yra pirmasis kietasis diskas, o / dev / sda1 yra pirmasis jūsų pirmojo kietojo disko skaidinys.

Norite prijungti savo CD-ROM? Paleiskite komandą mount ir nurodykite / dev / cdrom kaip įrenginį, kurį norite sumontuoti. Norite suskirstyti savo pirmąjį kietąjį diską? Vykdykite disko skaidinio įrankį ir nurodykite / dev / sda kaip standųjį diską, kurį norite redaguoti. Norite suformuoti pirmąjį skaidinį pirmame kietajame diske? Vykdykite formatavimo komandą ir praneškite, kad formatuotumėte / dev / sda1.

Kaip matote, šių prietaisų kaip dokumentų rinkinio dalis turi privalumų. Failų sistema užtikrina nuoseklią "pavadinimo erdvę", kurią visos programos gali naudoti norėdami spręsti įrenginius ir prieiti prie jų.
Kaip matote, šių prietaisų kaip dokumentų rinkinio dalis turi privalumų. Failų sistema užtikrina nuoseklią "pavadinimo erdvę", kurią visos programos gali naudoti norėdami spręsti įrenginius ir prieiti prie jų.

/ dev / null, / dev / random, ir / dev / nulis

Failų sistema / dev ne tik turi failus, kurie yra fiziniai įrenginiai. Čia yra trys labiausiai pastebimi specialūs įrenginiai, kuriuose yra:

  • / dev / null - atmeta visus į jį įrašytus duomenis - pagalvokite apie tai kaip šiukšliadėžę ar juodąją skylę. Jei kada nors matote komentarą, kuriame teigiama, kad siųskite skundą į / dev / null - tai gėdingas būdas sakyti "mesti juos į šiukšliadėžę".
  • / dev / random - generuoja atsitiktinumus naudojant aplinkos triukšmą. Tai atsitiktinių skaičių generatorius, į kurį galite prisijungti.
  • / dev / nulis - sukuria nulius - pastovus nulių srautas.

Jei manote apie šiuos tris kaip failus, nematysite jų naudojimo. Užuot galvoję apie juos kaip į įrankius.

Pavyzdžiui, pagal nutylėjimą komandos Linux generuoja klaidų pranešimus ir kitą produkciją, kurią jie spausdina į standartinę išvestį, paprastai terminalą. Jei norite paleisti komandą ir nerūpi jo išvesties, galite nukreipti šią išvestį į / dev / null. Peradresuoti komandų išvestį į / dev / null iškart pašalina. Vietoj to, kad kiekviena komanda įdiegtų savo "ramybės režimą", šį metodą galite naudoti bet kuria komanda.

command > /dev/null

Jei norite atsitiktinumo šaltinio - tarkim, generuojant šifravimo raktą, jums nereikės parašyti savo atsitiktinių skaičių generatoriaus - galite naudoti / dev / atsitiktinius.
Jei norite atsitiktinumo šaltinio - tarkim, generuojant šifravimo raktą, jums nereikės parašyti savo atsitiktinių skaičių generatoriaus - galite naudoti / dev / atsitiktinius.

Norėdami ištrinti kietojo disko turinį rašydami 0, nereikalingas specialus įrankis, skirtas nuliuojant diską - galite naudoti standartines priemones ir / dev / nulį. Pavyzdžiui, dd komanda skaito iš vietos ir rašo į kitą vietą. Ši komanda gali skaityti nulius iš / dev / zero ir įrašyti juos tiesiai į pirmąjį standžiojo disko skaidinį savo sistemoje, visiškai ištrindami jo turinį.

(Įspėjimas: Ši komanda ištrins visus jūsų pirmojo skaidinio duomenis, jei ją paleidžiate. Jei norite sunaikinti duomenis, paleiskite šią komandą.)

dd if=/dev/zero of=/dev/sda1

Čia mes naudojame dd su specialiais failais (/ dev / zero and / dev / sda1), bet mes galime taip pat naudoti dd, kad galėtume perskaityti ir įrašyti į faktinius failus. Ta pati komanda veikia tiek tiesiogiai manipuliuoti įrenginiais, tiek dirbant su failais.

Paaiškinimas

Praktiškai tiksliau sakoma, kad "viskas yra baitų srautas", o ne "viskas yra byla". / Dev / random - tai ne failas, bet tai tikrai baitų srautas.Ir nors šie dalykai techniškai nėra failai, jie yra prieinami failų sistemoje - failų sistema yra universali "vardų erdvė", kurioje viskas yra prieinama. Norite pasiekti atsitiktinių skaičių generatorių arba skaityti tiesiogiai iš įrenginio? Jūs rasite abu failų sistemoje; jokios kitos formos adresavimo nereikia.

Žinoma, kai kurie dalykai nėra failai - jūsų sistemoje veikiantys procesai nėra failų sistemos dalis. "Viskas yra failas" yra netikslus, tačiau daug dalykų elgiasi kaip failai.

Rekomenduojamas: