Jak nauczyć się polecenia DD w Linux [15 przydatnych przykładów]

Jak nauczyć się polecenia DD w Linux [15 przydatnych przykładów]

Krótko: W tym zaawansowanym przewodniku omówimy kilka praktycznych przykładów polecenia DD. Po przestrzeganiu tego przewodnika zaawansowani użytkownicy będą mogli wygodnie pracować z urządzeniami blokowymi z interfejsu wiersza poleceń.

W Linux wszystko jest plik, a urządzenia blokowe nie są wyjątkiem. Często musimy pracować z urządzeniami blokowymi. Jako użytkownicy Linux wykonujemy różnorodne operacje na urządzeniach blokowych, takich jak: - Przyjmowanie kopii zapasowej dysku lub partycji, tworzenie kopii zapasowej głównego rekordu rozruchu (MBR), tworząc rozruchowy dysk USB, a lista jest długa.

Z pewnością możemy użyć narzędzi graficznych do wykonywania wszystkich tych operacji. Jednak większość administratorów Linuksa woli korzystać polecenie dd Ze względu na bogatą funkcjonalność i solidność.

W tym zaawansowanym przewodniku dowiemy się o polecenie dd Aby konwertować i kopiować pliki. Jednak w przeciwieństwie do polecenia CP przez większość czasu jest używane z urządzeniami blokowymi.

W tym przewodniku zrozumiemy użycie polecenie dd Z podstawowymi przykładami omówimy niektóre zaawansowane przypadki użycia.

Spis treści

1
  • Składnia polecenia DD
  • 1. Jak skopiować plik w Linux
  • 2. Jak konwertować tekst z małej na wielki
  • 3. Jak konwertować tekst z wielkimi na małe litery
  • 4. Unikaj zastąpienia pliku docelowego w Linux
  • 5. Dołącz dane w pliku za pomocą polecenia DD
  • 6. Pomiń bajty lub znaki podczas czytania pliku wejściowego
  • 7. Backup Linux Dis Partition za pomocą polecenia DD
  • 8. Przywróć partycję dysku Linux za pomocą polecenia DD
  • 9. Kopię zapasową całego dysku twardego Linux za pomocą polecenia DD
  • 10. Przywróć dysk twardy Linux za pomocą polecenia DD
  • 11. Kopia zapasowa główna rekord rozruchu za pomocą polecenia DD
  • 12. Przywróć główny rekord rozruchu za pomocą polecenia DD
  • 13. Skopiuj zawartość napędu CD/DVD za pomocą polecenia DD
  • 14. Utwórz rozruchowy dysk USB za pomocą polecenia DD
  • 15. Jak pokazać pasek postępu
      • Wniosek

Więc zacznijmy.

Składnia polecenia DD

Najczęstsza składnia polecenie dd następująco:

$ dd [if =] [OF =] 

W powyższej składni:

  • Jeśli - reprezentuje plik wejściowy lub źródłowy.
  • z - reprezentuje plik wyjściowy lub docelowy.
Ostrożność - Należy zauważyć, że polecenie DD musi być używane bardzo ostrożnie podczas pracy z urządzeniami blokowymi. Mały błąd może spowodować trwałą utratę danych. Stąd jest zdecydowanie pochwalane przed najpierw wypróbowanie tych operacji na maszynie testowej.

1. Jak skopiować plik w Linux

Jedno z podstawowych zastosowań polecenie dd jest skopiowanie pliku do bieżącego katalogu. Zrozum, tworząc prosty plik tekstowy:

$ echo „To jest przykładowy plik tekstowy”> plik-1.tekst 

Teraz utwórzmy kopię za pomocą polecenie dd:

$ dd if = plik-1.txt of = plik-2.tekst 

W tym przykładzie Jeśli parametr reprezentuje plik źródłowy, podczas gdy z Parametr reprezentuje plik docelowy.

Kopiuj plik z poleceniem DD

Czy to nie jest dokładnie podobne do Polecenie CP? To co jest takiego wyjątkowego w polecenie dd?

polecenie dd jest znacznie potężniejszy niż regularny Polecenie CP. Te ostatnie sekcje samouczka omawiają niektóre z jego zaawansowanych przypadków użycia.

2. Jak konwertować tekst z małej na wielki

polecenie dd pozwala nam wykonywać konwersję skrzynek. Aby to osiągnąć przekon parametr z nim.

Aby to zrozumieć, najpierw wyświetlić zawartość Plik-1.tekst plik:

$ CAT PLIK-1.tekst To jest przykładowy plik tekstowy 

Teraz przekonwertujmy zawartość pliku na górną skrzynkę za pomocą następującego polecenia:

$ dd if = plik-1.txt of = wyższy poziom.txt Conv = Ucase 

