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.