Разница между командами truncate и fallocate для создания большого файла в Linux заключается в том, как они работают:
- truncate создаёт разреженный файл. dzen.ru Это участок диска, который содержит похожие данные, например 0 или 1. dzen.ru По сути, в этом участке не хранится данных, просто выделяется место. dzen.ru Реальное дисковое пространство начинает выделяться только тогда, когда в файл начнётся запись данных. dzen.ru
- fallocate выделяет всё пространство для файла без записи в него ни одного байта данных. www.computernetworkingnotes.com В этом случае получается файл нужного объёма, а не разреженный, как при использовании truncate. dzen.ru
Таким образом, fallocate быстрее truncate, так как она только выделяет кластеры хранения для файла, а не заполняет все пустые места нулями. {6-host}