Diskbehandling

Linux dd-kommando

Linux dd-kommando
“Dd” er et Linux CLI-verktøy. Nå, den nåværende versjonen av “dd” er en del av GNU-kjerneverktøyene, er den som hvert eneste UNIX / Linux-system har. Hovedformålet med dette verktøyet er å konvertere og kopiere filer. Det er imidlertid ganske annerledes enn andre filkopieringsverktøy som "cp".

dd funksjoner

“Dd” kan brukes til forskjellige formål:

dd bruk

Her er noen av de vanligste og mest interessante bruken av “dd”. Selvfølgelig er "dd" langt mer i stand enn disse tingene. Hvis du er interessert, anbefaler jeg alltid å sjekke ut andre inngående ressurser på “dd”.

plassering

hvilken dd

Som utgangen indikerer, når den kjører "dd", starter den fra "/ usr / bin / dd".

Grunnleggende bruk

Her er strukturen som “dd” følger.

dd hvis = av =

La oss for eksempel lage en fil med tilfeldige data. Det er noen innebygde spesialfiler i Linux som fremstår som normale filer som "/ dev / zero" som produserer en kontinuerlig strøm av NULL, "/ dev / random" som produserer kontinuerlig tilfeldige data.

dd if = / dev / urandom of = ~ / Desktop / random.txt bs = 1M antall = 5

De aller første alternativene er selvforklarende. Det betyr å bruke “/ dev / urandom” som en datakilde og “~ / Desktop / random.txt ”som destinasjon. Hva er de andre alternativene?

Her står "bs" for "blokkstørrelse". Når dd skriver data, skriver den i blokker. Ved hjelp av dette alternativet kan blokkstørrelsen defineres. I dette tilfellet sier verdien “1M” at blokkstørrelsen er 1 megabyte.

"Count" bestemmer antall blokker som skal skrives. Hvis det ikke er løst, vil "dd" fortsette skriveprosessen med mindre inngangsstrømmen slutter. I dette tilfellet vil “/ dev / urandom” fortsette å generere data uendelig, så dette alternativet var avgjørende i dette eksemplet.

Data backup

Ved hjelp av denne metoden kan "dd" brukes til å dumpe dataene til en hel stasjon! Alt du trenger er å fortelle stasjonen som kilde.

dd hvis = av =

Hvis du går etter slike handlinger, må du sørge for at kilden din ikke er en katalog. “Dd” aner ikke hvordan man skal behandle en katalog, så ting fungerer ikke.

“Dd” vet bare hvordan man skal arbeide med filer. Så hvis du har behov for å sikkerhetskopiere en katalog, bruk tar for å arkivere den først, og bruk deretter "dd" for å overføre den til en fil.

tar cvJf demo.tjære.xz DemoDir /

dd if = demo.tjære.xz av = ~ / Desktop / backup.img

I neste eksempel skal vi utføre en veldig følsom operasjon: sikkerhetskopiere MBR! Nå, hvis systemet ditt bruker MBR (Master Boot Record), så ligger det ved de første 512 byte på systemdisken: 466 byte for bootloader, andre for partisjonstabellen.

Kjør denne kommandoen for å sikkerhetskopiere MBR-posten.

dd hvis = / dev / sda av = ~ / Desktop / mbr.img bs = 512 count = 1

Gjenoppretting av data

For enhver sikkerhetskopiering er det nødvendig å gjenopprette dataene. Når det gjelder “dd”, er gjenopprettingsprosessen litt annerledes enn noen andre verktøy. Du må omskrive sikkerhetskopifilen på en lignende mappe / partisjon / enhet.

For eksempel har jeg denne “sikkerhetskopien.img-fil som inneholder "demo.tjære.xz ”-fil. For å trekke ut det, brukte jeg følgende kommando.

dd if = backup.img av = demo.tjære.xz

Igjen, sørg for at du skriver utdataene til en fil. "Dd" er ikke bra med kataloger, husk?

Tilsvarende, hvis “dd” ble brukt til å lage en sikkerhetskopi av en partisjon, vil gjenoppretting av den kreve følgende kommando.

dd hvis = av =

Hva med for eksempel å gjenopprette MBR vi sikkerhetskopierte tidligere?

dd hvis = mbr.img av = / dev / sda

“Dd” -alternativer

På et tidspunkt i denne veiledningen møtte du noen “dd” -alternativer som “bs” og “count”, ikke sant? Vel, det er flere av dem. Her er en kortliste over hva de er og hvordan du bruker dem.

  • obs: Bestemmer størrelsen på data som skal skrives om gangen. Standardverdien er 512 byte.

  • cbs: Bestemmer størrelsen på dataene som skal konverteres om gangen.

  • ibs: Bestemmer størrelsen på data som skal leses om gangen.
  • telle: Kopier bare N-blokker

  • søk: Hopp over N-blokker i begynnelsen av utgangen

  • hopp over: Hopp over N-blokker ved inngangen

conv = ascii: Konverterer filinngangen fra EBCDIC til ASCII

conv = ebcdic: Konverterer filinngangen fra ASCII til EBCDIC

conv = ibm: konverterer filinngangen fra ASCII til alternativ EBCDIC

conv = lcase: konverterer filinngang fra store bokstaver til små bokstaver

conv = ucase: konverterer filinngang fra små til store bokstaver

conv = vattpinne: Bytt hvert inngangspar

Flere alternativer:

  • nocreat: Ikke opprett utdatafilen
  • notruc: Ikke avkutt utdatafilen
  • noerror: Fortsett operasjonen, selv etter feil
  • fdatasync: Skriv data til den fysiske lagringen før prosessen er ferdig
  • fsync: ligner på fdatasync, men skriver også metadataene
  • iflag: Juster operasjonen basert på forskjellige flagg. Tilgjengelige flagg inkluderer: legg til Legg til data til utgangen

Flere alternativer:

  • katalog: Å møte en katalog mislykkes i operasjonen
  • dsync: Synkronisert I / U for data
  • sync: ligner på dsync, men inkluderer metadata
  • nocache: Forespørsler om å droppe cache.
  • nofollow: Ikke følg noen symlink

Ekstra alternativer:

  • count_bytes: I likhet med “count = N”
  • seek_bytes: I likhet med “seek = N”
  • skip_bytes: I likhet med “skip = N”

Som du har sett, er det mulig å stable flere flagg og alternativer i en enkelt “dd” -kommando for å finjustere operasjonsatferden.

dd if = demo.tekst av = demo1.txt bs = 10 count = 100 conv = ebcdic
iflag = legg til, nocache, nofollow, sync

Siste tanker

Arbeidsflyten til “dd” er ganske enkel. For at "dd" virkelig skal skinne, er det imidlertid opp til deg. Det er mange måter kreative måter “dd” kan brukes til å utføre smarte interaksjoner.

For mer detaljert informasjon om “dd” og alle alternativene, se mannen og informasjonssiden.

mann dd
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...
Unity3D opplæring
Introduksjon til Unity 3D Unity 3D er en kraftig spillutviklingsmotor. Det er kryssplattform, det er det lar deg lage spill for mobil, web, stasjonær ...