Mida tähendab "kõik on fail" Linuxis?

Sisukord:

Mida tähendab "kõik on fail" Linuxis?
Mida tähendab "kõik on fail" Linuxis?

Video: Mida tähendab "kõik on fail" Linuxis?

Video: Mida tähendab
Video: ICE SCREAM STREAM CREAM DREAM TEAM - YouTube 2024, Aprill
Anonim
Linuxi ja teiste UNIX-like operatsioonisüsteemide üheks määratlevaks omaduseks on see, et "kõik on fail". See on ülikõrge lihtsustamine, kuid mõista, mis see tähendab, aitab teil mõista, kuidas Linux töötab.
Linuxi ja teiste UNIX-like operatsioonisüsteemide üheks määratlevaks omaduseks on see, et "kõik on fail". See on ülikõrge lihtsustamine, kuid mõista, mis see tähendab, aitab teil mõista, kuidas Linux töötab.

Linuxis ilmuvad paljud asjad teie failisüsteemis, kuid need ei ole tegelikult failid. Need on erifailid, mis esindavad riistvara, süsteemiteavet ja muid asju - sealhulgas juhuslike numbrite genereerija.

Need spetsiaalsed failid võivad asuda pseudo või virtuaalsetes failisüsteemides, näiteks / dev, mis sisaldab seadmeid esindavate erifailide ja / proc, mis sisaldavad spetsiaalseid faile, mis esindavad süsteemi ja protsessi teavet.

/ proc

Näiteks ütleme, et soovite oma CPU teavet leida. Kataloog / proc sisaldab spetsiaalset faili - / proc / cpuinfo, mis sisaldab seda teavet.

Image
Image

Teil ei ole vaja spetsiaalset käsku, mis ütleks teile oma protsessori info - saate lihtsalt selle faili sisu lugeda, kasutades standardseid käske, mis töötavad tavaliste tekstifailidega. Näiteks võite kasutada käsku cat / proc / cpuinfo selle faili sisu printimiseks terminalile - CPU teabe printimine terminalile. Võite isegi tekstiredaktoris avada / proc / cpuinfo selle sisu vaatamiseks.

Pidage meeles, et / proc / cpuinfo ei ole tegelikult sellist infot sisaldav tekstifail - Linuxi kernel ja failifunktsioonid pakuvad seda meile failina. See võimaldab meil kasutada tuttavaid tööriistu teabe vaatamiseks ja töötamiseks.

Kataloogi / proc sisaldab ka teisi sarnaseid faile, näiteks:
Kataloogi / proc sisaldab ka teisi sarnaseid faile, näiteks:
  • / proc / uptime - näitab teie Linuxi kerneli tööaega - teisisõnu, kui kaua süsteem on olnud ilma sulgemata.
  • / proc / version - ilmub teie Linuxi tuuma versioon.

/ dev

Kataloogis / dev näete faile, mis esindavad seadmeid, aga ka faile, mis esindavad teisi erilisi asju. Näiteks / dev / cdrom on teie CD-ROM-draiv. / dev / sda on esimene kõvaketas, samal ajal kui / dev / sda1 on esimene kõvakettale esimene partitsioon.

Kas soovite CD-ROMi paigaldada? Käivitage mäluseade ja määrake seade, mida soovite paigaldada, määrake / dev / cdrom. Kas soovite oma esimese kõvaketta partitsiooni jagada? Käivitage ketta osadeks jagamise utiliit ja määrake / dev / sda kõvakettale, mida soovite redigeerida. Kas soovite esimesel kõvakettalt esimese partitsiooni vormindada? Käivitage vormindamise käsk ja määrake / dev / sda1 vormindamiseks.

Nagu näete, on nende seadmete osutamine failisüsteemil oma eelised. Failisüsteem tagab järjepideva "nime ruumi", mida kõik rakendused saavad seadmetega tegelemiseks ja neile juurdepääsu saamiseks kasutada.
Nagu näete, on nende seadmete osutamine failisüsteemil oma eelised. Failisüsteem tagab järjepideva "nime ruumi", mida kõik rakendused saavad seadmetega tegelemiseks ja neile juurdepääsu saamiseks kasutada.

/ dev / null, / dev / random, ja / dev / zero

Failisüsteem / dev ei sisalda ainult faile, mis kujutavad füüsilisi seadmeid. Siin on kolm kõige märkimisväärsemat spetsiaalset seadet, mida see sisaldab:

  • / dev / null - tühistab kõik talle kirjutatud andmed - mõtle sellele prügikasti või musta auku. Kui näete kommentaari, mis ütleb, et saatke kaebusi / dev / nullile - see on jumalik viis öelda "viska need prügikasti".
  • / dev / random - toodab juhuslikkust keskkonnamüra abil. See on juhusliku numbri genereerija, kuhu saate koputada.
  • / dev / zero - toodab nulle - pidev nulli vool.

Kui te arvate neist kolmest failidest, siis te ei näe nende jaoks kasutust. Selle asemel mõtle neile kui tööriistadele.

Näiteks vaikimisi panevad Linuxi käskud veateateid ja muud väljundit, mida nad printivad standardväljundisse, tavaliselt terminali. Kui soovite käsku käivitada ja hoolimata selle väljundist, saate selle väljundi suunata / dev / nullile. Käsu väljundi suunamine / dev / null kohe viskab selle ära. Selle asemel, et iga käsu rakendada oma "vaikne režiim", saate seda meetodit kasutada mis tahes käsuga.

command > /dev/null

Kui soovite, et juhuslikkuse allikas - näiteks krüpteerimisvõtme loomiseks - ei oleks vaja kirjutada oma juhusliku numbri genereerijat - võite kasutada / dev / juhuslikku.
Kui soovite, et juhuslikkuse allikas - näiteks krüpteerimisvõtme loomiseks - ei oleks vaja kirjutada oma juhusliku numbri genereerijat - võite kasutada / dev / juhuslikku.

Kõvaketta sisu kustutamiseks, kirjutades sellele 0-sid, pole vaja erilist utiliidi, mis oleks pühendatud kettaseadme nulliksimisele - võite kasutada standardseid kommunikatsioone ja / dev / zero. Näiteks: dd käsk loeb asukohast ja kirjutab teise asukohta. Järgmine käsk loeb nullidest / dev / nullist nullid ja kirjutab need otse teie süsteemi esimesele kõvaketta partitsioonile, kustutades selle sisu täielikult.

(Hoiatus: See käsk kustutab kõik teie esimese partitsiooni andmed selle käivitamisel. Käivita ainult käsk, kui soovite andmeid hävitada.)

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

Siin kasutame dd spetsiifiliste failidega (/ dev / zero ja / dev / sda1), kuid võime ka kasutada dd lugeda ja kirjutada tegelikele failidele. Sama käsk toimib nii seadmete käsitsemiseks otse kui ka failidega töötamisel.

Täpsustamine

Praktikas on täpsem öelda, et "kõik on baitide voog" kui "kõik on fail". / Dev / random ei ole fail, kuid kindlasti on see baitide voog.Ja kuigi need asjad ei ole tehnilised failid, on need failisüsteemis kättesaadavad - failisüsteem on universaalne "nime ruum", kus kõik on kättesaadav. Kas soovite juhusliku arvu generaatorile juurdepääsu või otse seadmest lugeda? Leiad mõlemad failisüsteemis; ühtegi muud vormistamist ei vaja.

Loomulikult ei ole mõned asjad tegelikult faile - süsteemis töötavad protsessid ei ole failisüsteemi osa. "Kõik on fail" on ebatäpsed, kuid palju asju käituvad failidena.

Soovitan: