Dd: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
(7 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
==== NAMN ====
== dd - Konvertera och kopiera filer ==
dd - konvertera och kopiera en fil
Kommandot `dd` används för att konvertera och kopiera filer med specifika blockstorlekar i ett Unix-liknande operativsystem.


==== SYNOPSIS ====
=== Syntax ===
dd [OPERAND]...
dd [OPERAND]...


dd ALTERNATIV
=== Beskrivning ===
Kommandot `dd` kopierar en fil, konverterar innehållet enligt specificerade operander och skriver ut resultatet. Det används ofta för att skapa diskavbilder, säkerhetskopior och för att skriva data direkt till och från blockenheter.


==== BESKRIVNING ====
=== Operander ===
Kopiera en fil, konvertera och formatera enligt operanderna.
Kommandot `dd` stöder flera operander som kan användas för att justera hur kopieringen och konverteringen utförs:


bs=BYTES
* if=FIL - Ange indatafil.
* of=FIL - Ange utdatafil.
* ibs=BYTES - Ange indata blockstorlek (standard är 512 byte).
* obs=BYTES - Ange utdata blockstorlek (standard är 512 byte).
* bs=BYTES - Ange både indata och utdata blockstorlek (överstyr ibs och obs).
* cbs=BYTES - Ange konverteringsblockstorlek.
* count=N - Kopiera endast N indata block.
* skip=N - Hoppa över N block i indatafilen innan kopiering.
* seek=N - Hoppa över N block i utdatafilen innan kopiering.
* conv=CONVS - Ange konverteringsalternativ. Separera flera alternativ med kommatecken:
  * ascii - Konvertera EBCDIC till ASCII.
  * ebcdic - Konvertera ASCII till EBCDIC.
  * ibm - Konvertera ASCII till alternativ EBCDIC.
  * block - Packa poster i fasta längder.
  * unblock - Gör poster av fasta längder.
  * lcase - Konvertera versaler till gemener.
  * ucase - Konvertera gemener till versaler.
  * sparse - Gör utdatafilen gles genom att skriva block med endast nollor som hål.
  * swab - Byt byte-ordning.
  * noerror - Fortsätt vid läsfel.
  * notrunc - Trunkera inte utdatafilen.
  * sync - Fyll varje indata block med nollor för att fylla upp blockstorleken.


läs och skriv upp till BYTES byte åt gången (standard: 512); åsidosätter ibs och obs
=== Exempel ===
Här är några praktiska exempel som visar hur du kan använda `dd`-kommandot:


cbs=BYTES
* För att skapa en avbild av en disk:
<code>
dd if=/dev/sda of=/path/to/image.img bs=4M
</code>


konvertera BYTES byte åt gången
* För att återställa en avbild till en disk:
<code>
dd if=/path/to/image.img of=/dev/sda bs=4M
</code>


conv=CONVS
* För att skapa en fil fylld med nollor:
<code>
dd if=/dev/zero of=/path/to/file bs=1M count=100
</code>


konvertera filen enligt den kommaseparerade symbollistan
* För att kopiera en fil med en specifik blockstorlek:
<code>
dd if=/path/to/inputfile of=/path/to/outputfile bs=512
</code>


räkna=N
* För att klona en CD/DVD till en ISO-fil:
<code>
dd if=/dev/cdrom of=/path/to/image.iso bs=2048
</code>


kopiera endast N inmatningsblock
* För att skriva en ISO-fil till ett USB-minne:
<code>
dd if=/path/to/image.iso of=/dev/sdX bs=4M
</code>


ibs=BYTES
=== Skillnader mellan macOS och Linux ===
Det finns några viktiga skillnader att tänka på när man använder `dd`-kommandot på macOS jämfört med Linux:


läs upp till BYTES byte åt gången (standard: 512)
* Tillgänglighet: `dd` är tillgängligt som standard på både macOS och Linux som en del av GNU coreutils på Linux och BSD coreutils på macOS.
* Alternativ och funktioner: Medan grundläggande funktioner i `dd` är liknande på båda plattformarna, kan vissa konverteringsalternativ och operander skilja sig åt beroende på implementationen av `dd` i GNU och BSD versioner.
* Blockenheter: Enhetsnamn och sökvägar kan variera mellan macOS och Linux. Till exempel används `/dev/diskX` för blockenheter på macOS, medan `/dev/sdX` används på Linux.


if=FIL
Det är alltid bra att konsultera `man`-sidan för `dd` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.


läs från FILE istället för stdin
=== Felsökning ===
Om du får ett felmeddelande när du använder `dd`, kontrollera följande:


iflag=FLAGGAR
* Att indata- och utdatafilerna är korrekt angivna och tillgängliga.
* Att du har nödvändiga rättigheter för att läsa från indatafilen och skriva till utdatafilen (vissa operationer kräver root-rättigheter).
* Att syntaxen för ditt kommando är korrekt. Kontrollera att du använder rätt operander och parametrar.
* Att blockstorlekarna och räkningarna är rimliga för den data du arbetar med.


läs enligt den kommaseparerade symbollistan
=== Se även ===
* [[cp]] - Kopiera filer och kataloger.
* [[tar]] - Arkivera och extrahera filer.
* [[rsync]] - Synkronisera filer och kataloger över nätverket.


obs=BYTES
=== Källor ===
* [https://www.gnu.org/software/coreutils/manual/coreutils.html#dd-invocation GNU coreutils manual]
* [https://man7.org/linux/man-pages/man1/dd.1.html dd manual (Linux)]
* [https://www.freebsd.org/cgi/man.cgi?query=dd dd manual (macOS)]


skriv BYTES byte åt gången (standard: 512)
= Sidslut =
<hr>
Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp] som har  sponsrat Linux.se med webserver.


of=FIL


skriv till FILE istället för stdout
[[Kategori:Linuxkommandon]]
 
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
 
avblockera
 
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
 
katalog
 
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)
 
icke-blockerad
 
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:
 
--hjälp 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: <<nowiki>https://www.gnu.org/software/coreutils/</nowiki>>
 
Rapportera dd översättningsfel till <https://translationproject.org/team<nowiki/>/>
 
==== 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'

Nuvarande version från 25 augusti 2024 kl. 14.40

dd - Konvertera och kopiera filer

Kommandot `dd` används för att konvertera och kopiera filer med specifika blockstorlekar i ett Unix-liknande operativsystem.

Syntax

dd [OPERAND]...

Beskrivning

Kommandot `dd` kopierar en fil, konverterar innehållet enligt specificerade operander och skriver ut resultatet. Det används ofta för att skapa diskavbilder, säkerhetskopior och för att skriva data direkt till och från blockenheter.

Operander

Kommandot `dd` stöder flera operander som kan användas för att justera hur kopieringen och konverteringen utförs:

  • if=FIL - Ange indatafil.
  • of=FIL - Ange utdatafil.
  • ibs=BYTES - Ange indata blockstorlek (standard är 512 byte).
  • obs=BYTES - Ange utdata blockstorlek (standard är 512 byte).
  • bs=BYTES - Ange både indata och utdata blockstorlek (överstyr ibs och obs).
  • cbs=BYTES - Ange konverteringsblockstorlek.
  • count=N - Kopiera endast N indata block.
  • skip=N - Hoppa över N block i indatafilen innan kopiering.
  • seek=N - Hoppa över N block i utdatafilen innan kopiering.
  • conv=CONVS - Ange konverteringsalternativ. Separera flera alternativ med kommatecken:
 * ascii - Konvertera EBCDIC till ASCII.
 * ebcdic - Konvertera ASCII till EBCDIC.
 * ibm - Konvertera ASCII till alternativ EBCDIC.
 * block - Packa poster i fasta längder.
 * unblock - Gör poster av fasta längder.
 * lcase - Konvertera versaler till gemener.
 * ucase - Konvertera gemener till versaler.
 * sparse - Gör utdatafilen gles genom att skriva block med endast nollor som hål.
 * swab - Byt byte-ordning.
 * noerror - Fortsätt vid läsfel.
 * notrunc - Trunkera inte utdatafilen.
 * sync - Fyll varje indata block med nollor för att fylla upp blockstorleken.

Exempel

Här är några praktiska exempel som visar hur du kan använda `dd`-kommandot:

  • För att skapa en avbild av en disk:

dd if=/dev/sda of=/path/to/image.img bs=4M

  • För att återställa en avbild till en disk:

dd if=/path/to/image.img of=/dev/sda bs=4M

  • För att skapa en fil fylld med nollor:

dd if=/dev/zero of=/path/to/file bs=1M count=100

  • För att kopiera en fil med en specifik blockstorlek:

dd if=/path/to/inputfile of=/path/to/outputfile bs=512

  • För att klona en CD/DVD till en ISO-fil:

dd if=/dev/cdrom of=/path/to/image.iso bs=2048

  • För att skriva en ISO-fil till ett USB-minne:

dd if=/path/to/image.iso of=/dev/sdX bs=4M

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `dd`-kommandot på macOS jämfört med Linux:

  • Tillgänglighet: `dd` är tillgängligt som standard på både macOS och Linux som en del av GNU coreutils på Linux och BSD coreutils på macOS.
  • Alternativ och funktioner: Medan grundläggande funktioner i `dd` är liknande på båda plattformarna, kan vissa konverteringsalternativ och operander skilja sig åt beroende på implementationen av `dd` i GNU och BSD versioner.
  • Blockenheter: Enhetsnamn och sökvägar kan variera mellan macOS och Linux. Till exempel används `/dev/diskX` för blockenheter på macOS, medan `/dev/sdX` används på Linux.

Det är alltid bra att konsultera `man`-sidan för `dd` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `dd`, kontrollera följande:

  • Att indata- och utdatafilerna är korrekt angivna och tillgängliga.
  • Att du har nödvändiga rättigheter för att läsa från indatafilen och skriva till utdatafilen (vissa operationer kräver root-rättigheter).
  • Att syntaxen för ditt kommando är korrekt. Kontrollera att du använder rätt operander och parametrar.
  • Att blockstorlekarna och räkningarna är rimliga för den data du arbetar med.

Se även

  • cp - Kopiera filer och kataloger.
  • tar - Arkivera och extrahera filer.
  • rsync - Synkronisera filer och kataloger över nätverket.

Källor

Sidslut


Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.