Čo znamená "všetko je súbor" v systéme Linux?

Obsah:

Čo znamená "všetko je súbor" v systéme Linux?
Čo znamená "všetko je súbor" v systéme Linux?

Video: Čo znamená "všetko je súbor" v systéme Linux?

Video: Čo znamená
Video: Stratili ste mobil? Skúšali sme, ako ho nájsť - YouTube 2024, Apríl
Anonim
Jednou z definujúcich funkcií Linuxu a iných operačných systémov podobných operačným systémom UNIX je, že "všetko je súbor." Toto je zjednodušenie, ale pochopenie toho, čo to znamená, vám pomôže pochopiť, ako funguje Linux.
Jednou z definujúcich funkcií Linuxu a iných operačných systémov podobných operačným systémom UNIX je, že "všetko je súbor." Toto je zjednodušenie, ale pochopenie toho, čo to znamená, vám pomôže pochopiť, ako funguje Linux.

Mnoho vecí na systéme Linux sa objavuje vo vašom systéme súborov, ale nie sú vlastne súbory. Sú to špeciálne súbory, ktoré predstavujú hardvérové zariadenia, informácie o systéme a ďalšie veci - vrátane generátora náhodných čísel.

Tieto špeciálne súbory môžu byť umiestnené v pseudo alebo virtuálnych súborových systémoch, ako napríklad / dev, ktoré obsahujú špeciálne súbory, ktoré predstavujú zariadenia a / proc, ktoré obsahujú špeciálne súbory, ktoré reprezentujú informácie o systéme a procese.

/ proc

Povedzme napríklad, že chcete nájsť informácie o CPU. Adresár / proc obsahuje špeciálny súbor - / proc / cpuinfo - ktorý obsahuje tieto informácie.

Image
Image

Nepotrebujete špeciálny príkaz, ktorý vám povie informácie o CPU - stačí prečítať obsah tohto súboru pomocou ľubovoľného štandardného príkazu, ktorý funguje s textovými súbormi. Môžete napríklad použiť príkaz cat / proc / cpuinfo vytlačiť obsah tohto súboru do terminálu - tlačiť informácie o CPU do terminálu. Môžete dokonca otvoriť / proc / cpuinfo v textovom editore pre zobrazenie jeho obsahu.

Pamätajte si, že / proc / cpuinfo nie je v skutočnosti textový súbor obsahujúci tieto informácie - Linuxové jadro a súborový systém proc odkryjú tieto informácie nám ako súbor. To nám umožňuje používať známe nástroje na prezeranie a prácu s informáciami.

Adresár / proc obsahuje aj iné podobné súbory, napríklad:
Adresár / proc obsahuje aj iné podobné súbory, napríklad:
  • / proc / uptime - odhalenie uptime Linuxového jadra - inými slovami, ako dlho bol váš systém zapnutý bez vypnutia.
  • / proc / version - zobrazí verziu vášho jadra Linuxu.

/ dev

V adresári / dev nájdete súbory, ktoré predstavujú zariadenia - rovnako ako súbory, ktoré predstavujú iné špeciálne veci. Napríklad, / dev / cdrom je vaša jednotka CD-ROM. / dev / sda predstavuje prvý pevný disk, zatiaľ čo / dev / sda1 predstavuje prvý oddiel na vašom prvom pevnom disku.

Chcete pripojiť disk CD-ROM? Spustite príkaz mount a zadajte / dev / cdrom ako zariadenie, ktoré chcete pripojiť. Chcete rozdeliť prvý pevný disk? Spustite nástroj na delenie diskov a zadajte / dev / sda ako pevný disk, ktorý chcete upraviť. Chcete na prvom pevnom disku formátovať prvý oddiel? Spustite príkaz na formátovanie a informujte ho, aby formátoval / dev / sda1.

