Schijfbeheer

Linux dd-opdracht

Linux dd-opdracht
"dd" is een linux CLI-tool. Nu, de huidige versie van "dd" is een onderdeel van de GNU coreutils, is degene die elk UNIX/Linux-systeem heeft. Het primaire doel van deze tool is om bestanden te converteren en te kopiëren. Het is echter heel anders dan andere hulpprogramma's voor het kopiëren van bestanden, zoals "cp".

dd-functies

“dd” kan voor verschillende doeleinden worden gebruikt:

dd gebruik

Hier zijn enkele van de meest voorkomende en interessante gebruik van "dd". Natuurlijk is "dd" veel beter in staat dan deze dingen. Als je geïnteresseerd bent, raad ik altijd aan om andere diepgaande bronnen op "dd" te bekijken.

Plaats

welke dd

Zoals de uitvoer aangeeft, start het bij het uitvoeren van "dd" vanaf "/usr/bin/dd".

Basisgebruik

Dit is de structuur die "dd" volgt.

dd als= van =

Laten we bijvoorbeeld een bestand maken met willekeurige gegevens. Er zijn enkele ingebouwde speciale bestanden in Linux die verschijnen als normale bestanden zoals "/dev/zero" die een continue stroom van NULL produceert, "/dev/random" die continue willekeurige gegevens produceert.

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

De allereerste opties spreken voor zich. Het betekent het gebruik van "/dev/urandom" als een gegevensbron en "~/Desktop/random.txt" als de bestemming. Wat zijn de andere opties??

Hier staat "bs" voor "blokgrootte". Wanneer dd gegevens schrijft, schrijft het in blokken. Met deze optie kan de blokgrootte worden gedefinieerd. In dit geval zegt de waarde "1M" dat de blokgrootte 1 megabyte is.

"count" bepaalt het aantal te schrijven blokken. Indien niet opgelost, zal "dd" het schrijfproces voortzetten tenzij de invoerstroom eindigt. In dit geval zal "/dev/urandom" oneindig doorgaan met het genereren van gegevens, dus deze optie was van het grootste belang in dit voorbeeld.

Reservekopie van gegevens

Met deze methode kan "dd" worden gebruikt om de gegevens van een hele schijf te dumpen! Het enige dat u nodig hebt, is de schijf als de bron vertellen.

dd als= van =

Als je voor dergelijke acties gaat, zorg er dan voor dat je bron geen directory is. "dd" heeft geen idee hoe een map moet worden verwerkt, dus dingen zullen niet werken.

"dd" kan alleen met bestanden werken. Dus als u een back-up van een map wilt maken, gebruik dan tar om deze eerst te archiveren en gebruik vervolgens "dd" om deze naar een bestand over te zetten.

tar cvJf-demo.teer.xz DemoDir/

dd if=demo.teer.xz of=~/Bureaublad/back-up.img

In het volgende voorbeeld voeren we een zeer gevoelige bewerking uit: een back-up maken van de MBR! Als uw systeem nu MBR (Master Boot Record) gebruikt, bevindt het zich op de eerste 512 bytes van de systeemschijf: 466 bytes voor de bootloader, andere voor de partitietabel.

Voer deze opdracht uit om een ​​back-up te maken van het MBR-record.

dd if=/dev/sda of=~/Desktop/mbr.img bs=512 tellen=1

Gegevens herstellen

Voor elke back-up is de manier om de gegevens te herstellen noodzakelijk. In het geval van "dd" is het herstelproces een beetje anders dan bij andere tools. U moet het back-upbestand opnieuw schrijven naar een vergelijkbare map/partitie/apparaat.

Ik heb bijvoorbeeld deze "back-up".img” bestand met de “demo.teer.xz" bestand. Om het uit te pakken, heb ik het volgende commando gebruikt:.

dd if=backup.img van=demo.teer.xz

Nogmaals, zorg ervoor dat u de uitvoer naar een bestand schrijft. "dd" is niet goed met mappen, onthoud?