W tym przykładzie Conv = Ucase Opcja służy do konwersji małych liter na wielkie litery.

Na koniec zweryfikuj zawartość nowo utworzonego pliku:

$ CAT Upper-case.tekst To jest przykładowy plik tekstowy 
Konwertuj tekst z małej na wielki poziom w Linux

3. Jak konwertować tekst z wielkimi na małe litery

W podobny sposób możemy użyć polecenie dd Aby przekonwertować litery górnych obudowy w litery dolnej sprawy:

Użyjmy CONT = LCASE Opcja przekonwertowania górnych liter w dolnej sprawie:

$ dd if = górna część.txt of = niższy.txt Conv = lcase 

Teraz wyświetlmy zawartość nowo utworzonego pliku i sprawdźmy, czy konwersja została wykonana poprawnie:

$ cat niższy.tekst To jest przykładowy plik tekstowy 
Konwertuj tekst na małe litery w Linux

4. Unikaj zastąpienia pliku docelowego w Linux

Domyślnie, polecenie dd zastępuje plik docelowy, co oznacza, że ​​zastąpi plik, jeśli istnieje w miejscu docelowym o tej samej nazwie.

Możemy jednak wyłączyć to domyślne zachowanie za pomocą Conv = wyklucz opcja jak pokazano.

$ dd if = plik-1.txt of = plik-2.txt Conv = exc DD: Nie udało się otworzyć „pliku-2.plik txt 'istnieje 

Tutaj widzimy, że polecenie dd przerwał operacje, ponieważ plik o tej samej nazwie jest obecny w miejscu docelowym.

5. Dołącz dane w pliku za pomocą polecenia DD

Czasami chcemy zaktualizować plik w trybie dodatkowym, co oznacza, że ​​nowa zawartość powinna zostać dodana do końca pliku docelowego.

Możemy to osiągnąć, łącząc dwie flagi - OFLAG = Dodatek I Conv = notRunc. Tutaj Oflag reprezentuje flagę wyjściową, podczas gdy NOTRUNC Opcja służy do wyłączenia obcięcia w miejscu docelowym.

Aby to zrozumieć, najpierw utwórzmy nowy plik tekstowy:

$ echo „Dodatkowe przykładowe demo”> dest.tekst 

Następnie dołączmy zawartość do Dest.tekst Plik za pomocą następującego polecenia:

$ dd if = plik-1.txt of = dest.txt Oflag = append Conv = notRunc 

Teraz sprawdźmy zawartość Dest.tekst plik:

$ cat dest.TXT DODATKOWANIE Przykład Demo To jest przykładowy plik tekstowy 
Dołącz dane do pliku za pomocą polecenia DD

6. Pomiń bajty lub znaki podczas czytania pliku wejściowego

Możemy poinstruować polecenie dd Aby pominąć kilka pierwszych znaków podczas czytania pliku wejściowego za pomocą ZJD I pominąć opcje.

Najpierw wyświetlmy zawartość Plik-1.tekst plik:

$ CAT PLIK-1.txt To jest przykładowy plik tekstowy 

Następnie pomińmy pierwsze 8 znaków, używając następującego polecenia:

$ dd if = plik-1.txt of = plik-2.TXT IBS = 8 SKIP = 1 

Teraz sprawdźmy zawartość Plik-2.tekst plik:

$ CAT FILE-2.txt przykładowy plik tekstowy 
Pomiń znaki z pliku za pomocą DD

W powyższym wyjściu widzimy, że polecenie pominęło pierwsze 8 znaków.

7. Backup Linux Dis Partition za pomocą polecenia DD

Do tej pory omówiliśmy podstawowe przykłady polecenie dd To nie wymaga dostępu do root. Teraz zobaczmy kilka zaawansowanych przypadków użycia.

Podobnie jak pliki, możemy wykonać kopię zapasową partycji dysku za pomocą polecenie dd. Na przykład poniższe polecenie zawiera kopię zapasową /dev/sda1 partycja do parition-bkp.img:

$ sudo dd if =/dev/sda1 of = parition-bkp.img 
Partycja kopii zapasowej w Linux za pomocą polecenia DD

8. Przywróć partycję dysku Linux za pomocą polecenia DD

W poprzednim przykładzie poparliśmy /dev/sda1 Podział na parition-bkp.img plik.

Teraz przywróćmy to do /dev/sdb1 partycja za pomocą następującego polecenia:

$ sudo dd if = parition-bkp.IMG o =/dev/sdb1 
Przywróć partycję Linux za pomocą polecenia DD

Należy zauważyć, że rozmiar partycji docelowej musi być równy lub większy niż rozmiar kopii zapasowej.

9. Kopię zapasową całego dysku twardego Linux za pomocą polecenia DD

