切り捨て、シーク、スキップを使用してファイルを読み書きするには、他にどのツールを使用すればよいですか。 ddのコマンドラインオプションは不便で外国のように見え、遅いが正確なシークモード(bs=1
)と高速ですが、柔軟性のないモード(bs=4k
または何か)。
位置31337から1つのファイル(またはパイプ、ソケット、またはdev)から555バイトを読み取り、切り捨ての有無にかかわらず、位置128205の別のファイル(ブロック512 + 43を使用)に書き込む最新のツールはありますか?
ツールddrescue
があります(注意してください。dd_rescue
は、ほぼ同じ機能を持つ別のプログラムです)。短いオプションには単一のダッシュを使用し、長いオプションには二重のダッシュを使用する、より一般的な構文を使用します。 manページから:
-i, --input-position=<bytes>
starting position in input file [0]
-K, --skip-size=<bytes>
initial size to skip on read error [64 KiB]
-M, --retrim
mark all failed blocks as non-trimmed
-o, --output-position=<bytes>
starting position in output file [ipos]
良い代替案はpv
です。最も効率的なブロックサイズを自動的に計算するだけでなく、本質的にスピードアップするだけでなく、とりわけ進捗状況も提供します。使い方は簡単です:
pv < /dev/sda > sda.img
圧縮もうまくいきます。 1回の移動でディスクをバックアップして圧縮する高速な方法は次のとおりです。
pv < /dev/sdb | pigz -9 > disk.img.gz
詳細は こちら をご覧ください。
dcfldd は別のddの代替です。入出力シークの柔軟性に関するOPの質問には対応していませんが、Google検索を介してここに到着する他のユーザーには役立つ場合があります。
これはgnu ddに基づいており、次の追加機能があります。