Pada sistem Linux baru-baru ini yang sebenarnya mungkin, tetapi dengan blok (4096 sebagian besar waktu), tidak byte granularity, dan hanya pada beberapa sistem file (ext4 dan xfs).
Mengutip dari halaman fallocate(2)manual:
int fallocate(int fd, int mode, off_t offset, off_t len);
[...]
Menyempitkan ruang file
Menentukan FALLOC_FL_COLLAPSE_RANGEflag (tersedia sejak Linux 3.15) dalam modemenghapus rentang byte dari file, tanpa meninggalkan lubang. Rentang byte yang akan diciutkan dimulai pada offsetdan berlanjut untuk len
byte. Pada penyelesaian operasi, isi file mulai dari lokasi offset+lenakan ditambahkan di lokasi
offset, dan file akan lebih lenkecil byte.
[...]
Meningkatkan ruang file
Menentukan FALLOC_FL_INSERT_RANGEflag (tersedia sejak Linux 4.1) dalam modemeningkatkan ruang file dengan memasukkan lubang di dalam ukuran file tanpa menimpa data yang ada. Lubang akan dimulai pada
offsetdan berlanjut untuk lenbyte. Saat memasukkan lubang di dalam file, isi file mulai dari offsetakan digeser ke atas (yaitu, ke file offset yang lebih tinggi) oleh lenbyte. Memasukkan lubang di dalam file meningkatkan ukuran file dengan lenbyte.