Like dd, dd_rescue does copy data from one file or block device to another. You can specify file positions (called seek and Skip in dd). There are several differences: * dd_rescue does not provide character conversions. * The command syntax is different. Call dd_rescue -h. * dd_rescue does not abort on errors on the input file, unless you specify a maximum error number. Then dd_rescue will abort when this number is reached. * dd_rescue does not truncate the output file, unless asked to. * You can tell dd_rescue to start from the end of a file and move backwards. * It uses two block sizes, a large (soft) block size and a small (hard) block size. In case of errors, the size falls back to the small one and is promoted again after a while without errors. * It does not (yet) support non-seekable in- or output.