EDIT: सबसे सरल तरीका शायद truncate
आशुतोष विश्व बंधु के जवाब का है , लेकिन जैसा कि @ offby1 ने बताया है कि विरल फाइलें बनती हैं , जो शायद आप नहीं चाहते। नीचे दिए गए समाधान सामान्य, पूर्ण फ़ाइलें बनाते हैं।
निम्नलिखित कमांड एक 14MB फ़ाइल बनाते हैं जिसे कहा जाता है foo
:
fallocate
( @Breakthrough के लिए धन्यवाद जिन्होंने इसे टिप्पणियों में सुझाया और नीचे अहमद मसूद के जवाब को वोट दिया जिसमें इसका भी उल्लेख है)।
fallocate -l 14000000 foo
यह कमांड विशेष रूप से प्रभावशाली है क्योंकि यह truncate
वांछित फ़ाइल आकार (भले ही बड़ी फ़ाइलों के लिए धीमा होगा) के विपरीत (तात्कालिक) के रूप में तेजी से है और अभी तक सामान्य फाइलें बनाता है, न कि विरल:
$ truncate -s 14MB foo1.txt
$ fallocate -l 14000000 foo2.txt
$ ls -ls foo?.txt
0 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:54 foo1.txt
13672 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:55 foo2.txt
रैंडम डेटा से भरी फाइल बनाएं
dd if=/dev/urandom of=foo bs=14MB count=1
या
head -c 14MB /dev/urandom > foo
\0
S से भरी फाइल बनाएँ :
dd if=/dev/zero of=foo.txt bs=14MB count=1
या
head -c 14MB /dev/zero > foo
किसी अन्य फ़ाइल के पहले 14MB डेटा से भरी फ़ाइल बनाएँ:
head -c 14MB bar.txt > foo
किसी अन्य फ़ाइल के अंतिम 14MB डेटा से भरी फ़ाइल बनाएँ:
tail -c 14MB bar.txt > foo
उपरोक्त सभी उदाहरणों में, 14*1000*1000
यदि आप चाहें 14*1024*1024
, तो फ़ाइल को बदल MB
दिया जाएगा M
। उदाहरण के लिए:
dd if=/dev/urandom of=foo bs=14M count=1
head -c 14M /dev/zero > foo
fallocate
केवल बाइट्स में ही सौदे होते हैं, इसलिए आपको करना होगा (14 * 1024 * 1024 = 14680064)
fallocate -l 14680064 foo