cat je primarne na cteni vstupu (a vystup lze presmerovat) ale nema ochrane prvky pro pouziti s blokovym zarizenim
dd je primarne na kopirovani vstupu na vystup a pocita primarne s pouzitim na blokovym zarizenim
cat i dd jsou soucast balicku (gnu) "coreutils", coz je naprosto zakladni a v kazde GNU/Linux vzdy dostupny balik zakladnich nastroju, viz napr:
https://cs.wikipedia.org/wiki/GNU_Core_Utilities#zakladni pouziti dd - vytvoreni image z disku, pouzit velikosti bloku 1MB(kvuli rychlosti)
dd if=/dev/sdX of=/cesta/kam/ulozit/image bs=1M
#obnova image na disk:
dd if=/cesta/odkud/nacist/image of=/dev/sdX bs=1M
misto sdX je potreba pouzit spravne jmeno zarizeni z ktereho/na ktery chce ukladat,
opatrne prikaz se na nic nepta a kdyz misto jmena zarizeni pro flash das jmeno zariezeni pro HDD tak se ti bez ptani prepise zacatek HDD...
jinak velikost image je totozna s celkovou velikosti usb-flash (nebo hdd, nebo "cehokoliv"), tedy neignoruje se volne mist, toho lze v podstate dousahnout pridanim komprese, v tom pripade dd jen nacita a data se pres rouru (pipe, znak |) predavaji archivacnimu nastroji (pri obnove v opacnem poradi) kterej pomoci parametru -c vi ze ma brat/dat data z/do roury
dd if=/dev/sdX bs=1M | gzip -c > /cesta/kam/ulozit/image.gz
gunzip -c > /cesta/kam/ulozit/image.gz | dd of=/dev/sdX bs=1M
jeste "drobnost"... dd neukazuje stav kopirovan/prubeh, da se toho docilit tim ze se mu posle USR1 signal, dd zobrazi stav a pokracuje tise dal, pri dokonceni (nezavisle na predchozim poslani USR1 signalu) se zobrazi celkove mnozstvi cas a rychlost...
kill pozduje cislo procesu, to lze zjistit dalsim/vnorene zavolanim prikazu pidoff ktery vraci cislo procesu pro dotazanej nazev (logicky to nefunguje v pripade ze by bezelo nekolik dd najenou)
kill -USR1 $(pidof dd)