यह संक्षिप्त ट्यूटोरियल लिनक्स में find कमांड का उपयोग करने के बारे में पिछले गाइड पर विस्तार करता है, इस बार हम इसका उपयोग "खाली" (शून्य बाइट) फाइलों का पता लगाने के लिए करते हैं।
कुछ दिन पहले मैं अपने लिनक्स सर्वर पर कुछ सफाई कर रहा था और मैंने देखा कि समय के साथ लोगों ने खाली फाइलें बनाई और छोड़ दी थीं। तो मैंने एक शेल स्क्रिप्ट बनाने का फैसला किया जो सिस्टम के माध्यम से चलेगी और मुझे बताएगी कि ऐसी कितनी फाइलें मौजूद हैं, उनके पथ के साथ।
यहां एक सरल कमांड है जो आपको इसी तरह की खोज चलाने की अनुमति देगा:
# find -L /home/stewiegriffin -maxdepth 1 -type f -size 0
/home/stewiegriffin/temp.log
/home/stewiegriffin/brainstorm_notes.txt
/home/stewiegriffin/mail.log
/home/stewiegriffin/niptuck.html
उपरोक्त दिखाया गया कमांड आकार 0 की फाइलों की खोज करता है। डिफ़ॉल्ट रूप से, find कमांड सिम्बोलिक फाइलों को बाहर करता है, इसलिए हम उन्हें शामिल करने के लिए -L विकल्प का उपयोग करते हैं। विकल्प maxdepth कमांड को केवल मुख्य डायरेक्टरी में खोजने और सब डायरेक्टरी में न जाने के लिए कहता है। type -f कमांड को केवल नियमित फाइलों को देखने के लिए कहता है।
यदि आप वही कमांड maxdepth 1 विकल्प के बिना चलाते हैं तो यह /home/stewiegriffin के अंदर सभी डायरेक्टरी में खाली फाइलों की खोज करेगा। आप खोज की गहराई को नियंत्रित करने के लिए विकल्प maxdepth और mindepth के साथ भी खेल सकते हैं। यह वास्तव में बहुत मददगार है यदि आपके पास डायरेक्टरी के कई स्तर हैं और बहुत सारी फाइलें हैं जिनसे गुजरना है।
बेशक, यदि आप चाहें तो आप इस खोज को उल्टा भी कर सकते हैं और कमांड को सभी गैर-खाली फाइलों को खोजने के लिए कह सकते हैं। आपको बस ऊपर दिए गए कमांड का उपयोग करना है और size पैरामीटर में एक विस्मयादिबोधक चिह्न जोड़ना है:
# find -L /home/stewiegriffin -maxdepth 1 -type f ! -size 0
/home/stewiegriffin/apache.log
/home/stewiegriffin/how_to_log_your_actions.txt
/home/stewiegriffin/maillog.log
/home/stewiegriffin/niptuck01.html
/home/stewiegriffin/index.html
/home/stewiegriffin/test.php
इसे चलाते समय सावधान रहें। यह कई खाली फाइलें ढूंढ सकता है।
यदि आपने इसे पहली बार प्रकाशित होने पर नहीं पकड़ा, तो लिनक्स में find कमांड का उपयोग करने पर हमारी गाइड देखना सुनिश्चित करें।