Dd: Skillnad mellan sidversioner
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
== dd - Konvertera och kopiera filer == | |||
Kommandot `dd` används för att konvertera och kopiera filer med specifika blockstorlekar i ett Unix-liknande operativsystem. | |||
= dd | === 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: | |||
För att skapa en | <code> | ||
< | dd if=/dev/sda of=/path/to/image.img bs=4M | ||
dd if=/path/to/ | </code> | ||
</ | |||
* För att återställa en avbild till en disk: | |||
<code> | |||
dd if=/path/to/image.img of=/dev/sda bs=4M | |||
</code> | |||
* För att skapa en fil fylld med nollor: | |||
<code> | |||
dd if=/dev/zero of=/path/to/file bs=1M count=100 | |||
</code> | |||
* För att kopiera en fil med en specifik blockstorlek: | |||
<code> | |||
dd if=/path/to/inputfile of=/path/to/outputfile bs=512 | |||
</code> | |||
=== | * För att klona en CD/DVD till en ISO-fil: | ||
<code> | |||
dd if=/dev/cdrom of=/path/to/image.iso bs=2048 | |||
</code> | |||
=== | * För att skriva en ISO-fil till ett USB-minne: | ||
<code> | |||
dd if=/path/to/image.iso of=/dev/sdX bs=4M | |||
</code> | |||
=== 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 === | ||
* [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)] | |||
[[Kategori:Linuxkommandon]] | |||
[[Kategori: |
Versionen från 26 maj 2024 kl. 09.34
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.