आप हटाए गए फ़ाइल के प्रति एक लाइन प्रिंट rm -v
करने के लिए उपयोग कर सकते हैं rm
। इस तरह आप देख सकते हैं कि rm
वास्तव में फ़ाइलों को हटाने के लिए काम कर रहा है। लेकिन अगर आपके पास अरबों फाइलें हैं तो आप देखेंगे कि rm
अभी भी काम कर रहा है। आपको पता नहीं चलेगा कि कितनी फाइलें पहले ही डिलीट हो चुकी हैं और कितनी बाकी हैं।
उपकरण pv
एक प्रगति अनुमान के साथ आपकी मदद कर सकता है।
http://www.ivarch.com/programs/pv.shtml
यहाँ है कि आप उदाहरण आउटपुट के rm
साथ कैसे लागू करेंगेpv
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
इस आकस्मिक उदाहरण में मैंने बताया pv
कि 1000
फाइलें हैं। आउटपुट से pv
पता चलता है कि 562 पहले ही हटा दिए गए हैं, बीता हुआ समय 7 सेकंड है, और पूरा होने का अनुमान 5 सेकंड में है।
कुछ स्पष्टीकरण:
pv -l
pv
बाइट्स के बजाय newlines द्वारा गिनती करने के लिए बनाता है
pv -s number
बताता है pv
कि कुल क्या है ताकि यह आपको एक अनुमान दे सके।
logfile
अंत में पुनर्निर्देशित स्वच्छ आउटपुट के लिए है। अन्यथा की स्थिति रेखा से pv
आउटपुट के साथ मिश्रित हो जाती है rm -v
। बोनस: आपके पास जो कुछ हटा दिया गया था, उसका लॉगफाइल होगा। लेकिन खबरदार फ़ाइल बहुत बड़ी हो जाएगी। /dev/null
यदि आपको लॉग की आवश्यकता नहीं है, तो आप पुनर्निर्देशित भी कर सकते हैं ।
इस आदेश का उपयोग करने वाली फ़ाइलों की संख्या प्राप्त करने के लिए:
$ find dirname | wc -l
यदि अरबों फाइलें हैं तो भी इसमें लंबा समय लग सकता है। आप pv
यहां यह देखने के लिए उपयोग कर सकते हैं कि इसकी गिनती कितनी है
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
यहाँ यह कहता है कि 278k फाइलों को गिनने में 4 सेकंड का समय लगता था। अंत में सटीक गणना ( 278044
) से आउटपुट है wc -l
।
यदि आप गिनती के लिए इंतजार नहीं करना चाहते हैं तो आप अनुमान के pv
बिना या तो फ़ाइलों की संख्या का उपयोग कर सकते हैं या उपयोग कर सकते हैं :
$ rm -rv dirname | pv -l > logfile
इस तरह आपके पास खत्म होने का कोई अनुमान नहीं होगा लेकिन कम से कम आप देखेंगे कि कितनी फाइलें पहले ही डिलीट हो चुकी हैं। /dev/null
यदि आपको लॉगफ़ाइल की आवश्यकता नहीं है तो पुनर्निर्देशित करें ।
nitpick:
- क्या आपको वास्तव में ज़रूरत है
sudo
?
- आमतौर पर
rm -r
पुनरावर्ती को हटाने के लिए पर्याप्त है। कोई के लिए की जरूरत है rm -f
।