Evenzo, als "dd" werd gebruikt om een ​​back-up van een partitie te maken, zou het herstellen ervan de volgende opdracht vereisen:.

dd als= van =

Hoe zit het bijvoorbeeld met het herstellen van de MBR waarvan we eerder een back-up hebben gemaakt??

dd if=mbr.img of=/dev/sda

“dd” opties

Op een bepaald punt in deze handleiding kreeg je te maken met enkele "dd" -opties zoals "bs" en "count", right? Nou, er zijn er meer. Hier is een shortlist over wat ze zijn en hoe ze te gebruiken.

  • obs: Bepaalt de grootte van de gegevens die tegelijk moeten worden geschreven. De standaardwaarde is 512 bytes.

  • cbs: bepaalt de grootte van de gegevens die tegelijk moeten worden geconverteerd.

  • ibs: bepaalt de grootte van de gegevens die tegelijk moeten worden gelezen.
  • count: Kopieer alleen N blokken

  • zoeken: Sla N blokken over aan het begin van de uitvoer

  • overslaan: N blokken aan het begin van de invoer overslaan

conv=ascii: converteert de bestandsinvoer van EBCDIC naar ASCII

conv=ebcdic: converteert de bestandsinvoer van ASCII naar EBCDIC

conv=ibm: converteert de bestandsinvoer van ASCII naar alternatieve EBCDIC

conv=lcase: converteert bestandsinvoer van hoofdletters naar kleine letters

conv=ucase: converteert bestandsinvoer van kleine letters naar hoofdletters

conv=swab: verwissel elk invoerpaar

Toegevoegde opties:

  • nocreat: maak het uitvoerbestand niet aan
  • nottruc: kap het uitvoerbestand niet af
  • noerror: Ga door met de bewerking, zelfs nadat u een fout hebt gemaakt
  • fdatasync: schrijf gegevens naar de fysieke opslag voordat het proces is voltooid
  • fsync: vergelijkbaar met fdatasync, maar schrijft ook de metadata
  • iflag: pas de bewerking aan op basis van verschillende vlaggen. Beschikbare vlaggen zijn: toevoegen aan Gegevens toevoegen aan de uitvoer

Toegevoegde opties:

  • directory: Als u naar een directory kijkt, mislukt de bewerking
  • dsync: Gesynchroniseerde I/O voor data
  • sync: vergelijkbaar met dsync maar bevat metadata
  • nocache: verzoeken om cache te laten vallen.
  • nofollow: volg geen enkele symbolische link

Toegevoegde opties:

  • count_bytes: vergelijkbaar met "count=N"
  • seek_bytes: vergelijkbaar met "seek=N"
  • skip_bytes: vergelijkbaar met "skip=N"

Zoals je hebt gezien, is het mogelijk om meerdere vlaggen en opties in een enkele "dd" -opdracht te stapelen om het bewerkingsgedrag aan te passen.

dd if=demo.txt van=demo1.txt bs=10 count=100 conv=ebcdic
iflag=toevoegen,nocache,nofollow,synchroniseren

Laatste gedachten

De workflow van "dd" is vrij eenvoudig. Maar om "dd" echt te laten schitteren, is het aan jou. Er zijn talloze manieren waarop creatieve manieren "dd" kunnen worden gebruikt om slimme interacties uit te voeren.

Voor uitgebreide informatie over “dd” en al zijn opties, raadpleeg de man en info pagina.

man dd
Top 5 ergonomische computermuisproducten voor Linux
Veroorzaakt langdurig computergebruik pijn in uw pols of vingers?? Heb je last van stijve gewrichten en moet je constant de hand schudden?? Voelt u ee...
Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...
Wijs uw muisknoppen anders toe voor verschillende software met X-Mouse Button Control
Misschien heeft u een tool nodig waarmee u de bediening van uw muis kunt veranderen bij elke applicatie die u gebruikt. Als dit het geval is, kunt u e...