वर्तमान दस्तावेज़ (और प्रोग्राम संस्करण 2.01):
-c
: स्वच्छ खाली स्थान। एक रनिंग सिस्टम द्वारा उपयोग के लिए मुक्त छोड़ने के लिए अंतरिक्ष की एक विकल्प राशि निर्दिष्ट करें।
-z
: शून्य मुक्त स्थान (आभासी डिस्क अनुकूलन के लिए अच्छा)।
लेकिन पुराने संस्करणों में इसका उल्टा हुआ:
-c
: शून्य मुक्त स्थान (आभासी डिस्क अनुकूलन के लिए अच्छा)।
-z
: स्वच्छ खाली स्थान।
लेकिन वे क्या करते हैं?
स्वच्छ अपनी सबसे बड़ी फ़ाइल बनाता है, और इसे यादृच्छिक डेटा से भरता है, और फिर इसे शून्य से भरता है। यह वही है जो ज्यादातर लोग पोंछने के रूप में सोचते हैं , और यह ओवरकिल है।
नकारात्मक पक्ष यह है कि यदि आप एक वर्चुअल डिस्क का उपयोग कर रहे हैं, या किसी वर्चुअल मशीन के अंदर, या इसे स्टोरेज स्पेस पर चला रहे हैं: अंतर्निहित स्टोरेज सिस्टम आपको यादृच्छिक डेटा रखने के लिए संसाधन आवंटित करने के लिए मजबूर करेगा, और फिर शून्य को होल्ड करेगा। उम्मीद है कि तब अंतर्निहित भंडारण प्रणाली को यह एहसास होगा कि वह सभी जगह जो अभी आपकी ड्राइव को आवंटित की गई थी, को पुनः प्राप्त किया जा सकता है क्योंकि उन सभी क्षेत्रों में बस शून्य हैं।
-z शून्य: सभी क्षेत्रों के लिए बस शून्य लिखता है। यह वह विकल्प है जो आप चाहते हैं, कई कारणों से:
- यादृच्छिक डेटा के साथ पोंछना ओवरकिल है (डेटा पढ़ना व्यावहारिक रूप से संभव नहीं है; अर्थात एक समय में एक बिट हालांकि एक माइक्रोस्कोप संभव नहीं है)
- कुछ SSDs यह पता लगा सकते हैं कि आप किसी क्षेत्र में शून्य लिख रहे हैं , और इसका उपयोग करके उस क्षेत्र को मुक्त (TRIM के समान) चिह्नित कर सकते हैं
- अधिकांश वर्चुअल स्टोरेज सिस्टम (VMWare, हाइपर-वी, विंडोज वर्चुअल डिस्क, स्टोरेज स्पेस) से पता चलता है कि आप शून्य का एक पूरा क्षेत्र लिख रहे हैं, और अंतर्निहित स्टोरेज फ़ाइल में स्थान को पुनः प्राप्त करने का अवसर लेते हैं।
- SSDs यह नहीं जान पाएंगे कि आपका अंतिम लक्ष्य अनिवार्य रूप से एक शानदार TRIM है, और (वर्चुअल डिस्क की तरह) उन क्षेत्रों को भरने के लिए मजबूर किया जाना चाहिए, जिनमें पहले से ही शून्य, गैर-शून्य के साथ, केवल फिर से शून्य से भरना है। यह आपके SSDs के लिए भयानक है।
स्रोत : एक वर्चुअल हार्ड डिस्क को माउंट किया और I / O ऑपरेशंस को देखा जिसे sdelete ने दोनों मोड में लिया था।
tl; dr: यूज़-ज़ीरो। यह तेज, बेहतर, सुरक्षित है।