ファイルを別のファイルに書き込む方法

ファイルを別のファイルに書き込む方法

別のファイル(サイズ1.1 KB)を作成する必要がある9.0 KB(0のみを含む)サイズの空のファイルがありますが、最初のファイルのサイズまたは残りの内容は失われてはいけません。したがって、ファイル全体が00000000000000...今の場合は、その中に2番目のファイルを作成し、ゼロを変更せずに残す必要があります。私はdd成功せずにファイルサイズ変更を試してみました。

dd if=out/one.img of=out/go.img

どうすればいいのか知っている人はいますか?

ベストアンサー1

切り捨てずにオブジェクトファイルの先頭を上書きするには、notrunc変換ディレクティブを指定します。

$ dd if=out/one.img of=out/go.img conv=notrunc

ソースファイルのデータが必要な場合追加ターゲットに対して次のディレクティブを使用してこれを実行できますseek

$ dd if=out/one.img of=out/go.img bs=1k seek=9

これはddブロックサイズが1kiBなので、seek書き込み前に9kiBが進行したことを示します。

2つのフォームを組み合わせることもできます。たとえば、上書きするには第二1kiBソースを持つファイルの1kiBチャンク:

$ dd if=out/one.img of=out/go.img bs=1k seek=9 conv=notrunc

つまり、出力ファイルの最初の1kiBをスキップし、そこにあるデータを入力ファイルのデータで上書きし、最初に切り捨てずに出力を閉じます。

おすすめ記事