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.
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:
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-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:
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.
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.
10 Sätt att skapa ett slumpmässigt lösenord från Linux-kommandoraden
En av de fantastiska sakerna om Linux är att du kan göra samma sak på hundratals olika sätt, även om det är något så enkelt som att generera Ett slumpmässigt lösenord kan utföras med dussintals olika kommandon. Här är 10 sätt du kan göra. Vi samlade alla dessa kommandon från Command-Line Fu och testade dem ut på vår egen Linux-dator för att se till att de fungerar.
OTT förklarar - Är programvara att rengöra och påskynda din dator Nyttig?
Det finns ett företag med flera miljarder dollar byggd kring försäljning av PC och Mac-rengöringsprogram. De kommer i alla former, storlekar och priser och tout nödvändigheten att rengöra, ställa in och fixa datorn så att den går smidigt och effektivt. Jag har även skrivit om många av dessa program själv på Help Desk Geek och Online Tech Tips.Men behöver d