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.
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.
- / 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.
/ 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
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.