इस तरह के एक Oper की गति की कोशिश करो आयन अंतर्निहित file system पर निर्भर करता है। मेरे ज्ञान के लिए इस विशेष ऑपरेशन के लिए एक एफएस अनुकूलित नहीं है। अधिकांश एफएस पूर्ण डिस्क ब्लॉक का उपयोग कर फाइलों को व्यवस्थित करता है, जिसे अंतिम के अलावा छोड़ दिया जाता है, जिसे आंशिक रूप से फ़ाइल के अंत तक उपयोग किया जा सकता है। दरअसल, आकार N
की एक फ़ाइल, N/S
ब्लॉक, जहां S
ब्लॉक आकार है, और (आकार N%S
, %
के शेष ऑपरेटर जा रहा है) फ़ाइल के शेष भाग के लिए एक और ब्लॉक ले N
S
से विभाज्य नहीं है जाएगा।
आमतौर पर, इन ब्लॉकों को डिस्क (या विभाजन) पर उनके सूचकांक द्वारा संदर्भित किया जाता है, और इन इंडेक्स को एफएस मेटाडाटा के भीतर संग्रहीत किया जाता है, जो फाइल एंट्री से जुड़ा होता है जो उन्हें आवंटित करता है।
इस विवरण से, आप देख सकते हैं कि फ़ाइल द्वारा उपयोग किए गए ब्लॉक की नई सूची के साथ मेटाडेटा को अपडेट करके, सामग्री का आकार कितना संभव हो सकता है, जिसका आकार ब्लॉक आकार का एक बहु होगा। हालांकि, अगर वह प्रीपेड सामग्री बिल्कुल ब्लॉक नहीं भरती है, तो मौजूदा डेटा को उस अधिक राशि से स्थानांतरित करना होगा।
कुछ एफएस फ़ाइलों के लिए आंशिक रूप से उपयोग किए गए ब्लॉक (और न केवल अंतिम प्रविष्टि के रूप में) फ़ाइलों के लिए उपयोग की संभावना को लागू कर सकते हैं, लेकिन यह करने के लिए एक छोटी सी बात नहीं है।
अधिक जानकारी के लिए इन अन्य अतः प्रश्न देखें: एक उच्च स्तर पर
, भले ही वह आपरेशन एफएस चालक के द्वारा समर्थित है, यह अभी भी संभव है वह कार्यक्रम सुविधा का उपयोग नहीं करते हैं।
उस समस्या के उदाहरण के लिए आप हल करने का प्रयास कर रहे हैं, तो सबसे अच्छा तरीका शायद cat
में नई सामग्री और मौजूदा एक को नई फाइल में सक्षम करने वाला प्रोग्राम है।
पुन: "केवल एकमात्र चीजें जिन्हें मैंने देखा है, हालांकि एक अस्थायी फ़ाइल शामिल है, जो मुझे लगता है कि फ़ाइल आकार के कारण धीमा होगा": आपको पूरी फाइल में पढ़ने की आवश्यकता होगी , और अंदर सबकुछ लिखो कोई भी मामला, क्योंकि आप फ़ाइल में एक नई स्थिति में हर बाइट "चल रहे" हैं। तो आप वास्तव में एक अस्थायी फ़ाइल भी बना सकते हैं। – ruakh
"शीर्ष पर संलग्न" आमतौर पर "प्रीपेडिंग" के रूप में जाना जाता है, और कुछ अन्य [इस विषय पर प्रश्न] हैं (http://stackoverflow.com/questions/2690823/prepending-to-a-multi-gigabyte- फ़ाइल) –