मैं जल्दी से एक बड़ी फ़ाइल कैसे बना सकता हूं?


26

एक फ़ाइल बनाने के लिए एक त्वरित और आसान तरीका क्या है, कहते हैं, आकार में 2 जीबी?

जवाबों:


36

शून्य को भरने विधि (यहाँ से बचने के लिए संशोधित संभावित स्मृति बाधाओं ) 17 सेकंड लगे एक SSD पर एक 10 जीबी फ़ाइल बनाने के लिए और Ubuntu के ग्राफिकल इंटरफेस अनुत्तरदायी बनने के लिए कारण होता है।

$ time sh -c 'dd if=/dev/zero iflag=count_bytes count=10G bs=1M of=large; sync'
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 17.2003 s, 624 MB/s

real    0m17.642s
user    0m0.008s
sys     0m9.404s
$ du -B 1 --apparent-size large
10737418240     large
$ du -B 1 large
10737422336     large

फैलोकैट फ़ाइल के आवंटित डिस्क स्थान पर सीधे हेरफेर करके बड़ी फ़ाइलों को तुरंत बनाता है:

$ time sh -c 'fallocate -l 10G large; sync'

real    0m0.038s
user    0m0.000s
sys     0m0.016s
$ du -B 1 --apparent-size large
10737418240     large
$ du -B 1 large
10737422336     large

ट्रंकट भी तुरंत काम करता है, और विरल फाइलें बनाता है जो वास्तविक डिस्क स्थान का उपयोग नहीं करते हैं जब तक कि बाद में डेटा नहीं लिखा जाता है:

$ time sh -c 'truncate -s 10G large; sync'

real    0m0.014s
user    0m0.000s
sys     0m0.004s
$ du -B 1 --apparent-size large
10737418240     large
$ du -B 1 large
0       large

dd ... bs=2G count=1मेमोरी में 2 जीबी (एक read(2)कॉल में) पढ़ता है । यदि आपको मेमोरी प्रेशर मिल गया है तो शायद जाने का रास्ता नहीं है। यदि कम पेजिंग का अर्थ है, तो अधिक छोटे ब्लॉक तेज़ हो सकते हैं।
क्लेम्डेशन

19

ddशून्य से भरा फ़ाइल लिखने के लिए कमांड का उपयोग करने का एक आसान तरीका होगा ।

dd if=/dev/zero of=outputFile bs=2G count=1
  • if = इनपुट फ़ाइल
  • = आउटपुट फ़ाइल की
  • bs = बाइट्स

यदि आप कंप्यूटर (1024 * 1024 * 1024) गीगाबाइट, या GB चाहते हैं तो जी आकार का उपयोग करें। यदि आप मानव (1000 * 1000 * 1000) गीगाबाइट चाहते हैं।


1
मैं सिर्फ इतना
जोड़ूंगा

हालाँकि / dev / random को अधिक समय लगेगा।
con-f-use

10
का उपयोग करते हुए / dev / यादृच्छिक एक ले जाएगा भयंकर समय के बहुत। /dev/urandomउस स्थिति में उपयोग करें (यह गैर-अवरुद्ध है, लेकिन यादृच्छिकता के समान स्तर की गारंटी नहीं है)। या तो एक से 2 जीबी ड्राइंग आपके सिस्टम की एन्ट्रापी को लगभग पूरी तरह से समाप्त कर देगा, इसलिए बाद में कुछ समय के लिए कुछ भी क्रिप्टोग्राफिक न करें।
बजे एक CVn

1

ftp://ftp.fsf.hu/testfiles/maketestfiles.sh

या सीक उस फ़ाइल का आकार है जिसे आप बाइट्स में चाहते हैं - 1।

dd if=/dev/zero of=filename.big bs=1 count=1 seek=1048575 # 1 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=10485759 # 10 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=104857599 # 100 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=1073741823 # 1024 MByte

dd if=/dev/zero of=filename.big bs=1 count=1 seek=42949672959 # 40960 MByte
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.