Her biri belirli bir dosya boyutunda dosya dizini oluşturun


4

Her biri 10 MB boyutunda 100 dosya oluşturmak istiyorum. Bu 100 dosyayla bir dizin oluşturabilecek basit bir unix komutu var mı?


FYI bu serverFault.SE için daha fazla soru
— Yeni İskenderiye

Yanıtlar:


8
for x in {1..100}; do dd if=/dev/zero of=file$x bs=10485760 count=1; done

if=FILE (read from FILE instead of stdin)
of=FILE (write to FILE instead of stdout)
bs=BYTES (force ibs=BYTES and obs=BYTES)
ibs=BYTES (read BYTES bytes at a time)
obs=BYTES (write BYTES bytes at a time)
count=1 (copy only 1 input block)

3

Ochi'nin cevabını tamamlamak için bu, 1 GB disk alanı kullanmadan ve yıldırım hızında çalışmaya başlamadan 10 MB'lik 100 dosya oluşturmanın bir yoludur:

size=$((10*1024*1024))
nb_files=100
for n in $(seq -f "%03.0f" 1 $nb_files); do
  dd if=/dev/zero of=file$n bs=1 count=1 seek=$((size-1))
done

(Daha fazla ayrıntı için seyrek dosyalara bakın.)

Veya başka bir yol (ancak burada, dosyalardan birini düzenlerseniz hepsini düzenlersiniz):

size=$((10*1024*1024))
n=$(seq -f "%03.0f" 1 1)
dd if=/dev/zero of=file$n bs=1 count=1 seek=$((size-1))
nb_files=100
for m in $(seq -f "%03.0f" 2 $nb_files); do
  ln file$n file$m
done

(Daha fazla detay için linklere bakınız.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.