Mitä "Kaikki on tiedosto" tarkoittaa Linuxia?

Sisällysluettelo:

Mitä "Kaikki on tiedosto" tarkoittaa Linuxia?
Mitä "Kaikki on tiedosto" tarkoittaa Linuxia?

Video: Mitä "Kaikki on tiedosto" tarkoittaa Linuxia?

Video: Mitä
Video: Mitä on hyvä tietää uutta älypuhelinta ja liittymää ostaessa? - YouTube 2024, Huhtikuu
Anonim
Yksi Linux-käyttöjärjestelmän ja muiden UNIX-tyyppisten käyttöjärjestelmien määritelmistä on, että "kaikki on tiedosto". Tämä on yksinkertaistamista, mutta ymmärrys siitä, mitä se tarkoittaa, auttaa sinua ymmärtämään, miten Linux toimii.
Yksi Linux-käyttöjärjestelmän ja muiden UNIX-tyyppisten käyttöjärjestelmien määritelmistä on, että "kaikki on tiedosto". Tämä on yksinkertaistamista, mutta ymmärrys siitä, mitä se tarkoittaa, auttaa sinua ymmärtämään, miten Linux toimii.

Linuxissa esiintyy monia asioita tiedostojärjestelmässä, mutta ne eivät todellisuudessa ole tiedostoja. Ne ovat erityisiä tiedostoja, jotka edustavat laitteistoja, järjestelmätietoja ja muita asioita - mukaan lukien satunnaislukugeneraattori.

Nämä erikoistiedostot voivat sijaita pseudo- tai virtuaalisissa tiedostojärjestelmissä kuten / dev, joka sisältää erityisiä tiedostoja, jotka edustavat laitteita ja / proc, joka sisältää erityisiä tiedostoja, jotka edustavat järjestelmä- ja prosessitietoja.

/ proc

Oletetaan esimerkiksi, että haluat löytää tietoa suorittimestasi. / Proc -hakemisto sisältää erityisen tiedoston - / proc / cpuinfo -, joka sisältää nämä tiedot.

Image
Image

Et tarvitse erityistä komentoa, joka kertoo CPU-tiedostosi - voit lukea tämän tiedoston sisällön käyttäen mitä tahansa vakiokomentoa, joka toimii tavallisen tekstitiedoston kanssa. Voit esimerkiksi käyttää komentoa cat / proc / cpuinfo tulostaa tämän tiedoston sisältö päätteeseen - tulostat CPU-tiedot päätteelle. Voit jopa avata / proc / cpuinfo tekstieditorissa sisällön tarkastelemiseksi.

Muista, että / proc / cpuinfo ei oikeastaan ole tekstitiedostoa, joka sisältää nämä tiedot - Linux-ydin ja proc-tiedostojärjestelmä paljastavat nämä tiedot meille tiedostoina. Näin voimme käyttää tuttuja työkaluja tietojen tarkastelemiseen ja käsittelemiseen.

/ Proc -hakemisto sisältää myös muita vastaavia tiedostoja, esimerkiksi:
/ Proc -hakemisto sisältää myös muita vastaavia tiedostoja, esimerkiksi:
  • / proc / uptime - Näyttää Linux-ytimen käytettävyyden - toisin sanoen, kuinka kauan järjestelmäsi on ollut päältä sulkematta.
  • / proc / version - Näyttää Linux-ytimen version.

/ dev

/ Dev-hakemistossa löytyy tiedostoja, jotka edustavat laitteita - samoin kuin tiedostoja, jotka edustavat muita erikoisia asioita. Esimerkiksi / dev / cdrom on CD-asema. / dev / sda edustaa ensimmäistä kiintolevyä, kun taas / dev / sda1 edustaa ensimmäistä kiintolevyn ensimmäistä osuutta.

Haluatko asentaa CD-levyt? Suorita mount-komento ja määritä / dev / cdrom laitteeksi, jonka haluat asentaa. Haluatko jakaa ensimmäisen kiintolevyn? Suorita levyn osiointiapuohjelma ja määritä / dev / sda kiintolevyksi, jota haluat muokata. Haluatko muodostaa ensimmäisen osion ensimmäiselle kiintolevylle? Suorita muotoilukomento ja kerro sille, että se muodostaa / dev / sda1.

