Dd: Skillnad mellan sidversioner

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


==== NAMN ====
=== Syntax ===
dd - konvertera och kopiera en fil
dd [OPERAND]...


==== SYNOPSIS ====
=== Beskrivning ===
''dd [OPERAND]...''
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.


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


==== BESKRIVNING ====
* if=FIL - Ange indatafil.
Kopiera en fil, konvertera och formatera enligt operanderna.
* 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.


===== bs=BYTES =====
=== Exempel ===
läs och skriv upp till BYTES byte åt gången (standard: 512); åsidosätter ibs och obs
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:
konvertera BYTES byte åt gången
<code>
dd if=/dev/sda of=/path/to/image.img bs=4M
</code>


===== conv=CONVS =====
* För att återställa en avbild till en disk:
konvertera filen enligt den kommaseparerade symbollistan
<code>
dd if=/path/to/image.img of=/dev/sda bs=4M
</code>


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


===== ibs=BYTES =====
* För att kopiera en fil med en specifik blockstorlek:
läs upp till BYTES byte åt gången (standard: 512)
<code>
dd if=/path/to/inputfile of=/path/to/outputfile bs=512
</code>


===== if=FIL =====
* För att klona en CD/DVD till en ISO-fil:
läs från FILE istället för stdin
<code>
dd if=/dev/cdrom of=/path/to/image.iso bs=2048
</code>


===== iflag=FLAGGAR =====
* För att skriva en ISO-fil till ett USB-minne:
läs enligt den kommaseparerade symbollistan
<code>
dd if=/path/to/image.iso of=/dev/sdX bs=4M
</code>


===== obs=BYTES =====
=== Skillnader mellan macOS och Linux ===
skriv BYTES byte åt gången (standard: 512)
Det finns några viktiga skillnader att tänka på när man använder `dd`-kommandot på macOS jämfört med Linux:


===== of=FIL =====
* 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.
skriv till FILE istället för stdout
* 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.


===== oflag=FLAGGAR =====
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.
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 =====
=== Felsökning ===
Om du får ett felmeddelande när du använder `dd`, kontrollera följande:


===== status=NIVÅ =====
* Att indata- och utdatafilerna är korrekt angivna och tillgängliga.
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.
* 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.


Varje CONV-symbol kan vara:
=== Se även ===
* [[cp]] - Kopiera filer och kataloger.
* [[tar]] - Arkivera och extrahera filer.
* [[rsync]] - Synkronisera filer och kataloger över nätverket.


====== ascii  från EBCDIC till ASCII ======
=== 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)]


====== ebcdic från ASCII till EBCDIC ======
= 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.


====== ibm    från ASCII till alternativ EBCDIC ======


====== blockera poster som avslutats på nya rader med mellanslag till cbs-storlek ======
[[Kategori:Linuxkommandon]]
 
====== 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: <<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.