Πλήρης και αναλυτικός οδηγός (με παραδείγματα) για DD

Σας αφήνω ένα απλώς υπέροχο άρθρο που Βρήκα τον εαυτό μου σερφάροντας στο Διαδίκτυο, μας δείχνει με πολλά παραδείγματα και λεπτομερώς τι είναι και τι μπορεί να επιτευχθεί με την εντολή DD.

Σας αφήνω την πλήρη μετάφραση του Artículo:

1. Γιατί dd;:

Επιλέξαμε dd ως ο πρώτος διεκδικητής της σειράς μας, επειδή είναι ένα χρήσιμο εργαλείο που έχει πολλές επιλογές, όπως θα δείτε. Αυτό το καθιστά σχεδόν ένα από τα μαχαίρια του ελβετικού στρατού στον κόσμο του Linux. Ναι, αυτός ο όρος (μαχαίρι Ελβετικού Στρατού) χρησιμοποιείται περισσότερο από ό, τι θα έπρεπε από συγγραφείς άρθρων με προσανατολισμό το Linux, οπότε δεν θα μπορούσαμε να αφήσουμε την ευκαιρία να το χρησιμοποιήσουμε μόνοι μας.

2. Γενική χρήση:

Πριν ξεκινήσετε, θέλαμε να σας δώσουμε μια γενική ιδέα για το πώς χρησιμοποιείται dd. Πρώτα απ 'όλα, το όνομα προέρχεται από τον αναπαραγωγέα δεδομένων, αλλά χιουμοριστικά λέγεται επίσης ότι σημαίνει καταστροφέας δίσκου ή καταστροφέας δεδομένων επειδή είναι ένα πολύ ισχυρό εργαλείο. Σας προτείνουμε λοιπόν επιπλέον προσοχή όταν χρησιμοποιείτε το dd γιατί μια στιγμή απροσεξίας μπορεί να σας κοστίσει τα πολύτιμα δεδομένα σας. Η γενική σύνταξη της εντολής dd είναι:

# dd if = $ input_data of = $ output_data [επιλογές]

εισαγωγή δεδομένων y έξοδος_δεδομένα μπορεί να είναι δίσκοι, χωρίσματα, αρχεία, συσκευές ;; κυρίως ό, τι μπορείτε να γράψετε ή να διαβάσετε από. Όπως θα δείτε, μπορείτε να χρησιμοποιήσετε το dd σε περιβάλλον δικτύου για να στείλετε ροές δεδομένων μέσω του LAN σας, για παράδειγμα. Μπορείτε να έχετε μόνο το μέρος εισαγωγής της εντολής dd σας ή μόνο την εντολή εξόδου και μπορείτε ακόμη και να αφαιρέσετε και τα δύο σε ορισμένες περιπτώσεις. Όλα αυτά θα εξεταστούν στην ακόλουθη λίστα.

3. Παραδείγματα:

dd if = / dev / urandom of = / dev / sda bs = 4k - »Γεμίστε το δίσκο με τυχαία δεδομένα

dd if = / dev / sda του = / dev / sdb bs = 4096 - » Αντικατοπτρισμός δίσκου σε δίσκο

dd if = / dev / μηδέν = / dev / sda bs = 4k - » Καθαρίστε έναν σκληρό δίσκο (μπορεί να χρειαστεί να επαναληφθεί)

dd if = inputfile = / dev / st0 bs = 32k conv = συγχρονισμός - » Αντιγραφή από αρχείο σε συσκευή κασέτας

dd if = / dev / st0 of = outfile bs = 32k conv = συγχρονισμός - » Το πρώτο, αντιστράφηκε

dd if = / dev / sda | hexdump -C | grep [^ 00] - » Ελέγξτε εάν ο δίσκος είναι πραγματικά μηδενικός

dd if = / dev / urandom of = / home / $ user / largefile bs = 4096 - » Συμπληρώστε ένα διαμέρισμα (Προσοχή στα διαμερίσματα συστήματος!)