Kuten näette, näiden laitteiden paljastaminen osana tiedostojärjestelmää on sen etuja. Tiedostojärjestelmä tarjoaa yhtenäisen "nimiavaruuden", jota kaikki sovellukset voivat käyttää laitteiden käsittelemiseen ja käyttöön.
Kuten näette, näiden laitteiden paljastaminen osana tiedostojärjestelmää on sen etuja. Tiedostojärjestelmä tarjoaa yhtenäisen "nimiavaruuden", jota kaikki sovellukset voivat käyttää laitteiden käsittelemiseen ja käyttöön.

/ dev / null, / dev / satunnainen ja / dev / nolla

/ Dev-tiedostojärjestelmä ei sisällä vain tiedostoja, jotka edustavat fyysisiä laitteita. Tässä on kolme merkittävintä erikoislaitteistoa, jotka se sisältää:

  • / dev / null - Poistaa käytöstä kaikki sille kirjoitetut tiedot - ajatella sitä roskakori tai musta aukko. Jos näet kommentin, joka kertoo, että lähetät valituksia / dev / nullille - se on geeky tapa sanoa "heittää ne roskakoriin".
  • / dev / random - Tuo satunnaisuuden ympäristömelun avulla. Se on satunnaislukugeneraattori, johon voit napauttaa.
  • / dev / nolla - Tuottaa nollia - jatkuva nollavirta.

Jos ajattelet näitä kolmea tiedostoina, et näe niitä käyttöä. Sen sijaan ajattele niitä työkaluina.

Esimerkiksi oletuksena Linux-komennot tuottavat virheilmoituksia ja muita tulosteita, jotka ne tulostavat vakiotuloon, tavallisesti päätteeseen. Jos haluat suorittaa komennon eikä välitä sen tuotosta, voit ohjata kyseisen tuoton uudelleen / dev / null: iin. Komentokäskyjen uudelleenohjaus / dev / null -tiedosto hylkää sen välittömästi. Sen sijaan, että jokainen komento toteuttaa oman "hiljaisen tilan", voit käyttää tätä menetelmää millä tahansa komennolla.

command > /dev/null

Jos haluat satunnaislähteen - sanot salausavain generoimalla sinun ei tarvitse kirjoittaa oma satunnaislukugeneraattori - voit käyttää / dev / satunnaista.
Jos haluat satunnaislähteen - sanot salausavain generoimalla sinun ei tarvitse kirjoittaa oma satunnaislukugeneraattori - voit käyttää / dev / satunnaista.

Jos haluat poistaa kiintolevyn sisällön kirjoittamalla 0: n siihen, et tarvitse erityistä apuohjelmaa, joka on omistettu nollausasemalle - voit käyttää tavallisia apuohjelmia ja / dev / nollaa. Esimerkiksi dd komento lukee paikasta ja kirjoittaa toiselle paikalle. Seuraava komento lukee nollat / dev / nollaa ja kirjoittaa ne suoraan järjestelmään ensimmäiseen kiintolevyosiosiin, tyhjentämällä sen sisältö kokonaan.

(Varoitus: Tämä komento poistaa kaikki ensimmäisen osion tiedot, jos suoritat sen. Suorita tämä komento vain, jos haluat tuhota tietoja.)

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

Tässä käytämme dd: tä erikoistiedostoilla (/ dev / nolla ja / dev / sda1), mutta voimme myös käyttää dd: n lukea ja kirjoittaa todellisiin tiedostoihin. Sama komento toimii sekä manipuloimalla laitteita suoraan ja käsittelemällä tiedostoja.

Selvennys

Käytännössä on tarkempaa sanoa, että "kaikki on bytivirtaa" kuin "kaikki on tiedosto." / Dev / random ei ole tiedosto, mutta se on varmasti tavu tavuista.Ja vaikka nämä asiat eivät teknisesti ole tiedostoja, ne ovat käytettävissä tiedostojärjestelmässä - tiedostojärjestelmä on universaali "nimiavaruus", jossa kaikki on saatavilla. Haluatko käyttää satunnaislukugeneraattoria vai lukea suoraan laitteesta? Löydät molemmat tiedostossa; mitään muuta muotoilua ei tarvita.

Tietysti jotkut asiat eivät todellakaan ole tiedostoja - järjestelmissä käynnissä olevat prosessit eivät ole osa tiedostojärjestelmää. "Kaikki on tiedosto" on epätarkka, mutta monet asiat toimivat tiedostoina.

Suositeltava: