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