dd if = / dev / urandom of = myfile bs = 6703104 count = 1 - » Κωδικοποίηση αρχείου (ίσως πριν από τη διαγραφή)

dd if = / dev / sda3 of = / dev / sdb3 bs = 4096 conv = notrunc, noerror - » Αντιγράψτε ένα διαμέρισμα σε άλλο διαμέρισμα

dd if = / proc / filesystems | hexdump -C | πιο λιγο - " Προβολή διαθέσιμων συστημάτων αρχείων

dd if = / proc / διαμερίσματα | hexdump -C | πιο λιγο - " Προβολή διαθέσιμων κατατμήσεων σε kb

dd if = / dev / sdb2 ibs = 4096 | gzip> partition.image.gz conv = noerror - » Δημιουργήστε μια εικόνα gzip του δεύτερου διαμερίσματος του δεύτερου δίσκου

dd bs = 10240 cbs = 80 conv = ascii, ξεμπλοκάρισμα εάν = / dev / st0 of = ascii.out - » Αντιγράφει το περιεχόμενο μιας κασέτας σε ένα αρχείο, μετατρέποντας από EBCDIC σε ASCII

dd if = / dev / st0 ibs = 1024 obs = 2048 of = / dev / st1 - » Αντιγραφή συσκευής μπλοκ 1KB σε συσκευή μπλοκ 2KB

dd if = / dev / μηδέν = / dev / null bs = 100M count = 100
Τα αρχεία 100 + 0 εγγράφονται στο
Το 100 + 0 καταγράφει
Αντιγράφηκαν 10485760000 bytes (10GB),

5.62955 s, 1.9 GB / s

Αντιγράψτε μηδενικά 10 GB στον κάδο ανακύκλωσης.

dd if = / dev / zero του = / dev / sda bs = 512 count = 2
fdisk -s / dev / sda
dd if = / dev / μηδέν = / dev / sda seek = (number_of_sectors - 20) bs = 1k

Διαγραφή GPT από δίσκο. Πώς η GPT γράφει τα δεδομένα στην αρχή
Και στο τέλος του δίσκου, μετά τη διαγραφή από την αρχή, πρέπει να βρούμε τον αριθμό τομέων (η δεύτερη εντολή) και, στη συνέχεια, να διαγράψουμε τους τελευταίους 20 τομείς.

dd if = / home / $ user / bootimage.img of = / dev / sdc - » Δημιουργήστε έναν εκκινήσιμο δίσκο UDB (εμφανίζεται εδώ ως / dev / sdc)

dd if = / dev / sda of = / dev / null bs = 1m - » Ένας καλός τρόπος για να βρείτε κακά μπλοκ. Δημιουργία αντιγράφων ασφαλείας και σχετικό με το σύστημα

dd if = / dev / sda of = / dev / fd0 bs = 512 count = 1 - » Αντιγράψτε το MBR σε μια δισκέτα

dd if = / dev / sda1 of = / dev / sdb1 bs = 4096 - » Αντικατοπτρισμός δίσκου σε δίσκο

dd if = / dev / sr0 of = / home / $ user / mycdimage.iso \ bs = 2048 conv = nosync - » Δημιουργήστε μια εικόνα CD

mount -o loop /home/$user/mycdimage.iso / mnt / cdimages / - »» Τοποθετήστε την αναφερόμενη εικόνα τοπικά

dd if = / dev / sda of = / dev / sdb bs = 64k conv = συγχρονισμός - » Χρήσιμο κατά την αντικατάσταση ενός δίσκου με το ίδιο μέγεθος.

dd if = / dev / sda2 of = / home / $ user / hddimage1.img bs = Αριθμός 1M = 4430
dd if = / dev / sda2 of = / home / $ user / hddimage2.img bs = Αριθμός 1M = 8860
[...]

Δημιουργία εικόνων DVD ενός διαμερίσματος (χρήσιμο για δημιουργία αντιγράφων ασφαλείας)

