Kompletny i szczegółowy przewodnik (z przykładami) do DD

Zostawiam wam po prostu świetny artykuł Znalazłem się przeglądając sieć, pokazuje nam wiele przykładów i szczegółowo, co to jest i co można osiągnąć za pomocą polecenia DD.

Zostawiam Ci pełne tłumaczenie artykuł:

1. Dlaczego dd?:

Wybraliśmy dd jako pierwszy pretendent w naszej serii, ponieważ jest to przydatne narzędzie, które ma wiele opcji, jak zobaczysz. To prawie czyni go jednym ze szwajcarskich noży wojskowych w świecie Linuksa. Tak, ten termin (Swiss Army Knife) jest używany częściej niż powinien przez autorów artykułów zorientowanych na Linuksa, więc nie mogliśmy przepuścić okazji, aby go użyć sami.

2. Zastosowanie ogólne:

Zanim zaczniemy, chcieliśmy dać Ci ogólne pojęcie o tym, jak jest używany dd. Przede wszystkim nazwa pochodzi od duplikatora danych, ale żartobliwie mówi się, że oznacza niszczyciel dysku lub niszczyciel danych, ponieważ jest to bardzo potężne narzędzie. Dlatego zalecamy szczególną ostrożność podczas korzystania z dd, ponieważ chwila nieuwagi może kosztować cenne dane. Ogólna składnia polecenia dd jest:

# dd if = $ input_data of = $ output_data [opcje]

dane_wejściowe y dane_wyjściowe czy mogą to być dyski, partycje, pliki, urządzenia? głównie wszystko, na co możesz pisać lub czytać. Jak zobaczysz, możesz używać dd w kontekście sieciowym, na przykład do wysyłania strumieni danych przez sieć LAN. Możesz mieć tylko wejściową część polecenia dd lub tylko polecenie wyjściowe, aw niektórych przypadkach możesz nawet usunąć oba. Wszystkie te kwestie zostaną omówione na poniższej liście.

3. Przykłady:

dd if = / dev / urandom of = / dev / sda bs = 4k - »Wypełnij dysk losowymi danymi

dd if = / dev / sda of = / dev / sdb bs = 4096 - » Dublowanie dysku na dysk

dd if = / dev / zero of = / dev / sda bs = 4k - » Wyczyść dysk twardy (może wymagać powtórzenia)

dd if = plik wejściowy = / dev / st0 bs = 32k konw. = synchronizacja - » Skopiuj z pliku na urządzenie taśmowe

dd if = / dev / st0 of = outfile bs = 32k conv = sync - » To pierwsze, odwrócone

dd if = / dev / sda | hexdump -C | grep [^ 00] - » Sprawdź, czy dysk jest naprawdę wyzerowany

dd if = / dev / urandom of = / home / $ user / hugefile bs = 4096 - » Wypełnij partycję (uważaj na partycje systemowe!)

dd if = / dev / urandom of = myfile bs = 6703104 count = 1 - » Zakoduj plik (może przed usunięciem)

dd if = / dev / sda3 of = / dev / sdb3 bs = 4096 conv = notrunc, noerror - » Skopiuj partycję na inną partycję

dd if = / proc / filesystems | hexdump -C | mniej - » Wyświetl dostępne systemy plików

dd if = / proc / partitions | hexdump -C | mniej - » Wyświetl dostępne partycje w kb

dd if = / dev / sdb2 ibs = 4096 | gzip> partition.image.gz conv = noerror - » Utwórz obraz gzip drugiej partycji drugiego dysku

dd bs = 10240 cbs = 80 conv = ascii, unblock if = / dev / st0 of = ascii.out - » Kopiuje zawartość taśmy do pliku, konwertując z EBCDIC na ASCII

dd if = / dev / st0 ibs = 1024 obs = 2048 of = / dev / st1 - » Kopiowanie urządzenia blokowego o rozmiarze 1 KB do urządzenia blokowego o rozmiarze 2 KB

dd if = / dev / zero of = / dev / null bs = 100 M count = 100
100 + 0 rejestruje się w
100 + 0 nagrywa
10485760000 bajtów (10 GB) skopiowanych,

5.62955 s, 1.9 GB / s

Skopiuj 10 GB zer do kosza.

dd if = / dev / zero of = / dev / sda bs = 512 count = 2
fdisk -s / dev / sda
dd if = / dev / zero of = / dev / sda seek = (liczba_sektorów - 20) bs = 1k

Usuń GPT z dysku. Jak GPT zapisuje dane na początku
A na końcu dysku, po wymazaniu od początku, musimy znaleźć liczbę sektorów (drugie polecenie), a następnie skasować ostatnie 20 sektorów.

dd if = / home / $ user / bootimage.img of = / dev / sdc - » Utwórz bootowalny dysk UDB (pokazany tutaj jako / dev / sdc)

dd if = / dev / sda of = / dev / null bs = 1m - » Dobry sposób na znalezienie złych bloków. Kopie zapasowe i związane z systemem

dd if = / dev / sda of = / dev / fd0 bs = 512 count = 1 - » Skopiuj MBR na dyskietkę

dd if = / dev / sda1 of = / dev / sdb1 bs = 4096 - » Dublowanie dysku na dysk

dd if = / dev / sr0 of = / home / $ user / mycdimage.iso \ bs = 2048 conv = nosync - » Utwórz obraz dysku CD

mount -o loop /home/$user/mycdimage.iso / mnt / cdimages / - » Zamontuj wspomniany obraz lokalnie

dd if = / dev / sda of = / dev / sdb bs = 64k conv = sync - » Przydatne przy wymianie dysku na inny tego samego rozmiaru.

dd if = / dev / sda2 of = / home / $ user / hddimage1.img bs = 1 mln liczba = 4430
dd if = / dev / sda2 of = / home / $ user / hddimage2.img bs = 1 mln liczba = 8860
[...]

Twórz obrazy DVD partycji (przydatne do tworzenia kopii zapasowych)

dd if = / $ lokalizacja / 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
[itp…]

Przywróć z poprzedniej kopii zapasowej

dd if = / dev / zero count = 1 bs = 1024 seek = 1 z = / dev / sda6 - » Zniszcz superblok

dd if = / dev / zero count = 1 bs = 4096 seek = 0 z = / dev / sda5 - » Kolejny sposób na zniszczenie superbloku

dd if = / home / $ user / suspicious.doc | clamscan - » Sprawdza plik pod kątem wirusów (wymaga ClamAV)

dd if = / home / $ user / plik binarny | hexdump -C | mniej - » Wyświetl zawartość pliku binarnego (wymaga zrzutu heksowego)

dd if = / home / $ user / bigfile of = / dev / null
dd if = / dev / zero of = / home / $ user / bigfile bs = 1024 count = 1000000

Przetestuj prędkość odczytu / zapisu dysku twardego

dd if = / dev / sda of = / dev / sda - » Tchnij nowe życie w stare dyski twarde, które nie były używane przez jakiś czas (dyski muszą być „odmontowane”)

dd if = / dev / mem | struny | grep 'string_to_search' - » Zbadaj zawartość pamięci (to znaczy czytelną dla człowieka)

dd if = / dev / fd0 of = / home / $ user / floppy.image bs = 2x80x18b conv = notrunc - » Skopiuj dyskietkę

dd if = / proc / kcore | hexdump -C | mniej - »Wyświetla pamięć wirtualną

dd if = / proc / filesystems | hexdump -C | mniej - » Wyświetl dostępne systemy plików

dd if = / proc / kallsyms | hexdump -C | mniej - » Pokaż załadowane moduły

dd jeśli = / proc / przerwań | hexdump -C | mniej - » Wyświetla tabelę przerwań

dd if = / proc / uptime | hexdump -C | mniej - » Pokazuje czas pracy w sekundach

dd if = / proc / partitions | hexdump -C | mniej - » Wyświetl dostępne partycje w kb

dd if = / proc / meminfo | hexdump -C | mniej - » Pokazuje stan pamięci

dd if = / dev / urandom of = / home / $ user / myrandom bs = 100 count = 1 - » Utwórz plik o rozmiarze 1 KB z przypadkowym bełkotem

dd if = / dev / mem of = / home / $ user / mem.bin bs = 1024 - » Tworzy obraz aktualnego stanu pamięci systemowej

dd if = / home / $ user / myfile - » Wydrukuj plik na standardowe wyjście

dd if = / dev / sda2 bs = 16065 | hexdump -C | grep „text_to_search” - » Poszukaj ciągu w całej partycji; nawet jeśli jest zabezpieczony, możesz uruchomić liveCD

dd if = / home / $ user / file.bin skip = 64k bs = 1 z = / home / $ user / convfile.bin - » Skopiuj plik.bin do convfile.bin pomijając pierwsze 64 kb

dd if = / home / $ user / bootimage.img of = / dev / sdc - » Utwórz bootowalny dysk UDB (pokazany tutaj jako / dev / sdc)

