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.


Så här flyttar du och extraherar PDF-sidor

Så här flyttar du och extraherar PDF-sidor

Vid någon tidpunkt har du förmodligen behövt redigera en PDF-fil genom att antingen flytta sidorna runt, ta bort en sida eller extrahera en sida eller uppsättning sidor i en separat PDF-fil. Nyligen var jag tvungen att ändra ordningen på några PDF-sidor och extrahera en annan uppsättning sidor i en separat PDF-fil.I den h

(How-to)

Allt du behöver veta om att använda ett MicroSD-kort med din Amazon Fire Tablet

Allt du behöver veta om att använda ett MicroSD-kort med din Amazon Fire Tablet

Amazonas 50-brand brandtablet kommer bara med 8 GB lagring, men det stöder också MicroSD-kort. Ett MicroSD-kort är ett billigt sätt att lägga till ytterligare lagring på din surfplatta och använda den för musik, videoklipp, appar och andra typer av innehåll. Det går även att läsa e-böcker från din brandtablettens SD-kort, även om Amazons programvara inte gör det Välj ett SD-kort RELATERAT: Så här köper du ett SD-kort: Hastighetsklasser, storlekar och kapacitet Förklarade MicroSD-kort kan köpas från praktiskt taget var som helst elektronik säljs, inklusive Amazon.

(how-to)