นอกจากคำตอบที่จะได้รับการเติมเต็มทางกายภาพแล้วคุณยังสามารถเว้นระยะห่างส่วนใหญ่ไว้ในไฟล์ที่ว่างเปล่า ("รู") โดยseek
เข้าไปยังตำแหน่งสุดท้ายของไฟล์และเขียนตัวอักษรเดียว:
dd if=/dev/zero of=largerfile.txt bs=1 count=1 seek=16777215
(ซึ่งมีข้อได้เปรียบที่จะมีประสิทธิภาพมากขึ้นโดยเฉพาะกับbs=1
และไม่ใช้พื้นที่ดิสก์เพิ่มเติมจำนวนมาก)
วิธีดังกล่าวดูเหมือนว่าจะทำงานได้โดยไม่ต้องเพิ่มตัวอักษรใด ๆ โดยใช้if=/dev/null
และขนาดไฟล์ที่ต้องการสุดท้าย:
dd if=/dev/null of=largerfile.txt bs=1 count=1 seek=16777216
ตัวแปรนักแสดงของวิธีการขยายแบบฟิสิคัลที่ใช้ขนาดบล็อกใหญ่กว่าคือ:
padding=262144 bs=32768 nblocks=$((padding/bs)) rest=$((padding%bs))
{
dd if=/dev/zero bs=$bs count=$nblocks
dd if=/dev/zero bs=$rest count=1
} 2>/dev/null >>largerfile.txt
bs=1
ในdd
อยู่ในประสบการณ์ของฉันรันไทม์แพงมาก