Saya memiliki file kosong (hanya nol di dalamnya) berukuran 9,0KB dan saya perlu menulis file lain (dengan ukuran 1,1KB) ke dalamnya, tetapi file pertama tidak boleh kehilangan ukurannya atau sisa isinya. Jadi jika seluruh file adalah 00000000000000...
sekarang, saya perlu menulis file kedua di dalamnya dan membiarkan angka nol apa adanya. Saya telah mencoba menggunakan dd
, tapi saya belum berhasil – ukuran file diubah.
dd if=out/one.img of=out/go.img
Adakah yang tahu bagaimana saya bisa melakukannya?
Jawaban yang Diterima:
Untuk menimpa awal file tujuan tanpa memotongnya, berikan notrunc
arahan konversi:
$ dd if=out/one.img of=out/go.img conv=notrunc
Jika Anda ingin data file sumber ditambahkan ke tujuan, Anda dapat melakukannya dengan seek
arahan:
$ dd if=out/one.img of=out/go.img bs=1k seek=9
Ini memberitahu dd
bahwa ukuran blok adalah 1 kiB, sehingga seek
maju sebesar 9 kiB sebelum melakukan penulisan.
Anda juga dapat menggabungkan kedua bentuk tersebut. Misalnya, untuk menimpa kedua 1 kiB blok dalam file dengan sumber 1 kiB:
$ dd if=out/one.img of=out/go.img bs=1k seek=9 conv=notrunc
Artinya, ia melewatkan 1 kiB pertama dari file output, menimpa data yang ditemukan di sana dengan data dari file input, lalu menutup output tanpa memotongnya terlebih dahulu.