เนื่องจากต้องการสร้าง file ขนาดใหญ่ file หนึ่ง ขนาดหลายๆ กิ๊กไบท์ ทำไงดี ใน Linux ปกติจะสร้าง file ใหญ่มาเพื่อเทสระบบ Alarm ของระบบโดยการสร้างให้มีขนาดใหญ่กว่า 80% ของเนื้อที่ ดังนั้นเรามาลองทำตามนี้กัน
Ubuntu,Redhat,CenOS หรือ OS linux
สร้าง file ขนาด 10Gb
xfs_mkfile 10240m 10Gigfile
สร้าง file ขนาด 100Mb
fallocate -l 100M file.out
OS X, Solaris, SunOS
mkfile 10240m 10Gigfile
mkfile จะเหมือนกับ dd นะครับ
HP-UX
prealloc 10Gigfile 10737418240
วิธีที่ง่ายใช้ได้ทั้งหมด
สร้าง file random.img ขนาด 10Mb
dd if=/dev/zero of=random.img count=1024 bs=10M
bs=block size
count=จำนวนรอบ
if=input interface
of=output interface
วิธีทำนะครับ เอาวิธีง่ายนะครับผมจะลอง file ขนาด 50M โดยมี block size ขนาด 10Mx5
# dd if=/dev/zero of=random.img count=5 bs=10M
5+0 records in
5+0 records out
52428800 bytes (52 MB, 50 MiB) copied, 0.791211 s, 66.3 MB/s
ผมว่าการสร้าง file ใหญ่ไม่ไดมีเฉพาะ unix shell script นะครับ แต่ยังสามารถใช้ perl,ruby หรือ คำสั้งอื่นได้อีก ขอยกตัวอย่างเล็กน้อยนะครับ เพื่อความเข้าใจ
ภาษา Perl
#perl -e 'print "Test Big file" x 10000 for 1..100000 ;' > big.txt
python
#python -c 'import sys; a1="abcdefghijklmnopqrstuvwxyz" ; a2=a1[::-1] ; a=a1+a2[1:] ; size=100000 ; for i in range(1,size,len(a)): sys.stdout.write(a)' # > myfile.dat
มีอะไรเกี่ยวกับ unix,Linux,HP-UX , Solaris, AIX สอบถามได้นะครับ