dd if = / $ location / hddimage1.img of = / dev / sda2 bs = 1M
dd if = / $ location / hddimage2.img of = / dev / sda2 seek = 4430 bs = 1M
dd if = / $ location / hddimage3.img of = / dev / sda2 seek = 8860 bs = 1M
[και τα λοιπά…]

Επαναφορά από προηγούμενο αντίγραφο ασφαλείας

dd if = / dev / zero number = 1 bs = 1024 seek = 1 από = / dev / sda6 - » Καταστρέψτε το superblock

dd if = / dev / zero number = 1 bs = 4096 seek = 0 από = / dev / sda5 - » Ένας άλλος τρόπος για να καταστρέψετε το superblock

dd if = / home / $ user / suspicious.doc | clamscan - » Ελέγχει το αρχείο για ιούς (απαιτεί ClamAV)

dd if = / home / $ χρήστης / δυαδικό αρχείο | hexdump -C | πιο λιγο - " Προβολή των περιεχομένων ενός δυαδικού αρχείου (χρειάζεται hexdump)

dd if = / home / $ user / bigfile = / dev / null
dd if = / dev / zero του = / home / $ user / bigfile bs = 1024 count = 1000000

Συγκριτική αξιολόγηση της ταχύτητας ανάγνωσης / εγγραφής του σκληρού δίσκου

dd if = / dev / sda του = / dev / sda - » Δώστε νέα ζωή σε παλιούς σκληρούς δίσκους που δεν έχουν χρησιμοποιηθεί για λίγο (οι δίσκοι πρέπει να είναι "unmount")

dd if = / dev / mem | χορδές | grep 'string_to_search' - » Εξετάστε το περιεχόμενο της μνήμης (αναγνώσιμο από τον άνθρωπο, δηλαδή)

dd if = / dev / fd0 of = / home / $ user / floppy.image bs = 2x80x18b conv = notrunc - » Αντιγράψτε μια δισκέτα

dd if = / proc / kcore | hexdump -C | πιο λιγο - »Εμφανίζει εικονική μνήμη

dd if = / proc / filesystems | hexdump -C | πιο λιγο - " Προβολή διαθέσιμων συστημάτων αρχείων

dd if = / proc / kallsyms | hexdump -C | πιο λιγο - " Εμφάνιση φορτωμένων ενοτήτων

dd if = / proc / διακοπή | hexdump -C | πιο λιγο - " Εμφανίζει τον πίνακα διακοπής

dd if = / proc / uptime | hexdump -C | πιο λιγο - " Εμφανίζει το χρόνο λειτουργίας σε δευτερόλεπτα

dd if = / proc / διαμερίσματα | hexdump -C | πιο λιγο - " Προβολή διαθέσιμων κατατμήσεων σε kb

dd if = / proc / meminfo | hexdump -C | πιο λιγο - " Δείχνει την κατάσταση μνήμης

dd if = / dev / urandom of = / home / $ user / myrandom bs = 100 count = 1 - » Δημιουργήστε ένα αρχείο 1kb τυχαίας ασυναρτησίας

dd if = / dev / mem of = / home / $ user / mem.bin bs = 1024 - » Δημιουργεί μια εικόνα της τρέχουσας κατάστασης της μνήμης του συστήματος

dd if = / home / $ user / myfile - » Εκτυπώστε το αρχείο στο stdout

dd if = / dev / sda2 bs = 16065 | hexdump -C | grep 'text_to_search' - » Αναζητήστε μια συμβολοσειρά σε ολόκληρο το διαμέρισμα. ακόμα και αν είναι ασφαλές, μπορείτε να εκκινήσετε ένα liveCD

dd if = / home / $ user / file.bin skip = 64k bs = 1 of = / home / $ user / convfile.bin - » Αντιγράψτε το αρχείο.bin στο convfile.bin παραλείποντας τα πρώτα 64 kb

dd if = / home / $ user / bootimage.img of = / dev / sdc - » Δημιουργήστε έναν εκκινήσιμο δίσκο UDB (εμφανίζεται εδώ ως / dev / sdc)

dd if = / dev / mem bs = 1k skip = 768 count = 256 2> / dev / null | χορδές -n 8 - » Διαβάστε το BIOS.