dd if = / dev / mem bs = 1k skip = 768 count = 256 2> / dev / null | ciągi -n 8 - » Przeczytaj BIOS.

dd bs = 1k if = imagefile.nrg of = imagefile.iso skip = 300k - » Konwertuje obraz Nero na standardowy obraz ISO.
Jest to możliwe, ponieważ jedyną różnicą między nimi jest 300 kB nagłówka, który Nero dodaje do standardowego obrazu ISO.

echo -n "witaj wertykalny świecie" | dd cbs = 1 conv = unblock 2> / dev / null - » Spróbuj, to bezpieczne. 🙂

dd if = / dev / sda1 | gzip -c | split -b 2000m - \ /mnt/hdc1/backup.img.gz - » Utwórz obraz gzip partycji za pomocą split

cat /mnt/hdc1/backup.img.gz.* | gzip -dc | dd of = / dev / sda1 - » Przywróć poprzednią kopię zapasową

dd if = / dev / zero of = myimage bs = 1024 count = 10240 - » Utwórz pusty obraz dysku

dd ibs = 10 pomiń = 1 - » Podziel pierwsze 10 bajtów stdin

dd bs = 265b conv = noerror if = / dev / st0 of = / tmp / bad.tape.image - » Tworzy obraz taśmy ze złymi punktami

dd if = / dev / sda count = 1 | hexdump -C - » Wyświetl swój MBR

dd if = / dev / sda | nc -l 10001 nc $ system_to_backup_IP 10001 | dd of = sysbackupsda.img - » Szybkie tworzenie kopii zapasowych w sieci za pomocą programu netcat

dd if = / dev / zero of = / dev / sdX bs = 1024000 count = 1 - » Wyczyść pierwsze 10 MB partycji

dd if = / dev / zero of = tmpswap bs = 1k
count = 1000000
chmod 600 tmpswap
mkswap tmpswap
zamień tmpswap

Utwórz tymczasową przestrzeń wymiany

dd if = / dev / sda of = / dev / null bs = 1024 tys. liczba = 1024
1073741824 bajtów (1.1 GB) skopiowanych,
24.1684 s, 44.4 MB / s

Określa sekwencyjną prędkość we / wy dysku.

dd if = / dev / random count = 1 2> / dev / null | od -t u1 | \ awk '{print $ 2}' | głowa -1 - » Wygeneruj liczbę losową

dd if = / dev / mem of = myRAM bs = 1024 - » Skopiuj pamięć RAM do pliku

dd if = / dev / sda bs = 512 count = 1 | od -xa - » Wyświetl zawartość swojego MBR w formacie szesnastkowym i ASCII

dd if = / my / old / mbr of = / dev / sda bs = 446 count = 1 - » Przywraca MBR bez zmiany rekordu tablicy partycji, który ma rozmiar od 447 do 511 bajtów

dd if = / dev / sda1 | split -b 700m - sda1-image - » Utwórz kopię partycji i zapisz obrazy, których maksymalny rozmiar woluminu to 700 MB

ls -l | dd conv = ucase - » Konwertuje dane wyjściowe polecenia na wielkie litery

echo "TEKST MÓJ WIELKICH LITER" | dd conv = lcase - » Konwertuj dowolny tekst na małe litery

dd if = / etc / passwd cbs = 132 conv = ebcdic of = / tmp / passwd.ebcdic - » Konwertuje systemowy plik haseł na plik o stałej długości w formacie EBCDIC

dd if = text.ascii of = text.ebcdic conv = ebcdic - » Konwertuj z ASCII na EBCDIC

dd if = myfile of = myfile conv = ucase - » Konwertuj plik na wielkie litery (prosta wymiana SED lub tr)

4. Wniosek:

To tylko niewielka część tego, co dd może zrobić i mamy nadzieję, że w tym artykule zostały one skonfigurowane tak, aby obejmowały najczęściej używane przykłady dla zwykłego użytkownika. Jednak zanim przejdziesz dalej, zalecamy przeczytanie dokumentacji dysku twardego, poszukanie takich rzeczy, jak ograniczenia LBA i zachowanie szczególnej ostrożności podczas używania dd w terminalu root. Oczywiście masz już kopie zapasowe, ale odrobina dodatkowej ostrożności pozwoli Ci zaoszczędzić wiele godzin niepotrzebnej pracy.

I na tym artykuł się kończy.

Dla przypomnienia, nie próbowałem żadnego z poleceń pokazanych w tym artykule, więc jeśli ktoś nadużywa (lub nieprawidłowo) tych poleceń, najprawdopodobniej jak uszkodzi coś na swoim komputerze to nie będę w stanie Ci pomóc.

