GNU/Linux >> Linux の 問題 >  >> Linux

obs と seek を使用した dd により、予期しないサイズのファイルが作成されます

あなたのコマンド dd if=/dev/zero of=./foo count=1 bs=1 obs=9 seek=1 bs 間の相互作用の定義が不十分なため、10 バイトのファイルではなく 2 バイトのファイルを作成します。 そして obs . (お好みでこれをプログラムのバグと呼んでください。ただし、ドキュメントのバグとして定義したほうがよいでしょう。) bs または ibs および obs .

経験的に bs obs をオーバーライドします 、実行されるのは dd if=/dev/zero of=./foo count=1 bs=1 seek=1 です 、ご覧のように 2 バイトのファイルを作成します。

dd if=/dev/zero of=./foo count=1 ibs=1 obs=9 seek=1 を使用した場合 予想どおり、10 バイトのファイルが得られます。

別の方法として、ディスク上のデータ領域をまったく必要としない空のファイルを作成する場合は、直観に反する名前の truncate を使用できます。 コマンド:

truncate --size=10 foo

POSIX マンページには次のように記載されています:

<ブロック引用>

ibs=式

入力ブロック サイズを expr でバイト単位で指定します (デフォルトは 512 です)。

obs=expr

expr で出力ブロック サイズをバイト単位で指定します (デフォルトは 512 です)。

bs=expr

入力と出力の両方を設定 ブロック サイズは expr バイト、supersedingibs=および obs= まで . sync、noerror、notrunc 以外の変換が指定されていない場合、各入力ブロックは短いブロックを集約せずに単一のブロックとして出力にコピーされます。

Linux の dd 同じように動作します。したがって、ibs を使用します 代わりに:

dd if=/dev/zero of=./foo count=1 ibs=1 obs=9 seek=1

Linux
  1. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  2. LsとHexdumpがファイルサイズについて意見が一致しないのはなぜですか?

  3. Linuxで特定のサイズのファイルを作成するには?

  1. このコマンドライントリックでPDFサイズを縮小する

  2. Linuxはサイズ0のファイルを削除します

  3. gstreamer と gst-launch でビデオをループしますか?

  1. GPGでファイルの暗号化と復号化が簡単に

  2. ccryptを使用したファイルの暗号化と復号化

  3. LinuxでOBSとWaylandを使用した画面記録