dd bs = 1k if = imagefile.nrg of = imagefile.iso παράλειψη = 300k - » Μετατρέπει μια εικόνα Nero σε μια τυπική εικόνα ISO.
Αυτό είναι δυνατό γιατί η μόνη διαφορά μεταξύ των δύο είναι η κεφαλίδα των 300 kB που προσθέτει ο Nero σε μια τυπική εικόνα ISO.

echo -n "γεια κάθετος κόσμος" | dd cbs = 1 conv = κατάργηση αποκλεισμού 2> / dev / null - » Δοκιμάστε το, είναι ασφαλές. 🙂

dd if = / dev / sda1 | gzip -c | split -b 2000m - \ /mnt/hdc1/backup.img.gz - » Δημιουργήστε μια εικόνα gzip ενός διαμερίσματος χρησιμοποιώντας split

cat /mnt/hdc1/backup.img.gz.* | gzip -dc | dd από = / dev / sda1 - » Επαναφέρετε το προηγούμενο αντίγραφο ασφαλείας

dd if = / dev / μηδέν = myimage bs = 1024 count = 10240 - » Δημιουργήστε μια κενή εικόνα δίσκου

dd ibs = 10 παράλειψη = 1 - » Διαχωρίστε τα πρώτα 10 bytes του stdin

dd bs = 265b conv = noerror if = / dev / st0 of = / tmp / bad.tape.image - » Κάνει μια εικόνα μιας κασέτας με κακά σημεία

dd if = / dev / sda count = 1 | hexdump -C - » Δείτε το MBR σας

dd if = / dev / sda | nc -l 10001 nc $ system_to_backup_IP 10001 | dd από = sysbackupsda.img - » Γρήγορη δημιουργία αντιγράφων ασφαλείας δικτύου χρησιμοποιώντας netcat

dd if = / dev / zero του = / dev / sdX bs = 1024000 count = 1 - » Καθαρίστε τα πρώτα 10MB του διαμερίσματος

dd if = / dev / μηδέν = tmpswap bs = 1k
μέτρηση = 1000000
chmod 600 tmp ανταλλαγή
mkswap tmpswap
ανταλλαγή tmpswap

Δημιουργήστε έναν προσωρινό χώρο ανταλλαγής

dd if = / dev / sda του = / dev / null bs = 1024k count = 1024
Αντιγράφηκαν 1073741824 bytes (1.1GB),
24.1684 s, 44.4 MB / s

Καθορίζει τη διαδοχική ταχύτητα εισόδου / εξόδου του δίσκου σας.

dd if = / dev / random count = 1 2> / dev / null | od -t u1 | \ awk '{print $ 2}' | κεφαλή -1 - » Δημιουργήστε έναν τυχαίο αριθμό

dd if = / dev / mem του = myRAM bs = 1024 - » Αντιγράψτε τη μνήμη RAM σε ένα αρχείο

dd if = / dev / sda bs = 512 count = 1 | od -xa - » Δείτε το περιεχόμενο του MBR σας σε μορφή δεκαεξαδικού και ASCII

dd if = / my / old / mbr of = / dev / sda bs = 446 count = 1 - » Επαναφέρει το MBR χωρίς να αλλάξει την εγγραφή πίνακα διαμερισμάτων που είναι μεταξύ 447 - 511 bytes

dd if = / dev / sda1 | split -b 700m - sda1-image - » Δημιουργήστε ένα αντίγραφο του διαμερίσματος και αποθηκεύστε εικόνες όπου το μέγιστο μέγεθος έντασης είναι 700MB

ls -l | dd conv = ucase - » Μετατρέπει την έξοδο μιας εντολής σε κεφαλαία

echo "ΤΟ ΚΕΙΜΕΝΟ ΑΝΩΤΕΡΗΣ ΠΕΡΙΠΤΩΣΗΣ ΜΟΥ" | dd conv = lcase - » Μετατρέψτε οποιοδήποτε κείμενο σε πεζά