Ako vidíte, vystavenie týchto zariadení ako súčasti súborového systému má svoje výhody. Systém súborov poskytuje konzistentný "menný priestor", ktorý môžu všetky aplikácie použiť na adresovanie a prístup k zariadeniam.
Ako vidíte, vystavenie týchto zariadení ako súčasti súborového systému má svoje výhody. Systém súborov poskytuje konzistentný "menný priestor", ktorý môžu všetky aplikácie použiť na adresovanie a prístup k zariadeniam.

/ dev / null, / dev / náhodne a / dev / nula

Súborový systém / dev neobsahuje iba súbory, ktoré predstavujú fyzické zariadenia. Tu sú tri najvýznamnejšie špeciálne zariadenia, ktoré obsahuje:

  • / dev / null - Odstráni všetky dáta napísané na to - premýšľajte o tom ako s odpadovou nádobou alebo čiernou dierou. Ak ste niekedy videli komentár, ktorý vám povie, aby ste odoslali sťažnosti na / dev / null - to je podivný spôsob, ako hovoriť "hádzať ich do koša".
  • / dev / random - Produkuje náhodnosť pomocou environmentálneho šumu. Je to generátor náhodných čísel, do ktorého sa môžete zapojiť.
  • / dev / zero - vytvára nuly - konštantný nulový tok.

Ak si myslíte o týchto troch súboroch, neuvidíte ich použitie. Namiesto toho premýšľajte nad nimi ako s nástrojmi.

Napríklad štandardne príkazy Linuxu vytvárajú chybové hlásenia a iné výstupy, ktoré tlačia na štandardný výstup, obyčajne terminál. Ak chcete spustiť príkaz a jeho výstup sa nestará, môžete tento výstup presmerovať na / dev / null. Presmerovanie výstupu príkazu na / dev / null okamžite ho odstráni. Namiesto toho, aby každý príkaz implementoval vlastný "tichý režim", môžete túto metódu použiť akýmkoľvek príkazom.

command > /dev/null

Ak ste chceli zdroj náhodnosti - povedzme, pri vytváraní šifrovacieho kľúča by ste nemuseli písať svoj vlastný generátor náhodných čísel - môžete použiť / dev / random.
Ak ste chceli zdroj náhodnosti - povedzme, pri vytváraní šifrovacieho kľúča by ste nemuseli písať svoj vlastný generátor náhodných čísel - môžete použiť / dev / random.

Ak chcete vymazať obsah pevného disku písaním 0, nepotrebujete špeciálny nástroj určený na nulovanie disku - môžete použiť štandardné nástroje a / dev / nulu. Napríklad dd príkaz číta z miesta a zapíše na iné miesto. Nasledujúci príkaz by mal čítať nuly z / dev / zero a zapísať ich priamo na prvý oddiel pevného disku na vašom systéme a úplne vymazať jeho obsah.

(Výstraha: Tento príkaz vymaže všetky údaje na vašom prvom oddieli, ak ho spustíte. Spustite len tento príkaz, ak chcete zničiť dáta.)

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

Tu používame dd so špeciálnymi súbormi (/ dev / zero a / dev / sda1), ale môžeme tiež použiť dd na čítanie a zápis do skutočných súborov. Ten istý príkaz funguje ako na manipuláciu so zariadeniami priamo, tak aj na prácu so súbormi.

objasnenie

V praxi je presnejšie povedať, že "všetko je tok bajtov" ako "všetko je súbor". / Dev / random nie je súbor, ale určite je to prúd bajtov.A hoci tieto veci nie sú technicky súbory, sú dostupné v súborovom systéme - súborový systém je univerzálny "názov priestoru", kde je všetko prístupné. Chcete získať prístup k generátoru náhodných čísel alebo si ho prečítať priamo zo zariadenia? Obaja nájdete v súborovom systéme; žiadna iná forma adresovania nie je potrebná.

Samozrejme, niektoré veci nie sú v skutočnosti súbory - procesy bežiace vo vašom systéme nie sú súčasťou súborového systému. "Všetko je súbor" je nepresné, ale veľa vecí sa správa ako súbory.

Odporúča: