Как создать файл с заданным размером в Linux?

Вы можете перечислить свойства через Reflection и проверить их:

bool ContainsOnlyValues() { 
    return typeof(ProgrammeClient).GetProperties().All(x => x.PropertyType.IsValueType);
}
140
задан Grundlefleck 26 September 2008 в 12:50
поделиться

6 ответов

dd if=/dev/zero of=upload_test bs=file_size count=1

, Где file_size размер Вашего тестового файла в байтах

174
ответ дан Ilya Kochetov 26 September 2008 в 12:50
поделиться

Только для продолжения Tom сообщение можно использовать dd для создания редких файлов также:

dd if=/dev/zero of=the_file bs=1 count=0 seek=12345

Это создаст файл с "дырой" в нем на большей части unixes - данные не будут на самом деле записаны в диск или займут любое место до чего-то другого, чем нуль записан в него.

40
ответ дан Community 26 September 2008 в 12:50
поделиться
  • 1
    Это создает файл textfile.txt с cmd историей в нем. – foxidrive 12 June 2013 в 10:00

Используйте эту команду:

dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS

Для создания большого (пустого) файла установите $INPUT-FILE=/dev/zero.
Общий размер файла будет $BLOCK-SIZE * $NUM-BLOCKS.
Новый созданный файл будет $OUTPUT-FILE.

20
ответ дан jaypal singh 26 September 2008 в 12:50
поделиться

Вы могли сделать:

[dsm@localhost:~]$ perl -e 'print "\0" x 100' > filename.ext

, Где Вы заменяете 100 числом байтов, Вы хотите записанный.

10
ответ дан dsm 26 September 2008 в 12:50
поделиться
dd if=/dev/zero of=my_file.txt count=12345
9
ответ дан Paul Tomblin 26 September 2008 в 12:50
поделиться

Можно сделать это программно:

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>

int main() {
    int fd = creat("/tmp/foo.txt", 0644);
    ftruncate(fd, SIZE_IN_BYTES);
    close(fd);
    return 0;
}

Этот подход особенно полезен для впоследствии mmap файл в память.

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

# du -B1 --apparent-size /tmp/foo.txt

Быть осторожным:

# du /tmp/foo.txt

, вероятно, распечатает 0 , потому что это выделяется как Редкий файл , если поддерживается Вашей файловой системой.

см. также: человек 2 открытых и человек 2 усеченных

17
ответ дан Community 26 September 2008 в 12:50
поделиться
  • 1
    @Highland что-то как этот? Обратите внимание, что Вам, возможно, придется добавить префикс схемы к myFunction при использовании его. – Johanna Larsson 21 October 2012 в 18:43
Другие вопросы по тегам:

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