ใช่เป็นไปได้อย่างน้อยที่สุดบน Linux ที่มีข้อ จำกัด บางประการ
วิธีการคือการสร้างอุปกรณ์ลูปอ่าน - เขียนที่แมปไปยังชุดย่อยของไฟล์
เช่น:
#!/bin/bash
for ((i=0;i<10000;i++)); do
printf "%7d\n" $i
done >/var/tmp/file
losetup -v -f -o 512 --sizelimit 512 /var/tmp/file
losetup -a
head -2 /var/tmp/file
echo ...
tail -2 /var/tmp/file
echo ===
head -2 /dev/loop0
echo ...
tail -2 /dev/loop0
printf "I was here" > /dev/loop0
grep here /var/tmp/file
losetup -d /dev/loop0
เอาท์พุท:
loop device: /dev/loop0
/dev/loop0: [0808]:136392 (/var/tmp/file), offset 512, size 512
0
1
...
9998
9999
===
64
65
...
126
127
I was here 65
ฉันเชื่อว่าทั้งออฟเซ็ตและขนาดต้องมีขนาดเท่าบล็อก (512 ไบต์)
คุณอาจต้องรูทเพื่อสร้างและเข้าถึงอุปกรณ์ลูป
หากคุณต้องการ symlink คุณสามารถสร้างที่ชี้ไปยังอุปกรณ์วนรอบ