dd if = / etc / passwd cbs = 132 conv = ebcdic of = / tmp / passwd.ebcdic - » Μετατρέπει το αρχείο κωδικού πρόσβασης συστήματος σε αρχείο σταθερού μήκους μορφής EBCDIC

dd if = text.ascii of = text.ebcdic conv = ebcdic - » Μετατροπή από ASCII σε EBCDIC

dd if = myfile του = myfile conv = ucase - » Μετατροπή αρχείου σε κεφαλαία (απλή αντικατάσταση SED ή tr)

4. Συμπέρασμα:

Αυτό είναι μόνο ένα μικρό μέρος του τι μπορεί να κάνει το dd και ελπίζουμε ότι αυτό το άρθρο τους έχει παραμορφώσει για να καλύψει τα πιο χρησιμοποιημένα παραδείγματα για τον κοινό χρήστη. Ωστόσο, προτού προχωρήσετε περισσότερο, σας συνιστούμε να διαβάσετε την τεκμηρίωση του σκληρού σας δίσκου, να αναζητήσετε πράγματα όπως οι περιορισμοί LBA και να προσέχετε ιδιαίτερα όταν χρησιμοποιείτε dd σε ένα τερματικό root. Φυσικά, έχετε ήδη αντίγραφα ασφαλείας, αλλά λίγη επιπλέον φροντίδα θα σας εξοικονομήσει ώρες περιττής εργασίας.

Και εκεί τελειώνει το άρθρο.

Προς εγγραφή, δεν έχω δοκιμάσει καμία από τις εντολές που εμφανίζονται σε αυτό το άρθρο, οπότε αν κάποιος κάνει κακή χρήση (ή λανθασμένα) αυτές τις εντολές, είναι πολύ πιθανό ότι εάν βλάψουν κάτι στον υπολογιστή τους, δεν θα μπορέσω να σας βοηθήσω.

Τίποτα αυτό, σιγά-σιγά θα δοκιμάσω τις εντολές hehe, αν βρω κάτι ενδιαφέρον, το μοιράζομαι.

