Mikä on erityinen tiedosto?

Tietokoneen käyttöjärjestelmässä erityinen tiedosto on yksi tiedostotyyppi, joka voidaan tallentaa tiedostojärjestelmään. Erikoistiedostoa kutsutaan joskus myös laitteen tiedostoksi .

Erikoistiedoston tarkoituksena on paljastaa laite tiedostona tiedostojärjestelmässä. Erikoistiedosto tarjoaa yleisen käyttöliittymän laitteille (ja ytimen luomille ja käyttämille virtuaalisille laitteille), koska tiedostojen I / O-työkaluja voidaan käyttää laitteen käyttöön.

Kun data on punainen tai kirjoitettu erityiseen tiedostoon, toiminto tapahtuu välittömästi, eikä siihen sovelleta tavanomaisia ​​tiedostojärjestelmäsääntöjä.

Linuxissa on erityyppisiä erityyppisiä tiedostoja: estää erityisiä tiedostoja ja erikoismerkkejä .

Lohkon erityinen tiedosto toimii suorana rajapintana liitäntälaitteelle. Lohkolaite on mikä tahansa laite, joka suorittaa datan I / O-lohkojen yksiköissä.

Esimerkkejä erityisistä tiedostoista:

  • / dev / sd xn - asennettujen fyysisten tallennuslaitteiden osiot. Kirjain x viittaa fyysiseen laitteeseen, ja numero n tarkoittaa kyseisen laitteen osiota. Esimerkiksi / dev / sda1 on tyypillisesti ensimmäinen fyysisen tallennuslaitteen ensimmäinen osio.
  • / dev / loop n - loop - laitteet. Nämä ovat erityisiä laitteita, joiden avulla tiedostojärjestelmässä olevaa tiedostoa voidaan käyttää lohkolaitteena. Tiedosto voi sisältää koko omaa tiedostojärjestelmäänsä ja käyttää sitä kuin jos se olisi asennettu osio fyysiseen tallennuslaitteeseen. Esimerkiksi ISO-levykuva-tiedosto voidaan asentaa silmukka-laitteeksi.

Jos haluat tietää, kuinka suuri lohko on järjestelmässäsi, suorita " blockdev --getbsz- laite " rootiksi, esim.

 sudo blockdev --getbsz / dev / sda1 
 4096 

Tässä esimerkissä lohkon koko on 4096 tavua (4 kibibytiä).

Merkitse erityisiä tiedostoja

Merkkikohtainen tiedosto on samanlainen kuin lohkolaite, mutta tiedot kirjoitetaan kerrallaan yhdellä merkillä (kahdeksan bittiä tai yksi tavu).

Esimerkkejä erikoismateriaaleista:

  • / dev / stdin (vakiosyöttö.)
  • / dev / stdout ( vakioulostulo .)
  • / dev / stderr ( vakiovirhe .)
  • / dev / random (PRNG, joka voi viivästyttää arvon palauttamista hankkimaan lisää entropiaa.)
  • / dev / urandom (PRNG, joka palauttaa arvon välittömästi, riippumatta vaaditusta entropiasta.)
  • / dev / null (nollalaite. Tästä tiedostosta luetaan aina tyhjä tavu; tähän tiedostoon kirjoittaminen ei onnistu.)

Linux-tiedostotyypit

Linux-ytimessä tiedostotyypit ilmoitetaan otsikkotiedostossa sys / stat.h. Jokaisen Linux-tiedostotyypin tyypin nimi, symbolinen nimi ja bittikartta on lueteltu alla.

Miten voin kertoa, onko tiedosto erityinen?

Testaa lohkojen erityistesti

Bashissa komento " test -b- tiedosto " palauttaa poistumistilan 0, jos tiedosto on erityinen, tai 1, jos tiedosto on toisen tyyppinen tai sitä ei ole.

 testi -b / dev / sda1; echo $? # tarkista, onko testin esto, echo exit 
 0 
 test -b / dev / null; echo $? # -merkkiset erityistiedostot eivät ole erityisiä 
 1 

Testaa erikoismerkkiä

Voit selvittää, onko tiedosto erikoismerkki, käytä " test -c- tiedostoa ":

 test -c / dev / null; echo $? 
 0 

Käyttämällä stat

Voit myös tarkistaa tiedoston tyypin:

 stat / dev / sda1 
 Tiedosto: / dev / sda1 Koko: 0 Lohkot: 0 IO Lohko: 4096 lohko erityinen tiedosto Laite: 6h / 6d Inode: 7998 Linkit: 1 Laitteen tyyppi: 8, 1 Access: (0660 / brw-rw ----) Uid : (0 / root) Gid: (6 / disk) Access: 2018-07-08 06: 41: 25.540000000 -0400 Muokkaa: 2018-07-08 06: 41: 25.540000000 -0400 Change: 2018-07-08 06: 41: 25.540000000 -0400 Syntymä: - 
 stat / dev / random 
 Tiedosto: / dev / random Koko: 0 Lohkot: 0 IO Lohko: 4096 merkkikohtainen tiedosto Laite: 6h / 6d Inode: 6518 Linkit: 1 Laitetyyppi: 1, 8 Access: (0666 / crw-rw-rw-) Uid: (0 / root) Gid: (0 / root) Access: 2018-07-08 06: 41: 19.676000000 -0400 Muokkaa: 2018-07-08 06: 41: 19.676000000 -0400 Muutos: 2018-07-08 06:41 : 19.676000000 -0400 Syntymä: - 

Inode, käyttöjärjestelmän ehdot, vakiosyöttö (stdin), vakioulostulo (stdout)