29Jul

Co znamená "Vše je soubor" v Linuxu?

click fraud protection

Jednou z definujících funkcí Linuxu a dalších operačních systémů typu UNIX je, že "vše je soubor". Jedná se o zjednodušení, ale pochopení toho, co to znamená, vám pomůže pochopit, jak funguje Linux.

Mnoho věcí na Linuxu se objeví ve vašem souborovém systému, ale nejsou vlastně soubory. Jsou to speciální soubory, které představují hardwarová zařízení, systémové informace a další věci - včetně generátoru náhodných čísel.

Tyto speciální soubory mohou být umístěny v pseudo nebo virtuálních souborových systémech, jako je / dev, který obsahuje speciální soubory představující zařízení a / proc, které obsahují speciální soubory, které představují informace o systému a procesu.

/ proc

Například řekněme, že chcete najít informace o CPU.Adresář / proc obsahuje speciální soubor - /proc/ cpuinfo - který obsahuje tyto informace.

Nepotřebujete speciální příkaz, který vám sděluje informace o CPU - stačí přečíst obsah tohoto souboru pomocí libovolného standardního příkazu, který pracuje s prostými textovými soubory. Například můžete použít příkaz

instagram viewer
cat /proc/ cpuinfo k vytisknutí obsahu tohoto souboru na terminál - tisk informací o CPU do terminálu. Dokonce můžete otevřít cpuinfo /proc/ v textovém editoru a zobrazit jeho obsah.

Nezapomeňte, že cpuinfo /proc/ není ve skutečnosti textový soubor obsahující tyto informace - Linuxové jádro a souborový systém proc jsou nám tyto informace vystaveny jako soubor. To nám umožňuje používat známé informace pro prohlížení a práci s informacemi.

Adresář / proc obsahuje také podobné soubory, například:

  • /proc/ uptime - vysvětluje uptime Linuxového jádra - jinými slovy, jak dlouho byl váš systém zapnutý bez vypnutí.Verze
  • /proc/ - Vystavuje verzi vašeho jádra Linuxu.

/ dev

V adresáři / dev najdete soubory představující zařízení - stejně jako soubory, které představují další zvláštní věci. Například /dev/ cdrom je vaše jednotka CD-ROM./dev/ sda představuje váš první pevný disk, zatímco /dev/ sda1 představuje první oddíl na prvním pevném disku.

Chcete připojit disk CD-ROM?Spusťte příkaz mount a zadejte /dev/ cdrom jako zařízení, které chcete připojit. Chcete rozdělit první pevný disk? Spusťte nástroj pro rozdělení disku a zadejte /dev/ sda jako pevný disk, který chcete upravit. Chcete na první pevný disk formátovat první oddíl? Spusťte příkaz formátování a řekněte mu formát /dev/ sda1.

Jak můžete vidět, vystavení těchto zařízení jako součásti souborového systému má své výhody. Souborový systém poskytuje konzistentní "jmenný prostor", který mohou všechny aplikace použít pro adresování a přístup k zařízením.

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

Souborový systém / dev neobsahuje pouze soubory představující fyzická zařízení.Zde jsou tři nejpozoruhodnější speciální zařízení, která obsahuje:

  • /dev/ null - Vyřazuje všechna data zapsaná do něj - myslí na to jako odpadkový koš nebo černou díru. Pokud jste někdy viděli komentář, který vám sděluje odesílání stížností na /dev/ null - to je podivný způsob, jak říkat "hodit je do koše."
  • /dev/ náhodný - Produkuje náhodnost pomocí šumu prostředí.Je to generátor náhodných čísel, do kterého se můžete zapojit.
  • /dev/ nula - produkuje nuly - konstantní proud nul.

Pokud si myslíte, že tyto tři jsou soubory, neuvidíte pro ně použití.Namísto toho je třeba považovat za nástroje.

Například příkazy Linux standardně vytvářejí chybové zprávy a další výstupy, které tisknou na standardní výstup, obvykle terminál. Pokud chcete spustit příkaz a nestaráte se o jeho výstup, můžete tento výstup přesměrovat na /dev/ null. Přesměrování výstupu příkazu na /dev/ null jej okamžitě zruší.Namísto toho, aby každý příkaz implementoval svůj vlastní "tichý režim", můžete tuto metodu použít libovolným příkazem. Příkaz

& gt;/dev/ null

Pokud jste chtěli zdroj náhodnosti - řekněme, pro generování šifrovacího klíče byste nemuseli psát vlastní generátor náhodných čísel - můžete použít /dev/ náhodně.

Chcete-li vymazat obsah pevného disku zapisováním 0, nepotřebujete speciální nástroj určený k nulování jednotky - můžete použít standardní nástroje a nulu /dev/.Například příkaz dd čte z místa a zapíše do jiného umístění.Následující příkaz bude číst nuly z /dev/ nuly a zapisovat je přímo na první oddíl pevného disku v systému a zcela vymazat jeho obsah. ( Upozornění : Tento příkaz vymaže všechna data v první oblasti, pokud jej spustíte. Tento příkaz spusťte pouze, pokud chcete data zničit.)

dd if = /dev/ nula = /dev/ sda1

Zde používáme ddse speciálními soubory( /dev/ nula a /dev/ sda1), ale také jsme mohli použít dd pro čtení a zápis do aktuálních souborů.Stejný příkaz funguje jak pro manipulaci s přístroji přímo, tak pro práci se soubory. Vysvětlení

V praxi je přesnější říkat, že "vše je proud bajtů" než "vše je soubor". /dev/ náhodně není soubor, ale určitě je to proud bajtů.A ačkoli tyto věci nejsou technicky soubory, jsou dostupné v systému souborů - souborový systém je univerzální "jmenný prostor", kde je vše dostupné.Chcete získat přístup k generátoru náhodných čísel nebo je přečíst přímo ze zařízení?Najdete v systému souborů;žádná jiná forma adresování není potřeba.

Samozřejmě, že některé věci nejsou vlastně soubory - procesy běžící ve vašem systému nejsou součástí souborového systému."Vše je soubor" je nepřesné, ale spousta věcí se chová jako soubory.