Mit jelent a "Minden a fájl" Mean Linux alatt?

Tartalomjegyzék:

Mit jelent a "Minden a fájl" Mean Linux alatt?
Mit jelent a "Minden a fájl" Mean Linux alatt?
Anonim
A Linux és más UNIX-szerű operációs rendszerek egyik meghatározó jellemzője, hogy "minden fájl". Ez egy egyszerűsítés, de annak megértése, hogy mit jelent, segít megérteni, hogyan működik a Linux.
A Linux és más UNIX-szerű operációs rendszerek egyik meghatározó jellemzője, hogy "minden fájl". Ez egy egyszerűsítés, de annak megértése, hogy mit jelent, segít megérteni, hogyan működik a Linux.

Számos dolog jelenik meg a Linuxon a fájlrendszerben, de valójában nem fájlok. Ezek olyan speciális fájlok, amelyek hardvereszközöket, rendszerinformációkat és egyéb dolgokat jelentenek - beleértve a véletlenszám-generátort is.

Ezek a speciális fájlok pszeudo vagy virtuális fájlrendszerekben találhatók, mint a / dev, amely speciális fájlokat tartalmaz, amelyek az eszközöket ábrázolják, és / proc, amely speciális fájlokat tartalmaz, amelyek a rendszer és a folyamatinformációkat tartalmazzák.

/ proc

Tegyük fel például, hogy információt szeretne kapni a CPU-ról. A / proc könyvtár tartalmaz egy speciális fájlt - / proc / cpuinfo -, amely tartalmazza ezt az információt.

Image
Image

Nem kell egy speciális parancs, amely megmondja a CPU adatait - egyszerűen csak olvashatja le a fájl tartalmát a normál parancs segítségével, amely egyszerű szöveges fájlokkal működik. Például használhatja a parancsot cat / proc / cpuinfo a fájl tartalmának nyomtatása a terminálhoz - a CPU információinak nyomtatása a terminálhoz. Még akkor is megnyithatod a / proc / cpuinfo fájlt egy szövegszerkesztőben annak tartalmának megtekintéséhez.

Ne felejtsd el, hogy a / proc / cpuinfo nem egy olyan szöveges fájl, amely tartalmazza ezt az információt - a Linux kernel és a proc fájlrendszer ezt az információt rájuk fájllá teszi. Ez lehetővé teszi számunkra, hogy ismerős eszközöket használjunk az információk megtekintéséhez és feldolgozásához.

A / proc könyvtár egyéb hasonló fájlokat is tartalmaz, például:
A / proc könyvtár egyéb hasonló fájlokat is tartalmaz, például:
  • / proc / uptime - Megmutatja a Linux rendszermag rendelkezésre állását - más szóval, mennyi ideig tart a rendszered leállítás nélkül.
  • / proc / version - Megjeleníti a Linux kernel verzióját.

/ dev

A / dev könyvtárban megtalálhatók az eszközöket ábrázoló fájlok - valamint a más speciális dolgokat ábrázoló fájlok. Például a / dev / cdrom a CD-ROM meghajtó. A / dev / sda az első merevlemezed, míg a / dev / sda1 az első merevlemez első partíciója.

Szeretne a CD-ROM-ot felszerelni? Futtassa a mount parancsot, és adja meg a / dev / cdrom beállítást a csatolandó eszközként. Szeretné partícionálni az első merevlemezt? Futtasd a lemezmegosztó segédprogramot, és definiáld a / dev / sda-t a szerkeszteni kívánt merevlemeznek. Szeretné formázni az első partíciót az első merevlemezén? Indítsa el a formázási parancsot, és mondja meg, hogy formázza / dev / sda1.

Amint látja, ezeknek az eszközöknek a fájlrendszerek részeként való kitettségének előnyei vannak. A fájlrendszer konzisztens "névtér" -et biztosít, amelyet minden alkalmazás képes kezelni és hozzáférni az eszközökhöz.
Amint látja, ezeknek az eszközöknek a fájlrendszerek részeként való kitettségének előnyei vannak. A fájlrendszer konzisztens "névtér" -et biztosít, amelyet minden alkalmazás képes kezelni és hozzáférni az eszközökhöz.

/ dev / null, / dev / véletlen, és / dev / zéró

A / dev fájlrendszer nem csak a fizikai eszközöket ábrázoló fájlokat tartalmazza. Itt három legfontosabb speciális eszköz található:

  • / dev / null - Elvet minden hozzá írt adatot - szemetesnek vagy fekete lyuknak gondolja. Ha valaha lát egy megjegyzést, amely azt mondja, hogy panaszokat küld a / dev / null-nak - ez egy geekszerű módja annak, hogy azt mondja: "dobja el őket a szemétbe".
  • / dev / véletlen - Véletlenszerűen állítja elő a környezeti zajokat. Ez egy véletlenszám-generátor, amelyet megérinthet.
  • / dev / zéró - Nullákat állít - folyamatos nulláram.

Ha ezekre a fájlokra gondolsz, akkor nem fogsz használni őket. Ehelyett gondoljon rájuk, mint eszköz.

Például, alapértelmezés szerint a Linux parancsok hibaüzeneteket és más kimenetet hoznak létre, amelyet a szabványos kimenetre, általában a terminálra nyomtatnak. Ha parancsot szeretne futtatni, és nem érdekli a kimenetét, átirányíthatja a kimenetet a / dev / null értékre. A / dev / null parancs kimenetének átirányítása azonnal visszavonja. Ahelyett, hogy minden parancs végrehajtaná saját "csendes módját", bármelyik paranccsal ezt a módszert használhatja.

command > /dev/null

Ha véletlenszerű forrásra vágyott - mondja, titkosítási kulcs létrehozásához nem kell írni a saját véletlenszám-generátort - a / dev / véletlenszerűen használható.
Ha véletlenszerű forrásra vágyott - mondja, titkosítási kulcs létrehozásához nem kell írni a saját véletlenszám-generátort - a / dev / véletlenszerűen használható.

A merevlemez tartalmának törléséhez írjon 0-at, nem kell egy speciális segédprogram, amely a meghajtó nullázására szolgál - szabványos segédprogramokat és / dev / nullát használhat. Például a dd parancs egy helyről olvas és más helyre ír. A következő parancs elolvassa a nullákat a / dev / nulláról, és közvetlenül a rendszer első merevlemez-partíciójára írja le, tartalmát teljesen törölve.

(Figyelem: Ez a parancs törli az első partíció összes adatait, ha futtatja. Csak akkor futtathatod ezt a parancsot, ha megsemmisíted az adatokat.)

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

Itt dd-t használunk speciális fájlokkal (/ dev / zéró és / dev / sda1), de használhatjuk dd-t is, hogy olvassuk és írjuk a tényleges fájlokat. Ugyanez a parancs működik mind az eszközök közvetlenül manipulálására, mind pedig a fájlok kezelésére.

derítés

A gyakorlatban pontosabb azt mondani, hogy "minden egy byte stream", mint hogy "minden fájl." / Dev / random nem fájl, de minden bizonnyal egy bájt bájt.És bár ezek a dolgok technikailag nem fájlok, azok hozzáférhetők a fájlrendszerben - a fájlrendszer univerzális "névtér", ahol minden elérhető. Szeretne elérni egy véletlenszám-generátort, vagy közvetlenül olvasni egy eszközt? Mindkettő megtalálható a fájlrendszerben; a címzés más formája nem szükséges.

Természetesen egyes dolgok valójában nem fájlok - a rendszeren futó folyamatok nem részei a fájlrendszernek. "Minden fájl" pontatlan, de sok dolog viselkedik fájlként.

Ajánlott: