3

Я пытаюсь узнать об операционных системах, создав одну из них и протестировав ее в virtual-box, но VBoxManage convertfromraw не позволяет моему исходному файлу быть очень маленьким (512B).

Существуют ли какие-либо команды bash, которые будут выполнять следующие действия (псевдокод), сохраняя при этом содержимое файла?

if (FILE.size < 1MB) {
    FILE.resize(1MB);
}

2 ответа2

2

Предполагая Linux и современную файловую систему (безопасная - только растёт файлы):

fallocate --length=1M yourfile

Без Fallocate (создает редкий файл при росте; будьте осторожны с размером):

truncate --size=1M yourfile

Без Fallocate (требуется 64-битная система для файлов размером более 2 ГБ):

file="yourfile"
want=$(( 1 * 1024 * 1024 ))

size=$(stat -c %s "$file")
if (( want > size )); then
    head -c $(( want - size )) /dev/zero >> "$file"
fi
0

Из другой ветки:

dd if=/dev/zero bs=1 count=NUMBER >> yourfile

Это будет читать из /dev/zero и добавлять к yourfile NUMBER байтов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .