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