Alat apa lagi yang harus saya gunakan untuk membaca dan menulis file dengan pemotongan, mencari, dan melompati. Opsi baris perintah dd tampak tidak nyaman dan asing dan saya tidak suka memilih antara mode pencarian yang lambat, tetapi tepat ( bs=1
) dan mode cepat, tetapi tidak fleksibel ( bs=4k
atau apa pun).
Apakah ada alat yang lebih modern untuk membaca 555 byte dari satu file (atau pipa atau soket atau dev) dari posisi 31337 dan menulisnya ke file lain di posisi 128205 (menggunakan blok 512 + 43), dengan atau tanpa pemotongan?
dd
. Anda selalu bisa meletakkan pembungkus skrip shell di sekitarnya jika Anda tidak menyukai antarmuka.dd
ada dalam standar POSIX , yang merupakan nilai tambah besar.status=noxfer
tidak standar dan rusak dan yang saya butuhkaniflag=fullblock
(hilangkan dalam beberapa skrip => data rusak).bs=1
=> seluruh pipa lambat. Misalnya saya mungkin ingin membuang file video mulai dari beberapa frame yang tepat. 2. "Dibutuhkan beberapa aritmatika" => tidak terlalu cocok untuk oneliners dan perintah shell rutin.dd conv=seek_bytes
akanseek
bekerja dengan presisi byte.Jawaban:
Ada alatnya
ddrescue
(hati-hati, ada jugadd_rescue
yang merupakan program berbeda dengan fungsi yang hampir sama). Ini menggunakan sintaks yang lebih akrab dengan dasbor tunggal untuk dasbor pendek atau ganda untuk opsi panjang. Dari halaman manual:sumber
ddrescue - -
->Infile and outfile are the same.
,ddrescue /dev/stdin /dev/stdout
->Infile and outfile are the same.
. Awal cerita yang buruk ...dd_rescue
. Itu melempar peringatan bahwa file (stdin) tidak dapat dicari, tetapi hasil. Anda bisa mencobanya. Namun,ddrescue
terasa lebih berfitur lengkap dan dewasa.ddrescue
benar, pipa tidak bisa dicari. Jika Anda ingin mulai membaca pada titik tertentu dalam file, Anda harus memberikan akses ke file yang dimaksud, bukan data yang disalurkan dari program lain. Berhati-hatilah juga bahwa menggunakan pipa bertarung melawan keinginan Anda untuk kecepatan tertinggi, karena satu-satunya cara untuk meniru pencarian dalam pipa adalah dengan membaca dan membuang bagian-bagian yang tidak ingin Anda proses. Mencari dalam file yang sebenarnya jauh lebih efisien.dcfldd adalah alternatif dd lainnya. Itu tidak menjawab pertanyaan OP tentang input / output mencari fleksibilitas, tetapi mungkin bermanfaat bagi orang lain yang tiba di sini melalui pencarian google.
Ini didasarkan pada gnu dd, dengan fitur tambahan berikut:
sumber
Alternatif yang baik adalah
pv
. Tidak hanya secara otomatis menghitung ukuran blok paling efisien, pada dasarnya mempercepat, tetapi juga memberikan kemajuan, antara lain. Penggunaannya sederhana:Ia bermain dengan baik dengan kompresi juga. Cara cepat untuk membuat cadangan dan mengompres disk dalam satu gerakan adalah seperti ini:
Anda dapat mempelajari lebih lanjut di sini .
sumber