αφορά


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   luweeds dijo

    Υπέροχο άρθρο, έτσι αναλύεται διεξοδικά μια εντολή και, συνεπώς, μαθαίνουμε πολλά για το τι αφορά. Συγχαρητήρια και ευχαριστώ όπως πάντα!

  2.   Όσκαρ dijo

    Πολύ καλή και ενδιαφέρουσα καταχώρηση, καθώς το θεωρώ σημαντικό θα προχωρήσω στην αρχειοθέτηση.
    Φαντάζομαι ότι εσείς και ο σύντροφός σας θα βρείτε τις μπαταρίες τους καλά φορτισμένες μετά από δύο ημέρες διακοπών, χαχαχαχαχαχαχα.
    Έχασα την έλλειψη άρθρων στο blog.

    1.    KZKG ^ Gaara <"Linux dijo

      Ευχαριστώ, η πίστωση δεν είναι δική μου ... Απλώς έβαλα τη μετάφραση 🙂
      Και χαχα ναι, αύριο θα υπάρχουν περισσότερα άρθρα χαχα, ζητούμε συγγνώμη για αυτές τις μέρες χωρίς να δημοσιεύσουμε τίποτα, ακόμη και κοιτάζοντας τα στατιστικά στοιχεία που βλέπουμε την πτώση που είχαμε.

    2.    elav <° Linux dijo

      Διακοπές λέτε; Χαχαχαχα… Μακάρι να ήταν ..

  3.   oleksis dijo

    Καλό άρθρο, όπως σας θυμίζω πάντα αν μπορείτε να ενεργοποιήσετε μια προσθήκη για εξαγωγή τους σε PDF ή να επισυνάψετε το άρθρο ως PDF

    Χαιρετισμούς!

    1.    Θάρρος dijo

      Παρεμπιπτόντως, σας υπενθυμίζω ότι πρέπει να ανοίξετε ένα φόρουμ επειδή υπάρχει η τάση να απενεργοποιήσετε πολλές ετικέτες σε αναρτήσεις (συμπεριλαμβάνω τον εαυτό μου)

      1.    KZKG ^ Gaara <"Linux dijo

        Τα σφάλματα ή τα προβλήματα που έχουμε παρουσιάσει, προβλήματα σύνδεσης με τη βάση δεδομένων και άλλα, οφείλονται στο γεγονός ότι ο ιστότοπος δημιουργεί υπερβολική δραστηριότητα ή κίνηση και γι 'αυτό είμαστε εκτός σύνδεσης για στιγμές. Εάν εκτός από τον ιστότοπο, προσθέσουμε ένα φόρουμ, θα δημιουργήσει περισσότερη επισκεψιμότητα και θα κάνει τα πάντα χειρότερα.

        Η ιδέα του φόρουμ ναι, μας αρέσει, θέλουμε πραγματικά να το κάνουμε, αλλά προς το παρόν δεν μπορούμε δυστυχώς 🙁

        1.    Θάρρος dijo

          Το WordPress διαθέτει ένα πρόσθετο για αυτό, δεν χρειάζεται να χρησιμοποιείτε ιστότοπους που δεν μπορείτε να δείτε

      2.    oleksis dijo

        Εντάξει ... μια εναλλακτική λύση χωρίς να προσθέσετε άλλη πλατφόρμα ή ιστότοπο είναι το bbPres (bbpress.org) στο WordPress

        Χαιρετισμούς!

        1.    KZKG ^ Gaara <"Linux dijo

          Ναι, τον ξέρουμε hehe, πραγματικά σκεφτόμασταν για το FluxBB 🙂
          Το πρόβλημα δεν είναι άλλο DB ή χρησιμοποιήστε το ίδιο με περισσότερους πίνακες, αλλά μόνο περισσότερη δραστηριότητα.

      3.    elav <° Linux dijo

        Θα ανοίξουμε ένα φόρουμ πολύ σύντομα 😀

    2.    KZKG ^ Gaara <"Linux dijo

      Πρέπει ακόμη να δοκιμάσουμε αυτό το πρόσθετο και, στη συνέχεια, να το βάλουμε αν λειτουργεί καλά 🙂
      Δεν είχαμε χρόνο χαχα

  4.   χορεία dijo

    Αγαπητέ συνάδελφο, χαίρομαι που παραθέτω αυτό το πολύ κρίμα που είναι τόσο κολλημένη η εφαρμογή που θα ήθελα να αναλάβετε πιο βαθιά, καθώς θα ήθελα να μάθω
    Εάν μπορείτε να δημιουργήσετε ένα μαγνήτη με δυνατότητα εκκίνησης σε DVD ή * .iso, συμπιεσμένο, σας ευχαριστώ εκ των προτέρων. Ελπίζω ότι η απάντησή σας στο postcript μου νομίζω ότι είστε ο μόνος σε ολόκληρο το ισπανικό δίκτυο abala που το έχει επεκτείνει περισσότερο στο εξηγημένο μεγάλο άρθρο ,

  5.   69ηebeb69 dijo

    Πώς μπορώ να κλωνοποιήσω από το ένα μηχάνημα στο άλλο μέσω του δικτύου; στην περίπτωσή μου υπάρχουν 2 φορητοί υπολογιστές συνδεδεμένοι σε ένα δίκτυο και οι δύο με στατική κατεύθυνση

  6.   Erick dijo

    Ευχαριστώ για τις πληροφορίες 🙂

  7.   επιχρυσωμένος4 dijo

    Μετά την τροποποιημένη σύμβασή μου
    http://premium.cars.purplesphere.in/?post.zoey
    μητέρες και κόρες δωρεάν πορνό δωρεάν 3gp γκέι πορνό βίντεο κλιπ buzzer porn penguin vids πορνό διαδρομή 96 πορνό

  8.   αιάσι μπορ dijo

    Η εντολή για την αναβίωση των παλαιών δίσκων έχει κεφαλαιακή σημασία. Το καλό είναι ότι είναι μια σύντομη λίστα με το τι μπορεί να γίνει!