sv.phhsnews.com


sv.phhsnews.com / Vad betyder "Allt är en fil" Medel i Linux?

Vad betyder "Allt är en fil" Medel i Linux?


En av de grundläggande egenskaperna hos Linux och andra UNIX-liknande operativsystem är att "allt är en fil". Detta är en förenkling, men förstå vad det innebär för att hjälpa dig att förstå hur Linux fungerar.

Många saker på Linux visas i ditt filsystem, men de är egentligen inte filer. De är speciella filer som representerar hårdvaruenheter, systeminformation och andra saker - inklusive en slumptalsgenerator.

Dessa speciella filer kan vara placerade i pseudo- eller virtuella filsystem som / dev, som innehåller speciella filer som representerar enheter , och / proc, som innehåller speciella filer som representerar system- och processinformation.

/ proc

Låt oss till exempel säga att du vill hitta information om din CPU. Den / proc-katalogen innehåller en speciell fil - / proc / cpuinfo - som innehåller denna information.

Du behöver inte ett speciellt kommando som berättar för din CPU-info - du kan bara läsa innehållet i den här filen med något standardkommando som fungerar med enkla textfiler. Till exempel kan du använda kommandot cat / proc / cpuinfo för att skriva ut den här filens innehåll till terminalen - skriv ut din CPU-information till terminalen. Du kan till och med öppna / proc / cpuinfo i en textredigerare för att se innehållet.

Kom ihåg att / proc / cpuinfo inte är en textfil som innehåller denna information - Linux-kärnan och proc-filsystemet exponerar denna information för att oss som en fil. Detta tillåter oss att använda bekanta verktyg för att visa och arbeta med informationen.

/ directory-katalogen innehåller också andra liknande filer, till exempel:

  • / proc / uptime - Visar uppehållet för din Linux-kärna - med andra ord , hur länge ditt system har varit på utan att stänga av.
  • / proc / version - Visar versionen av din Linux-kärna.

/ dev

I / dev-katalogen hittar du filer som representerar enheter - liksom filer som representerar andra speciella saker. Till exempel, / dev / cdrom är din cd-rom-enhet. / dev / sda representerar din första hårddisk, medan / dev / sda1 representerar den första partitionen på din första hårddisk.

Vill du montera din CD-ROM? Kör mount-kommandot och specificera / dev / cdrom som den enhet du vill montera. Vill du partitionera din första hårddisk? Kör ett diskpartitioneringsverktyg och ange / dev / sda som hårddisken du vill redigera. Vill du formatera den första partitionen på din första hårddisk? Kör ett formateringskommando och berätta det för att formatera /dev/sda1.

As du kan se att exponera dessa enheter som en del av filsystemet har dess fördelar. Filsystemet tillhandahåller en konsekvent "namnrymd" som alla applikationer kan använda för att adressera och komma åt enheterna.

/ dev / null, / dev / random och / dev / zero

/ dev-filsystemet gör inte ' t innehåller bara filer som representerar fysiska enheter. Här är tre av de mest anmärkningsvärda specialenheter som den innehåller:

  • / dev / null - Kassera alla data som är skrivna till den - tänk på det som papperskorgen eller ett svart hål. Om du någonsin ser en kommentar som berättar att du skickar klagomål till / dev / null - det är ett geekigt sätt att säga "kasta dem i papperskorgen".
  • / dev / random - Producerar slumpmässighet med hjälp av miljöbuller. Det är en slumpmässig talgenerator som du kan använda.
  • / dev / zero - Producerar nollor - en konstant ström av nollor.

Om du tänker på dessa tre som filer ser du dem inte. Tänk istället på dem som verktyg.

Som standard producerar Linux-kommandon som standard felmeddelanden och andra utskrifter som de skriver ut till standardutmatningen, normalt terminalen. Om du vill köra ett kommando och bryr dig inte om dess produktion, kan du omdirigera den utsignalen till / dev / null. Omdirigera ett kommandos utdata till / dev / null kasserar genast det.

kommando> / dev / null

Om du vill ha en källa till slumpmässighet - säg att för att generera en krypteringsnyckel, du skulle inte behöva skriva din egen slumptalsgenerator - du kan använda / dev / random.

Om du vill radera en hårddisks innehåll genom att skriva 0 till den behöver du inte ett särskilt verktyg som är dedikerat till att du inte har en enhet. Du kan använda standardverktyg och / dev / noll. Till exempel läser kommandot dd från en plats och skriver till en annan plats. Följande kommando skulle läsa nollor från / dev / noll och skriva dem direkt till den första hårddiskpartitionen på ditt system, fullständigt radera dess innehåll.

( Varning : Detta kommando raderar alla data på din

dd om = / dev / zero of = / dev / sda1

Här använder vi dd med speciella filer (/ dev / noll och / dev / sda1), men vi kan också använda dd för att läsa från och skriva till faktiska filer. Samma kommando fungerar både för att manipulera enheter direkt och arbetar med filer.

Förtydligande

I praktiken är det mer exakt att säga att "allt är en ström av byte" än "allt är en fil." / Dev / random är inte en fil, men det är verkligen en ström av byte. Och även om dessa saker tekniskt inte är filer, är de tillgängliga i filsystemet - filsystemet är ett universellt "namnrymd" där allt är tillgängligt. Vill du komma åt en slumptalsgenerator eller läs direkt från en enhet? Du hittar både i filsystemet; ingen annan form av adressering behövs.

Naturligtvis är vissa saker faktiskt inte filer - Processer som körs på ditt system är inte en del av filsystemet. "Allt är en fil" är felaktigt, men många saker fungerar som filer.


Hur kan du ta reda på om Windows körs vid en given tid?

Hur kan du ta reda på om Windows körs vid en given tid?

Det kan finnas tider när du undrar om något görs med eller till datorn utan din kunskap, men är Det finns ett enkelt sätt att ta reda på vad som händer när du är borta? Med det i åtanke visar dagens SuperUser Q & A-inlägg en läsare hur man övervakar sin dators verksamhet. Dagens Frågesamtal kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

(how-to)

Det är allmänt känt att nästan varje enskild nörd hatar Internet Explorer med en passion, men har du någonsin undrat varför? Låt oss se en rättvis titt på historien och var allt började ... för eftertiden, om inget annat.

Det är allmänt känt att nästan varje enskild nörd hatar Internet Explorer med en passion, men har du någonsin undrat varför? Låt oss se en rättvis titt på historien och var allt började ... för eftertiden, om inget annat.

Inte menat att vara en hatefest på Internet Explorer-i själva verket, sedan IE 9, har de fortsatt att förbättra prestanda, lägga till nya funktioner och gör det vanligtvis kompatibelt. I början var det IE och det var Bra? Vi har alla varit så vana vid att tänka på Internet Explorer som den långsamma buggy-webbläsaren som ligger bakom tiden, men det var inte alltid så, i själva verket långt tillbaka när Internet Explorer pioneered många innovationer som gjorde webben vad Det är idag.

(how-to)