Я пытаюсь сделать разреженный файл на Android. Для этого я использую Android Terminal Emulator. Я установил Busybox, чтобы я мог использовать команду dd. Другие команды, такие как усечение, не установлены. Мой вопрос: кто-нибудь знает, как сделать разреженный файл с терминалом Android?

Я пробовал некоторые команды, которые я нашел в интернете:

dd if=/dev/zero of=/sdcard/file.img bs=1 count=0 seek="wanted size"    

Но файл не будет сделан. Я также попробовал:

dd if=/dev/zero of=/sdcard/file.img bs="wanted size" count=1.   

Но я бы получил следующую ошибку:

dd "path of if" invalid argument    

Кто-нибудь знает, как сделать это правильно?

1 ответ1

1

Я уже нашел ответ сам.

dd if=/dev/zero of=/sdcard/file.img bs=1 count=0 seek="wanted size"    

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

dd if=/dev/zero of=/sdcard/file.img bs="wanted size" count=1    

Даст следующую ошибку:

dd "path of if" invalid argument    

Проблема здесь в том, что есть ограничение на размер блока. Это не может быть установлено настолько большим. Мне нужно было рассчитать количество для желаемого размера блока. Я выбрал 64к. Это рабочая команда для создания разреженного файла размером 512 МБ:

dd if=/dev/zero of=/sdcard/file.img bs=64k count=8192    

Использование поиска не является обязательным.

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