Nic, po trochu będę testować polecenia hehe, jeśli znajdę coś interesującego, to się tym podzielę.

pozdrowienia


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Luweed powiedział

    Świetny artykuł, tak dokładnie analizowane jest polecenie i dlatego wiele się dowiadujemy o tym, o co chodzi. Gratulacje i podziękowania jak zawsze!

  2.   Oscar powiedział

    Bardzo dobry i ciekawy wpis, który uważam za ważny, przystąpię do jego składania.
    Wyobrażam sobie, że po dwóch dniach wakacji ty i twój partner stwierdzicie, że ich baterie są dobrze naładowane, hahahaha.
    Brakowało mi artykułów na blogu.

    1.    KZKG ^ Gaara <"Linux powiedział

      Dzięki, zasługa nie jest moja ... Po prostu wstawiłem tłumaczenie 🙂
      I haha ​​tak, jutro będzie więcej artykułów haha, przepraszamy za te dni bez publikowania niczego, nawet patrząc na statystyki widzimy spadek jaki mieliśmy hehe.

    2.    elav <° Linux powiedział

      Mówisz o wakacjach? Hahahaha ... Szkoda, że ​​tak nie było ...

  3.   Oleksi powiedział

    Dobry artykuł, jak zawsze przypominam, jeśli możesz włączyć wtyczkę, aby wyeksportować je do PDF lub załączyć artykuł jako PDF

    Pozdrowienia!

    1.    Odwaga powiedział

      Na marginesie przypominam, że powinieneś otworzyć forum, ponieważ istnieje tendencja do znacznego off-tagowania w postach (włączając siebie)

      1.    KZKG ^ Gaara <"Linux powiedział

        Błędy lub problemy, które prezentowaliśmy, problemy z połączeniem z bazą danych i inne, wynikają z tego, że strona generuje zbyt dużą aktywność lub ruch, przez co chwilami jesteśmy offline. Jeśli oprócz witryny dodamy forum, wygeneruje to większy ruch i pogorszy wszystko.

        Pomysł na forum tak, podoba nam się, bardzo nam się to podoba, ale w tej chwili niestety nie możemy 🙁

        1.    Odwaga powiedział

          WordPress ma do tego wtyczkę, nie musisz korzystać z witryn, których nie widzisz

      2.    Oleksi powiedział

        Ok ... alternatywą bez dodawania kolejnej platformy lub strony jest bbPres (bbpress.org) na WordPress

        Pozdrowienia!

        1.    KZKG ^ Gaara <"Linux powiedział

          Tak, znamy go hehe, właściwie myśleliśmy o FluxBB 🙂
          Problemem nie jest inna baza danych lub użycie tej samej z większą liczbą tabel, ale tylko większa aktywność.

      3.    elav <° Linux powiedział

        Wkrótce otworzymy forum 😀

    2.    KZKG ^ Gaara <"Linux powiedział

      Nadal musimy wystarczająco przetestować tę wtyczkę, a następnie umieścić ją, jeśli działa dobrze 🙂
      Nie mieliśmy czasu haha

  4.   korea powiedział

    Drogi kolego, cieszę się, że cytuję tę bardzo dobrą szkoda, że ​​tak utknęła mi aplikacja, którą chciałbym, żebyś się głębiej zajął, bo chciałbym wiedzieć
    Jeśli możesz zrobić bootowalny magnes na DVD lub * .iso, skompresowanym, z góry dziękuję, mam nadzieję, że odpowiedź na mój post-skrypt myślę, że jesteś jedyną osobą w całej hiszpańskojęzycznej sieci abala, która ma go bardziej rozszerzoną w wyjaśnił Świetny artykuł,

  5.   69najlepsze69 powiedział

    Jak mogę klonować z jednego komputera na inny przez sieć? w moim przypadku są 2 laptopy podłączone w sieci LAN, oba w kierunku statycznym

  6.   Erick powiedział

    Dzięki za informację 🙂

  7.   pozłacany4 powiedział

    Po moim zmienionym kontrakcie
    http://premium.cars.purplesphere.in/?post.zoey
    mamusie i córki darmowe porno 3gp wesoły porno klipy wideo buzzer porno pingwin vids porno trasa 96 porno

  8.   Aiasi Bor powiedział

    Polecenie ożywienia starych płyt ma KAPITAŁOWE znaczenie. Dobrze, że to krótka lista tego, co można zrobić!