truncate -s 10M output.file
瞬時に 10 M ファイルを作成します (M は 1024 1024 バイトを表し、MB は 1000 1000 を表します - K、KB、G、GB と同じです...)
編集:多くの人が指摘しているように、これはデバイスにファイルを物理的に割り当てません。これにより、「スパース」ファイルが作成されるため、デバイスの使用可能なスペースに関係なく、実際に任意の大きなファイルを作成できます。
たとえば、このコマンドでは HDD スペースが消費されないことに注意してください。
### BEFORE
$ df -h | grep lvm
/dev/mapper/lvm--raid0-lvm0
7.2T 6.6T 232G 97% /export/lvm-raid0
$ truncate -s 500M 500MB.file
### AFTER
$ df -h | grep lvm
/dev/mapper/lvm--raid0-lvm0
7.2T 6.6T 232G 97% /export/lvm-raid0
したがって、これを行うと、ファイルがアクセスされるまで物理割り当てを延期することになります。このファイルをメモリにマップしている場合、期待どおりのパフォーマンスが得られない可能性があります。
しかし、これは知っておくと便利なコマンドです。たとえば、ファイルを使用して転送をベンチマークする場合、指定されたサイズのファイルは引き続き移動されます。
$ rsync -aHAxvP --numeric-ids --delete --info=progress2 \
root@mulder.bub.lan:/export/lvm-raid0/500MB.file \
/export/raid1/
receiving incremental file list
500MB.file
524,288,000 100% 41.40MB/s 0:00:12 (xfr#1, to-chk=0/1)
sent 30 bytes received 524,352,082 bytes 38,840,897.19 bytes/sec
total size is 524,288,000 speedup is 1.00