Dd

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

dd (Unix kommando)

dd är ett kommando på Unix och Unix-liknande operativsystem som används för lågnivåkopiering och konvertering av rå data. På grund av dess kraft och potential för förstörande resultat om det används felaktigt, bör det hanteras med försiktighet.

Användningsområden

  • Skapa exakta kloner av diskpartitioner och enheter.
  • Konvertera dataformat, inklusive byteordning och teckenkodning.
  • Skapa bootbara USB-enheter från ISO-filer.
  • Säkert radera data från lagringsenheter genom att skriva över dem med slumpmässiga data eller nollor.

Syntax

Syntaxen för `dd` kommandot är:

dd if=input_file of=output_file [options]

där input_file är källfilen eller enheten och output_file är målfilen eller enheten.

Viktiga alternativ

  • if= - Anger indatatfilen eller enheten (input file).
  • of= - Anger utdatafilen eller enheten (output file).
  • bs= - Anger blockstorlek för både läsning och skrivning.
  • conv= - Specificerar konverteringsalternativ som noerror, sync, och notrunc.
  • count= - Begränsar antalet kopierade block.
  • status= - Kontrollerar hur utförandestatus visas, exempelvis progress.

Exempel

För att skapa en bootbar USB från en ISO-bild:

dd if=/path/to/distribution.iso of=/dev/sdx bs=4M status=progress

Notera att /dev/sdx ska ersättas med den korrekta enhetsbeteckningen för USB-enheten.

Säkerhetsvarning

dd kan orsaka oåterkallelig dataförlust om det används felaktigt. Användaren bör vara säker på att of= pekar på rätt enhet och att ingen viktig data skrivs över.

Manual sidan för dd - konvertera och kopiera en fil

NAMN

dd - konvertera och kopiera en fil

SYNOPSIS

dd [OPERAND]...

dd ALTERNATIV

BESKRIVNING

Kopiera en fil, konvertera och formatera enligt operanderna.

bs=BYTES

läs och skriv upp till BYTES byte åt gången (standard: 512); åsidosätter ibs och obs

cbs=BYTES

konvertera BYTES byte åt gången

conv=CONVS

konvertera filen enligt den kommaseparerade symbollistan

count=N

kopiera endast N inmatningsblock

ibs=BYTES

läs upp till BYTES byte åt gången (standard: 512)

if=FIL

läs från FILE istället för stdin

iflag=FLAGGAR

läs enligt den kommaseparerade symbollistan

obs=BYTES

skriv BYTES byte åt gången (standard: 512)

of=FIL

skriv till FILE istället för stdout

oflag=FLAGGAR

skriv enligt den kommaseparerade symbollistan seek=N hoppa över N obs-stora block vid början av utdata

skip=N hoppa över N ibs-stora block vid början av inmatningen
status=NIVÅ

Nivån av information att skriva ut till stderr; 'ingen' undertrycker allt utom felmeddelanden, 'noxfer' undertrycker den slutliga överföringsstatistiken, 'framsteg' visar periodisk överföringsstatistik N och BYTES kan följas av följande multiplikativa suffix: c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =M, GB = 1000*1000*1000, G =1024*1024*1024, och så vidare för T, P, E, Z, Y.

Varje CONV-symbol kan vara:

ascii  från EBCDIC till ASCII
ebcdic från ASCII till EBCDIC
ibm    från ASCII till alternativ EBCDIC
blockera poster som avslutats på nya rader med mellanslag till cbs-storlek
unblock

ersätt efterföljande utrymmen i cbs-storleksposter med newline

lcase  ändra versaler till gemener

ucase  ändra gemener till versaler

glesa försök att söka istället för att skriva utdata för NUL-ingångsblock

swab   byt varje par indatabyte

synkronisera   pad varje ingångsblock med NUL:er till ibs-storlek; när den används med blockera eller avblockera, pad med mellanslag snarare än NUL

excl   misslyckas om utdatafilen redan finns

nocreat

skapa inte utdatafilen

notrunc trunkera inte utdatafilen

noerror fortsätt efter läsfel

fdatasync

skriv utdatafildata fysiskt innan du avslutar

fsync  likaså, men skriv även metadata

Varje FLAGGA-symbol kan vara:

append append-läge (ger mening endast för utdata; conv=notrunc föreslås)

direkt använd direkt I/O för data

directory misslyckas om inte en katalog

dsync använder synkroniserad I/O för data

sync   lika, men även för metadata fullblock ackumulera hela block av indata (endast iflagga)

nonblock

använd icke-blockerande I/O

noatime

uppdatera inte åtkomsttiden

nocache

Begäran att släppa cache. Se även oflag=sync

noctty tilldelar inte styrande terminal från fil

nofollow

följ inte symbollänkar

antal_bytes

behandla 'count=N' som ett byteantal (endast iflag)

skip_bytes

behandla "skip=N" som en byte (endast iflagga)

seek_bytes

behandla "seek=N" som ett byteantal (endast avlag)

Att skicka en USR1-signal till en pågående 'dd'-process gör att den skriver ut I/O-statistik till standardfel och återupptar sedan kopieringen.

Alternativen är:

--help visa denna hjälp och avsluta

--version

mata ut versionsinformation och avsluta

FÖRFATTARE

Skrivet av Paul Rubin, David MacKenzie och Stuart Kemp.

RAPPORTERING AV BUGGAR

GNU coreutils onlinehjälp: <https://www.gnu.org/software/coreutils/>

Rapportera dd översättningsfel till <https://translationproject.org/team/>

UPPHOVSRÄTT

Copyright © 2018 Free Software Foundation, Inc.  Licens GPLv3+: GNU GPL version 3 eller senare <https://gnu.org/licenses/gpl.html>.

Detta är fri programvara: du är fri att ändra och distribuera den. Det finns INGEN GARANTI, i den utsträckning som lagen tillåter.

SE ÄVEN

Fullständig dokumentation på: <https://www.gnu.org/software/coreutils/dd> eller tillgänglig lokalt via: info '(coreutils) dd invocation'

Fullbeskrivning av dd