Dysk dysku może mieć wiele partycji. Zatem przyjmowanie i przywracanie kopii zapasowej na partycję może stać się czasochłonne wraz ze wzrostem liczby partycji. Aby przezwyciężyć to ograniczenie, możemy poprzeć cały dysk, podobnie jak partycje.

Więc weźmy kopię zapasową /dev/sda Dysk za pomocą następującego polecenia:

$ sudo dd if =/dev/sda of = dis-bkp.img 
Kopię zapasową całego dysku twardego Linux za pomocą polecenia DD

Powyższe polecenie odbiera cały dysk, w tym jego partycje.

10. Przywróć dysk twardy Linux za pomocą polecenia DD

Podobnie jak partycje, możemy przywrócić kopię zapasową całego dysku. W poprzednim przykładzie poparliśmy cały dysk do dysk-BKP.img plik. Teraz użyjmy tego samego, aby przywrócić go na /dev/sdb dysk.

Najpierw usuńmy wszystkie partycje z /dev/sdb dysk i sprawdź, czy wszystkie partycje zostały usunięte:

$ lsblk /dev /sdb 

Następnie przywróćmy kopię zapasową /dev/sdb napęd za pomocą następującego polecenia:

$ sudo dd if = disk-bkp.IMG o =/dev/sdb 

Na koniec sprawdź, czy partycja została utworzona na /dev/sdb dysk:

$ lsblk /dev /sdb 
Przywróć dysk twardy Linux za pomocą polecenia DD

11. Kopia zapasowa główna rekord rozruchu za pomocą polecenia DD

Główny rekord rozruchu (MBR) znajduje się w pierwszym sektorze dysku rozruchowego. Przechowuje informacje o partycjach dysku. Możemy użyć polecenie dd Jak pokazano poniżej, aby go zabrać:

$ sudo dd if =/dev/sda o = mbr.IMG BS = 512 Liczba = 1 

Powyższe polecenie odbiera pierwsze 512 bajtów I.mi. jeden sektor.

Kopia zapasowa MBR za pomocą polecenia DD

Należy zauważyć, że powyższe polecenie musi być wykonane na dysku rozruchowym.

12. Przywróć główny rekord rozruchu za pomocą polecenia DD

W poprzednim przykładzie utworzyliśmy kopię zapasową głównego rekordu rozruchu (MBR). Teraz przywróćmy to na /dev/sdb Dysk za pomocą następującego polecenia:

$ sudo dd if = mbr.IMG o =/dev/sdb 
Przywróć MBR za pomocą polecenia DD

13. Skopiuj zawartość napędu CD/DVD za pomocą polecenia DD

Podobnie jak partycje i dyski, możemy użyć polecenia DD do kopiowania zawartości z dysku CD lub DVD. Użyjmy więc poniższego polecenia, aby zrobić to samo:

$ sudo dd if =/dev/cdrom = alma-minimal.ISO 

W Linux napęd CD/DVD jest reprezentowany przez /dev/cdrom urządzenie. Stąd używamy go jako pliku źródłowego.

Teraz sprawdźmy, czy zawartość została pomyślnie skopiowana, weryfikując jego polecenie Suma Reagen:

$ sha256Sum alma-minimal.Jest 
Skopiuj zawartość CD/DVD za pomocą polecenia DD

14. Utwórz rozruchowy dysk USB za pomocą polecenia DD

W poprzednim przykładzie stworzyliśmy obraz ISO Alma Linux. Teraz użyjmy go, aby utworzyć rozruchowy dysk USB:

$ sudo dd if = alma-minimal.ISO o =/dev/sdb 
Utwórz rozruchowy USB za pomocą polecenia DD

Należy zauważyć, że powyższe polecenie musi być wykonane za pomocą odpowiedniego napędu USB.

15. Jak pokazać pasek postępu

Domyślnie, polecenie dd nie pokazuje postępu podczas wykonywania operacji kopiowania. Możemy jednak zastąpić to domyślne zachowanie za pomocą opcji statusu.

Więc użyjmy Status = postęp opcja z polecenie dd Aby pokazać pasek postępu:

$ sudo dd if = alma-minimal.ISO o statusie =/dev/sdb = postęp 
Pokaż postęp poleceń DD
Wniosek

W tym artykule omówiliśmy niektóre praktyczne przykłady polecenie dd. Zaawansowani użytkownicy mogą odwoływać się do tych przykładów w codziennym życiu podczas pracy z systemami Linux. Jednak musimy być bardzo ostrożni podczas wykonywania tych poleceń. Ponieważ niewielki błąd może zastąpić zawartość całego dysku.

Czy znasz jakikolwiek inny najlepszy przykład polecenia DD w Linux? Daj nam znać swoje poglądy w komentarzach poniżej.