Trong Linux kernel FALLOC_FL_INSERT_RANGE
tùy chọn 4.1 đã được thêm vào. Từ fallocate(2)
trang nam :
Việc chỉ định cờ FALLOC_FL_INSERT_RANGE (có sẵn từ Linux 4.1) trong chế độ sẽ tăng không gian tệp bằng cách chèn một lỗ trong kích thước tệp mà không ghi đè lên bất kỳ dữ liệu hiện có nào. Lỗ sẽ bắt đầu ở offset và tiếp tục cho các byte len. Khi chèn lỗ bên trong tệp, nội dung của tệp bắt đầu ở phần bù sẽ được dịch chuyển lên trên (nghĩa là phần bù tệp cao hơn) bằng các byte len. Chèn một lỗ bên trong tệp làm tăng kích thước tệp bằng len byte.
Và gần đây, hỗ trợ tùy chọn này đã được thêm vào util-linux
:
-i, --insert-range
Insert a hole of length bytes from offset, shifting existing
data.
Vì vậy, khi util-linux
phiên bản 2.30 được phát hành và bản phân phối linux của bạn sẽ cập nhật lên phiên bản này, chúng tôi sẽ có thể tăng kích thước tệp trong nháy mắt bằng cách chạy:
fallocate -i -l 1G -o 128M /path/to/file
128M
kích thước tập tin hiện tại ở đâu .