„Dd“ je linuxový nástroj CLI. Nyní je aktuální verze „dd“ součástí GNU coreutils, je funkcí, kterou nabízí každý jednotlivý systém UNIX / Linux. Primárním účelem tohoto nástroje je převod a kopírování souborů. Je to však zcela jiné než jiné nástroje pro kopírování souborů, jako je „cp“.
dd funkce „Dd“ lze použít k různým účelům:
Pomocí „dd“ je možné přímo číst a / nebo zapisovat z / do různých souborů za předpokladu, že funkce je již implementována v respektovaných ovladačích. Je to velmi užitečné pro účely, jako je zálohování bootovacího sektoru, získávání náhodných dat atd. Převod dat, například převod ASCII na kódování EBCDIC. dd použití Zde jsou některé z nejběžnějších a nejzajímavějších použití „dd“. „Dd“ je samozřejmě mnohem schopnější než tyto věci. Pokud máte zájem, vždy doporučuji zkontrolovat další podrobné zdroje na „dd“.
Umístění
který dd
Jak ukazuje výstup, při každém spuštění „dd“ se spustí z „/ usr / bin / dd“.
Základní použití Zde je struktura, kterou „dd“ následuje.
dd if =
z = Například vytvořme soubor s náhodnými daty. V systému Linux jsou některé vestavěné speciální soubory, které se zobrazují jako normální soubory, například „/ dev / zero“, které vytvářejí nepřetržitý proud NULL, „/ dev / random“, které vytváří nepřetržitá náhodná data.
dd if = / dev / urandom of = ~ / Desktop / random.txt bs = 1M počet = 5
Úplně první možnosti jsou samozřejmé. Znamená to použít „/ dev / urandom“ jako zdroj dat a „~ / Desktop / random.txt “jako cíl. Jaké jsou další možnosti?
Zde „bs“ znamená „velikost bloku“. Když dd zapisuje data, zapisuje se do bloků. Pomocí této možnosti lze definovat velikost bloku. V tomto případě hodnota „1M“ říká, že velikost bloku je 1 megabajt.
„Count“ rozhoduje o počtu bloků, které mají být zapsány. Pokud není opraveno, bude „dd“ pokračovat v procesu zápisu, dokud vstupní proud neskončí. V tomto případě bude „/ dev / urandom“ pokračovat v generování dat nekonečně dlouho, takže tato možnost byla v tomto příkladu prvořadá.
Zálohování dat Pomocí této metody lze „dd“ použít k výpisu dat celé jednotky! Vše, co potřebujete, je říct disku jako zdroji.
dd if = z =
Pokud se chystáte na takové akce, ujistěte se, že váš zdroj není adresář. „Dd“ nemá ponětí, jak zpracovat adresář, takže věci nebudou fungovat.
„Dd“ ví jen to, jak pracovat se soubory. Pokud tedy potřebujete zálohovat adresář, nejprve jej archivujte pomocí tar, poté jej pomocí „dd“ přeneste do souboru.
ukázka tar cvJf.dehet.xz DemoDir /
dd if = demo.dehet.xz of = ~ / Desktop / backup.obr
V dalším příkladu provedeme velmi citlivou operaci: zálohování MBR! Nyní, pokud váš systém používá MBR (Master Boot Record), je umístěn na prvních 512 bajtech systémového disku: 466 bajtů pro bootloader, ostatní pro tabulku oddílů.
Spusťte tento příkaz pro zálohování záznamu MBR.
dd if = / dev / sda of = ~ / Desktop / mbr.img bs = 512 count = 1
Obnova dat U jakékoli zálohy je nutný způsob obnovení dat. V případě „dd“ je proces obnovení trochu jiný než u jiných nástrojů. Musíte přepsat záložní soubor na podobnou složku / oddíl / zařízení.
Například mám tuto „zálohu.img “soubor obsahující„ demo.dehet.soubor xz “. K jeho rozbalení jsem použil následující příkaz.
dd if = záloha.obrázek = demo.dehet.xz
Znovu se ujistěte, že píšete výstup do souboru. „Dd“ není s adresáři dobrý, pamatujte?
Podobně, pokud byl „dd“ použit k vytvoření zálohy oddílu, jeho obnovení by vyžadovalo následující příkaz.
dd if = z =
Například, co takhle obnovit MBR, které jsme zálohovali dříve?
dd if = mbr.obrázek = / dev / sda
„Dd“ možnosti V určitém okamžiku této příručky jste narazili na některé možnosti „dd“, například „bs“ a „count“, správně? No, je jich víc. Zde je užší seznam toho, co jsou zač a jak je používat.
obs: Určuje velikost dat, která mají být zapsána najednou. Výchozí hodnota je 512 bajtů.
cbs: Určuje velikost dat, která mají být převedena najednou.
ibs: Určuje velikost dat ke čtení najednou. počet: Zkopírujte pouze N bloků
hledat: Přeskočit N bloků na začátku výstupu
skip: Přeskočí N bloků na začátku vstupu
conv = ascii: Převede vstup souboru z EBCDIC na ASCII
conv = ebcdic: Převede vstup souboru z ASCII na EBCDIC
conv = ibm: převede vstup souboru z ASCII na alternativní EBCDIC
conv = lcase: převede vstup souboru z velkých na malá
conv = ucase: převede vstup souboru z malých na velká
conv = swab: Zaměňte každý vstupní pár
Další možnosti:
nocreat: Nevytvářejte výstupní soubor notruc: Nezkracujte výstupní soubor noerror: Pokračujte v operaci, i když dojde k chybě fdatasync: Před dokončením procesu zapište data do fyzického úložiště fsync: Podobně jako fdatasync, ale také zapisuje metadata iflag: Upravte operaci na základě různých příznaků. Dostupné příznaky zahrnují: připojit k Připojit data k výstupu
Další možnosti:
adresář: Tváří v tvář adresáři se operace nezdaří dsync: Synchronizovaný I / O pro data synchronizace: Podobně jako dsync, ale zahrnuje metadata nocache: Žádosti o zrušení mezipaměti. nofollow: Nesledujte žádný symbolický odkaz
Další možnosti:
count_bytes: Podobné jako „count = N“ hledat_byty: Podobné jako „hledat = N“ skip_bytes: Podobně jako „skip = N“ Jak jste viděli, je možné do jednoho příkazu „dd“ naskládat více příznaků a voleb, abyste vyladili chování operace.
dd if = demo.txt of = demo1.txt bs = 10 count = 100 conv = ebcdic iflag = připojit, nocache, nofollow, synchronizovat
Závěrečné myšlenky Pracovní postup „dd“ je velmi jednoduchý. Aby však „dd“ skutečně zářilo, záleží jen na vás. Existuje spousta způsobů, jak lze kreativními způsoby „dd“ provádět chytré interakce.
Podrobné informace o souboru „dd“ a všech jeho možnostech najdete na stránce manuálu a informací.
muž dd