Как я могу быстро сделать большой файл?

Что быстрый и простой способ состоит в том, чтобы сделать файлом то есть, сказать, 2 ГБ в размере?

26
задан 9 June 2011 в 21:01

3 ответа

Заполнить нулями метод (здесь измененный для предотвращения потенциальных узких мест памяти) занял 17 секунд для создания файла на 10 ГБ на SSD и заставил графический интерфейс Ubuntu становиться безразличным.

$ time sh -c 'dd if=/dev/zero iflag=count_bytes count=10G bs=1M of=large; sync'
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 17.2003 s, 624 MB/s

real    0m17.642s
user    0m0.008s
sys     0m9.404s
$ du -B 1 --apparent-size large
10737418240     large
$ du -B 1 large
10737422336     large

fallocate создает большие файлы немедленно путем прямого управления выделенным дисковым пространством файла:

$ time sh -c 'fallocate -l 10G large; sync'

real    0m0.038s
user    0m0.000s
sys     0m0.016s
$ du -B 1 --apparent-size large
10737418240     large
$ du -B 1 large
10737422336     large

усеките также работает немедленно и создает редкие файлы, которые не израсходовали пространство фактической дисковой емкости, пока данные не записаны позже:

$ time sh -c 'truncate -s 10G large; sync'

real    0m0.014s
user    0m0.000s
sys     0m0.004s
$ du -B 1 --apparent-size large
10737418240     large
$ du -B 1 large
0       large
36
ответ дан 23 November 2019 в 01:07

Простой способ состоял бы в том, чтобы использовать dd управляйте для записи файла, полного нулей.

dd if=/dev/zero of=outputFile bs=2G count=1
  • если = входной файл
  • из = выходной файл
  • бакалавр наук = байты

Используйте G в аргументе размера, если Вы хотите компьютер (1024*1024*1024) гигабайты или ГБ, если Вы хотите человека (1000*1000*1000) гигабайты.

19
ответ дан 23 November 2019 в 01:07

ftp://ftp.fsf.hu/testfiles/maketestfiles.sh

или Ищите, размер файла, который Вы хотите в байтах - 1.

dd if=/dev/zero of=filename.big bs=1 count=1 seek=1048575 # 1 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=10485759 # 10 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=104857599 # 100 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=1073741823 # 1024 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=42949672959 # 40960 MByte
1
ответ дан 23 November 2019 в 01:07

Другие вопросы по тегам:

Похожие вопросы: