Jak nauczyć się polecenia DD w Linux [15 przydatnych przykładów]
- 2175
- 682
- Juliusz Sienkiewicz
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.
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.
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 tekstowyKonwertuj 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 tekstowyKonwertuj 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 tekstowyDołą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 tekstowyPomiń 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.imgPartycja 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/sdb1Przywróć 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.imgKopię 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 /sdbPrzywróć 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 DDNależ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/sdbPrzywróć 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.JestSkopiuj 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/sdbUtwó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ępPokaż 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.
- « 17 najlepszych przeglądarek internetowych, które odkryłem dla Linuksa w 2023 roku
- Jak zrobić „Migawka objętości logicznej i przywracania” w LVM - część III »