Zarządzanie dyskiem

Polecenie dd dla systemu Linux

Polecenie dd dla systemu Linux
„dd” to linuxowe narzędzie CLI. Teraz obecna wersja „dd” jest częścią GNU coreutils, jest tą, którą zawiera każdy system UNIX/Linux. Głównym celem tego narzędzia jest konwersja i kopiowanie plików. Jest jednak zupełnie inny niż inne narzędzia do kopiowania plików, takie jak „cp”.

dodaj funkcje

„dd” może być używane do różnych celów:

użycie dd

Oto niektóre z najczęstszych i najbardziej interesujących zastosowań „dd”. Oczywiście „dd” jest znacznie bardziej wydajne niż te rzeczy. Jeśli jesteś zainteresowany, zawsze polecam sprawdzenie innych szczegółowych zasobów na „dd”.

Lokalizacja

który dd

Jak wynika z danych wyjściowych, za każdym razem, gdy działa „dd”, uruchamia się z „/usr/bin/dd”.

Podstawowe zastosowanie

Oto struktura, po której następuje „dd”.

dd jeśli= z=

Na przykład utwórzmy plik z losowymi danymi. Istnieje kilka wbudowanych plików specjalnych w systemie Linux, które pojawiają się jako normalne pliki, takie jak „/dev/zero”, który generuje ciągły strumień NULL, „/dev/random”, który generuje ciągłe losowe dane.

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

Pierwsze opcje są oczywiste. Oznacza to użycie „/dev/urandom” jako źródła danych i „~/Desktop/random.txt” jako miejsce docelowe. Jakie są inne opcje?

Tutaj „bs” oznacza „rozmiar bloku”. Kiedy dd zapisuje dane, pisze w blokach. Za pomocą tej opcji można zdefiniować rozmiar bloku. W tym przypadku wartość „1M” mówi, że rozmiar bloku to 1 megabajt.

„liczba” decyduje o liczbie bloków do zapisania. Jeśli nie zostanie naprawiony, „dd” będzie kontynuował proces zapisu, chyba że strumień wejściowy się zakończy. W tym przypadku „/dev/urandom” będzie nadal generować dane w nieskończoność, więc ta opcja była najważniejsza w tym przykładzie.

Backup danych

Korzystając z tej metody, można użyć „dd” do zrzucenia danych całego dysku! Wystarczy wskazać dysk jako źródło.

dd jeśli= z=

Jeśli planujesz takie działania, upewnij się, że źródłem nie jest katalog. „dd” nie ma pojęcia, jak przetwarzać katalog, więc nic nie będzie działać.

„dd” wie tylko, jak pracować z plikami. Tak więc, jeśli potrzebujesz kopii zapasowej katalogu, użyj najpierw tar, aby go zarchiwizować, a następnie użyj „dd”, aby przenieść go do pliku.

tar cvJf demo.smoła.xz Katalog Demo/

dd jeśli=demo.smoła.xz of=~/Pulpit/kopia zapasowa.obrazek

W następnym przykładzie wykonamy bardzo delikatną operację: tworzenie kopii zapasowej MBR! Teraz, jeśli twój system używa MBR (Master Boot Record), to znajduje się on na pierwszych 512 bajtach dysku systemowego: 466 bajtów na bootloader, inne na tablicę partycji.

Uruchom to polecenie, aby wykonać kopię zapasową rekordu MBR.

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

Przywracanie danych

W przypadku każdej kopii zapasowej niezbędny jest sposób przywrócenia danych. W przypadku „dd” proces przywracania jest nieco inny niż w przypadku innych narzędzi. Musisz ponownie zapisać plik kopii zapasowej w podobnym folderze/partycji/urządzeniu.

Na przykład mam tę „zapasową”.img” zawierający plik „demo.smoła.xz” plik. Aby go wyodrębnić, użyłem następującego polecenia.

dd jeśli=kopia zapasowa.img of=demo.smoła.xz

Ponownie upewnij się, że zapisujesz dane wyjściowe do pliku. „dd” nie jest dobre z katalogami, pamiętaj?

Podobnie, jeśli „dd” zostało użyte do utworzenia kopii zapasowej partycji, przywrócenie jej wymagałoby następującego polecenia.

dd jeśli= z=

Na przykład, co powiesz na przywrócenie MBR, którego kopię zapasową utworzyliśmy wcześniej??

dd jeśli=mbr.obraz=/dev/sda

Opcje „dd”

W pewnym momencie tego przewodnika napotkałeś kilka opcji „dd”, takich jak „bs” i „count”, prawda? Cóż, jest ich więcej. Oto krótka lista tego, czym one są i jak ich używać.

  • obs: Określa rozmiar danych, które mają być zapisywane jednocześnie. Domyślna wartość to 512 bajtów.

  • cbs: Określa rozmiar danych do konwersji na raz converted.

  • ibs: Określa rozmiar danych, które mają być odczytywane jednocześnie.
  • liczyć: Skopiuj tylko N bloków

  • seek: Pomiń N bloków na początku wyjścia

  • pomiń: Pomiń N bloków na początku wejścia

conv=ascii: Konwertuje plik wejściowy z EBCDIC na ASCII

conv=ebcdic: Konwertuje plik wejściowy z ASCII na EBCDIC

conv=ibm: konwertuje plik wejściowy z ASCII na alternatywny EBCDIC

conv=lcase: konwertuje dane wejściowe pliku z wielkich na małe

conv=ucase: konwertuje dane wejściowe pliku z małych na wielkie

conv=swab: Zamień każdą parę wejściową

Dodatkowe opcje:

  • nocreat: Nie twórz pliku wyjściowego
  • notruc: nie przycinaj pliku wyjściowego
  • noerror: Kontynuuj operację, nawet po napotkaniu błędu
  • fdatasync: zapisz dane do pamięci fizycznej przed zakończeniem procesu
  • fsync: Podobny do fdatasync, ale zapisuje również metadane
  • iflag: Dostosuj operację w oparciu o różne flagi. Dostępne flagi to: dołącz do Dołącz dane do wyjścia

Dodatkowe opcje:

  • directory: W obliczu katalogu nie powiedzie się operacja
  • dssync: zsynchronizowane we/wy dla danych
  • synchronizacja: podobna do programu dsync, ale zawiera metadane
  • nocache: prośby o usunięcie pamięci podręcznej.
  • nofollow: nie podążaj za żadnym dowiązaniem symbolicznym

Dodatkowe opcje:

  • count_bytes: Podobne do „count=N”
  • seek_bytes: Podobne do „seek=N”
  • skip_bytes: podobny do „skip=N”

Jak widziałeś, możliwe jest ułożenie wielu flag i opcji w jednym poleceniu „dd”, aby dostosować zachowanie operacji.

dd jeśli=demo.txt of=demo1.txt bs=10 count=100 conv=ebcdic
iflag=append,nocache,nofollow,sync

Końcowe przemyślenia

Przepływ pracy „dd” jest dość prosty. Jednak aby „dd” naprawdę zabłysło, zależy to od Ciebie. Istnieje mnóstwo kreatywnych sposobów wykorzystania „dd” do wykonywania sprytnych interakcji.

Aby uzyskać szczegółowe informacje na temat „dd” i wszystkich jego opcji, zajrzyj na stronę man i info.

człowiek dd
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...
Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...
Gry Open Source Ports of Commercial Game Engines
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...