no.phhsnews.com


no.phhsnews.com / Hva betyr "Alt er en fil" Betydning i Linux?

Hva betyr "Alt er en fil" Betydning i Linux?


En av de definerende funksjonene til Linux og andre UNIX-lignende operativsystemer er at "alt er en fil." Dette er en oversimplification, men forstå hva det betyr for å hjelpe deg å forstå hvordan Linux fungerer.

Mange ting på Linux vises i filsystemet ditt, men de er egentlig ikke filer. De er spesielle filer som representerer maskinvareenheter, systeminformasjon og andre ting - inkludert en tilfeldig talegenerator.

Disse spesielle filene kan være plassert i pseudo- eller virtuelle filsystemer som / dev, som inneholder spesielle filer som representerer enheter , og / proc, som inneholder spesielle filer som representerer system- og prosessinformasjon.

/ proc

La oss for eksempel si at du vil finne informasjon om CPUen din. Den / proc-katalogen inneholder en spesiell fil - / proc / cpuinfo - som inneholder denne informasjonen.

Du trenger ikke en spesiell kommando som forteller deg din CPU-info - du kan bare lese innholdet i denne filen ved hjelp av en standardkommando som fungerer med enkle tekstfiler. For eksempel kan du bruke kommandoen cat / proc / cpuinfo for å skrive ut denne filens innhold til terminalen - skriver ut CPU-informasjonen til terminalen. Du kan til og med åpne / proc / cpuinfo i en tekstredigerer for å se innholdet.

Husk at / proc / cpuinfo egentlig ikke er en tekstfil som inneholder denne informasjonen - Linux-kjernen og Pro-filsystemet uthever denne informasjonen til oss som en fil. Dette gir oss mulighet til å bruke kjente verktøy for å se og jobbe med informasjonen.

/ directory-katalogen inneholder også andre lignende filer, for eksempel:

  • / proc / oppetid - Viser oppetid på Linux-kjernen din - med andre ord , hvor lenge systemet har vært på uten å slå av.
  • / proc / version - Viser versjonen av Linux-kjernen.

/ dev

I / dev-katalogen finner du filer som representerer enheter - samt filer som representerer andre spesielle ting. For eksempel er / dev / cdrom din CD-ROM-stasjon. / dev / sda representerer din første harddisk, mens / dev / sda1 representerer den første partisjonen på den første harddisken din.

Vil du montere CD-ROMen din? Kjør mount-kommandoen og spesifiser / dev / cdrom som enheten du vil montere. Vil du partisjonere din første harddisk? Kjør et diskpartisjoneringsverktøy og spesifiser / dev / sda som harddisken du vil redigere. Vil du formatere den første partisjonen på den første harddisken din? Kjør en formateringskommando og fortelle den å formatere /dev/sda1.

As du kan se, utestiller disse enhetene som en del av filsystemet sine fordeler. Filsystemet gir et konsekvent navnområde som alle applikasjoner kan bruke til å adressere og få tilgang til enhetene.

/ dev / null, / dev / random, og / dev / null

/ dev-filsystemet gjør det ikke Ikke bare inneholder filer som representerer fysiske enheter. Her er tre av de mest bemerkelsesverdige spesielle enhetene den inneholder:

  • / dev / null - Fjerne alle data skrevet til den - tenk på den som søppelkasse eller svart hull. Hvis du noen gang ser en kommentar som forteller deg å sende klager til / dev / null - det er en geeky måte å si "kaste dem i søpla."
  • / dev / random - Produserer tilfeldighet ved hjelp av miljøstøy.
  • / dev / null - Produserer nuller - en konstant strøm av nuller.

Hvis du tenker på disse tre som filer, vil du ikke se en bruk for dem. I stedet tenker på dem som verktøy.

For eksempel produserer Linux-kommandoer som standard feilmeldinger og annen utgang som de skriver ut til standardutgangen, vanligvis terminalen. Hvis du vil kjøre en kommando og ikke bryr seg om dens utgang, kan du omdirigere den utdata til / dev / null. Omdirigere en kommandos utdata til / dev / null kasserer umiddelbart det. I stedet for å ha hver kommando implementere sin egen "stille modus", kan du bruke denne metoden med en kommando.

kommando> / dev / null

Hvis du vil ha en tilfeldighetskilde - si for å generere en krypteringsnøkkel, du trenger ikke å skrive din egen tilfeldige tallgenerator - du kan bruke / dev / random.

For å slette innholdet på harddisken ved å skrive 0 til det, trenger du ikke et spesielt verktøy dedikert til null-en stasjon - du kan bruke standardverktøy og / dev / null. For eksempel leser kommandoen dd fra et sted og skriver til et annet sted. Følgende kommando vil lese nuller fra / dev / null og skrive dem direkte til den første harddiskpartisjonen på systemet, og slette innholdet helt.

( Advarsel : Denne kommandoen slettes av alle dataene på din Første delisjon hvis du kjører den. Kjør bare denne kommandoen hvis du vil ødelegge data.)

dd hvis = / dev / null av = / dev / sda1

Her bruker vi dd med spesielle filer (/ dev / null og / dev / sda1), men vi kunne også bruke dd til å lese fra og skrive til faktiske filer. Samme kommando fungerer både for å manipulere enheter direkte og arbeider med filer.

Forklaring

I praksis er det mer nøyaktig å si at "alt er en strøm av byte" enn "alt er en fil." / Dev / tilfeldig er ikke en fil, men det er absolutt en bytebit. Og selv om disse tingene teknisk sett ikke er filer, er de tilgjengelige i filsystemet - filsystemet er et universelt navnrom hvor alt er tilgjengelig. Vil du få tilgang til en tilfeldig talegenerator eller lese direkte fra en enhet? Du finner både i filsystemet; ingen annen form for adressering nødvendig.

Selvfølgelig er enkelte ting egentlig ikke filer - prosesser som kjører på systemet, er ikke en del av filsystemet. "Alt er en fil" er unøyaktig, men mange ting oppfører seg som filer.


Kan et domenenavn ha både IPv6- og IPv4-adresser?

Kan et domenenavn ha både IPv6- og IPv4-adresser?

Når du lærer mer om domenenavn og hvordan systemet fungerer, kan du kanskje spørre deg om domenenavn har både IPv6- og IPv4-adresser . Med dette i bakhodet, har SuperUser Q & A-posten svar på spørsmål om nysgjerrige lesere. Dagens Spørsmål og svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

(how-to)

Hvorfor er nyere generasjoner av prosessorer raskere med samme klokkefrekvens?

Hvorfor er nyere generasjoner av prosessorer raskere med samme klokkefrekvens?

Du kan være nysgjerrig på hvordan nyere generasjoner av prosessorer kan bli raskere med samme klokkehastighet som eldre prosessorer. Er det bare endringer i fysisk arkitektur eller er det noe mer? Dagens SuperUser Q & A-post har svar på spørsmål fra en nysgjerrig leser. Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

(how-to)