truncate
を使用 :
truncate -s 14M filename
man truncate
から :
DESCRIPTION
Shrink or extend the size of each FILE to the specified size
[...]
-s, --size=SIZE
set or adjust the file size by SIZE
注:truncate
お使いのシステムでは利用できない場合があります。 Mac OS X では、デフォルトではインストールされません (ただし、macports などを使用して簡単にインストールできます)。このような場合、dd
を使用する必要があるかもしれません または head
編集:最も簡単な方法はおそらく truncate
です Ashutosh Vishwa Bandhuの答えの、しかし@ offby1によって指摘されたように、それはあなたが望むものではないかもしれないスパースファイルを作成します。以下のソリューションでは、通常の完全なファイルが作成されます。
次のコマンドは、foo
という 14MB のファイルを作成します。 :
fallocate
(コメントで提案した @Breakthrough に感謝し、以下の Ahmed Masud の回答に投票してください。)
fallocate -l 14000000 foo
このコマンドは truncate
と同じ速さなので、特に印象的です (瞬時に)必要なファイルサイズに関係なく(大きなファイルの場合は遅くなる他のソリューションとは異なり)、スパースファイルではなく通常のファイルを作成します:
$ truncate -s 14MB foo1.txt
$ fallocate -l 14000000 foo2.txt
$ ls -ls foo?.txt
0 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:54 foo1.txt
13672 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:55 foo2.txt
ランダム データで満たされたファイルを作成します
dd if=/dev/urandom of=foo bs=14MB count=1
または
head -c 14MB /dev/urandom > foo
\0
で満たされたファイルを作成します s:
dd if=/dev/zero of=foo.txt bs=14MB count=1
または
head -c 14MB /dev/zero > foo
別のファイルの最初の 14MB のデータで満たされたファイルを作成します:
head -c 14MB bar.txt > foo
別のファイルの最後の 14MB のデータで満たされたファイルを作成します:
tail -c 14MB bar.txt > foo
上記のすべての例では、ファイルは 14*1000*1000
になります。 14*1024*1024
が必要な場合 、 MB
を置き換えます M
で .例:
dd if=/dev/urandom of=foo bs=14M count=1
head -c 14M /dev/zero > foo
fallocate
バイト単位でのみ処理するため、(14*1024*1024=14680064) する必要があります
fallocate -l 14680064 foo
dd bs=1MB count=14 if=/dev/zero of=<yourfilename>
警告 dd
何でも黙って上書きします 自発的にまたは偶然に指定した場合は、書き込みの権利があります。 dd
を理解していることを確認してください 、例えば。 dd --help
を読んで 、および dd コマンドラインを台無しにしないでください。そうしないと、元に戻せないデータ損失を簡単に作成できます-合計でも .
まず、if=
入力ファイルです と of=
出力ファイルです . 常に コマンドを実行する前に、それが正しいことを再確認してください。 :)