Test için büyük dosyalar oluşturmak

Sisteminiz üzerinde ya da networkte test yapmak için büyük dosyalar oluşturmak isteyebilirsiniz.İhtiyacımız olan bu dosyaları yeterli disk alanımız olup olmadığını kontrol ettikten sonra "dd" komutu ile oluşturabiliriz.Dosyaları oluşturmaya geçmeden önce "dd" komutunun man sayfasına ya da online man sayfalarına göz atabilirsiniz.

Küçükten büyüğe doğru dosyalar oluşturmaya başlayabiliriz:

1 MB ' lık test dosyası :

$ dd if=/dev/zero of=1MB.img bs=1024 count=0 seek=1024
 

10 MB'lık test dosyası :

$ dd if=/dev/zero of=10MB.img bs=1024 count=0 seek=$[1024*10]

100 MB'lık test dosyası :

$ dd if=/dev/zero of=100MB.img bs=1024 count=0 seek=$[1024*100]

1 GB'lık test dosyası :

$ dd if=/dev/zero of=1GB.img bs=1024 count=0 seek=$[1024*100*10]

Şimdi oluşturduğumuz dosyaları ve boyutlarını kontrol edelim:

$ ls -lh
-rw-r--r--  1 piesso   piesso    100M Kas 17 10:18 100MB.img
-rw-r--r--  1 piesso   piesso     10M Kas 17 10:17 10MB.img
-rw-r--r--  1 piesso   piesso   1000M Kas 17 10:19 1GB.img
-rw-r--r--  1 piesso   piesso    1,0M Kas 17 10:17 1MB.img

10 GB'lık test dosyası :

$ dd if=/dev/zero of=10GB.img bs=1024 count=0 seek=$[1024*1000*10]

Son olarak 10 GB boyutunda test dosyası da oluşturduktan sonra bir noktaya değinelim.Aşağıdaki iki komutun çıktısını dikkatlice inceleyelim.

Örnek olarak en son oluşturduğumuz 10GB'lık "10GB.img" dosyasının büyüklüğüne "ls -lh" komutu ile bakalım.

$ ls -lh
-rw-r--r--  1 piesso   piesso    9,8G Kas 17 10:28 10GB.img

Yukarıda görüldüğü gibi "10GB.img" adlı dosyasının boyutu 9.8 GB büyüklüğünde.Bu dosyanın büyüklüğüne birde "du -h" komutu ile bakalım:

$ du -h 10GB.img
0    10GB.img

Yukardaki çıktıda bu dosyayının hiçbir büyüklüğünün olmadığını görüyorsunuz.Buradaki ince nokta "ls -lh" komutu dosyanın boyutunu ekrana yazdırırken , "du -h" komutu bu dosyanın diskimizde ne kadar yer kapladığını göstermektedir.Oluşturduğumuz "image dosyaları"na hiçbir data yazmadığımız için diskimizde yer kaplamaktadır.Bunu daha iyi anlamak için aşağıdaki komutla diskimizde ne kadar block kapladığına bakalım.

$ stat 10GB.img

File: `10GB.img'
 Size: 10485760000    Blocks: 0          IO Block: 4096   normal dosya
Device: 801h/2049d    Inode: 9281712     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/piesso)   Gid: ( 1000/piesso)
Access: 2011-11-17 10:28:09.000000000 +0200
Modify: 2011-11-17 10:28:09.000000000 +0200
Change: 2011-11-17 10:28:09.000000000 +0200

Yukardaki çıktıdan da anlaşılacağı gibi bu dosya diskimizde "0" bloğa sahip.Birde diskimiz yer kaplayan test dosyası oluşturalım ve bunu daha iyi anlayalım.

500 MB'lık test dosyası :

$ dd if=/dev/zero of=test.img bs=1MB count=500
500+0 records in
500+0 records out
500000000 bytes (500 MB) copied, 2,20355 s, 227 MB/s

Şimdi oluşturduğumuz "test.img" adlı dosyanın boyutunu ve diskte kapladığı yeri inceleyelim.

$ ls -lh
-rw-r--r--  1 piesso   piesso    477M Kas 17 10:40 test.img

$ du -h test.img
478M    test.img

Yukardaki çıktıdan anlaşılacağı gibi bu dosya diskimizde "478 MB" lık yer kaplamaktadır.Daha detaylı bir çıktı alalım.

$ stat test.img
File: `test.img'
 Size: 500000000     Blocks: 977536     IO Block: 4096   normal dosya
Device: 801h/2049d    Inode: 9281713     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/piesso)   Gid: ( 1000/piesso)
Access: 2011-11-17 10:40:17.000000000 +0200
Modify: 2011-11-17 10:40:19.000000000 +0200
Change: 2011-11-17 10:40:19.000000000 +0200

Oluşturduğumuz bu dosya diskte "977536" block kaplıyor.Bu şekilde aradaki farkı görebiliriz.

Comments