लिनक्स में डुप्लिकेट फ़ाइलों को खोजने और हटाने के लिए 2 उपयोगी उपकरण


यदि आपके पास इंटरनेट से सभी प्रकार के सामान को डाउनलोड करने की आदत है, तो अपने होम डायरेक्टरी या सिस्टम को व्यवस्थित करना विशेष रूप से कठिन हो सकता है।

अक्सर आप पा सकते हैं कि आपने एक ही एमपी 3, पीडीएफ, एपब (और सभी तरह की अन्य फ़ाइल एक्सटेंशन) डाउनलोड की हैं और इसे अलग-अलग निर्देशिकाओं में कॉपी किया है। यह आपकी निर्देशिकाओं को सभी प्रकार के बेकार डुप्लिकेट किए गए सामान के साथ अव्यवस्थित हो सकता है।

इस ट्यूटोरियल में आप rdfind और fdupes कमांड-लाइन टूल्स का उपयोग करके लिनक्स में डुप्लिकेट फ़ाइलों को खोजने और हटाने का तरीका जानने जा रहे हैं।

सावधानी का एक नोट - हमेशा सावधान रहें कि आप अपने सिस्टम पर क्या हटाते हैं क्योंकि इससे अवांछित डेटा हानि हो सकती है। यदि आप एक नए टूल का उपयोग कर रहे हैं, तो पहले इसे एक परीक्षण निर्देशिका में आज़माएं जहां फ़ाइलों को हटाने से कोई समस्या नहीं होगी।

Rdfind - लिनक्स में डुप्लिकेट फ़ाइलें ढूँढता है

Rdfind अनावश्यक डेटा खोज से आता है। यह एक मुफ्त टूल है जिसका उपयोग डुप्लिकेट फ़ाइलों को कई निर्देशिकाओं में या उसके भीतर खोजने के लिए किया जाता है। यह चेकसम का उपयोग करता है और फ़ाइल के आधार पर डुप्लिकेट ढूंढता है जिसमें केवल नाम नहीं हैं।

Rdfind फ़ाइलों को वर्गीकृत करने के लिए एल्गोरिथ्म का उपयोग करता है और पता लगाता है कि कौन सी डुप्लिकेट मूल फ़ाइल है और बाकी को डुप्लिकेट के रूप में मानता है। रैंकिंग के नियम हैं:

  • If A was found while scanning an input argument earlier than B, A is higher ranked.
  • If A was found at a depth lower than B, A is higher ranked.
  • If A was found earlier than B, A is higher ranked.

अंतिम नियम का उपयोग विशेष रूप से तब किया जाता है जब दो फाइलें एक ही निर्देशिका में पाई जाती हैं।

लिनक्स में rdfind स्थापित करने के लिए, अपने लिनक्स वितरण के अनुसार निम्न कमांड का उपयोग करें।

$ sudo apt-get install rdfind     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install rdfind    [On CentOS/RHEL]
$ sudo dnf install rdfind         [On Fedora 22+]

निर्देशिका पर rdfind चलाने के लिए बस rdfind और लक्ष्य निर्देशिका लिखें। यहाँ एक उदाहरण है:

$ rdfind /home/user

जैसा कि आप देख सकते हैं कि rdfind फ़ाइल को रिजल्ट में सेव करेगा results.txt उसी डायरेक्टरी में स्थित है जहाँ से आपने प्रोग्राम चलाया था। फ़ाइल में वे सभी डुप्लिकेट फ़ाइलें हैं जिन्हें rdfind ने पाया है। यदि आप चाहते हैं तो आप फ़ाइल की समीक्षा कर सकते हैं और डुप्लिकेट फ़ाइलों को मैन्युअल रूप से हटा सकते हैं।

एक और चीज जो आप कर सकते हैं वह है -dryrun विकल्प का उपयोग करना जो बिना किसी कार्रवाई के डुप्लिकेट की एक सूची प्रदान करेगा:

$ rdfind -dryrun true /home/user

जब आपको डुप्लिकेट मिलते हैं, तो आप उन्हें हार्डलिंक से बदलना चुन सकते हैं।

$ rdfind -makehardlinks true /home/user

और यदि आप डुप्लिकेट को हटाना चाहते हैं तो आप चला सकते हैं।

$ rdfind -deleteduplicates true /home/user

rdfind के अन्य उपयोगी विकल्पों की जांच करने के लिए आप rdfind मैन्युअल का उपयोग कर सकते हैं।

$ man rdfind 

Fdupes - लिनक्स में डुप्लिकेट फ़ाइलों के लिए स्कैन

Fdupes एक और कार्यक्रम है जो आपको अपने सिस्टम पर डुप्लिकेट फ़ाइलों की पहचान करने की अनुमति देता है। यह स्वतंत्र और खुला स्रोत है और सी में लिखा गया है। यह डुप्लिकेट फ़ाइलों को निर्धारित करने के लिए निम्नलिखित विधियों का उपयोग करता है:

  • Comparing partial md5sum signatures
  • Comparing full md5sum signatures
  • Byte-by-byte comparison verification

जैसे rdfind इसके समान विकल्प हैं:

  • Search recursively
  • Exclude empty files
  • Shows size of duplicate files
  • Delete duplicates immediately
  • Exclude files with different owner

Fdupes वाक्य रचना rdfind के समान है। आप जिस निर्देशिका को स्कैन करना चाहते हैं, उसके बाद केवल कमांड टाइप करें।

$ fdupes <dir>

फ़ाइलों को पुन: खोज करने के लिए, आपको इस तरह -r विकल्प निर्दिष्ट करना होगा।

$ fdupes -r <dir>

आप कई निर्देशिकाओं को भी निर्दिष्ट कर सकते हैं और पुनरावर्ती रूप से खोजे जाने के लिए एक dir निर्दिष्ट कर सकते हैं।

$ fdupes <dir1> -r <dir2>

Fdupes की गणना करने के लिए डुप्लिकेट फ़ाइलों के आकार का उपयोग करें -S विकल्प।

$ fdupes -S <dir>

पाया फ़ाइलों के बारे में संक्षेप में जानकारी इकट्ठा करने के लिए <कोड> -m विकल्प का उपयोग करें।

$ fdupes -m <dir>

अंत में यदि आप सभी डुप्लिकेट को हटाना चाहते हैं तो इस तरह -d विकल्प का उपयोग करें।

$ fdupes -d <dir>

Fdupes पूछेगा कि कौन सी मिली हुई फ़ाइल को हटाना है। आपको फ़ाइल नंबर दर्ज करना होगा:

एक समाधान जो निश्चित रूप से अनुशंसित नहीं है, वह है -N विकल्प का उपयोग करना, जिसके परिणामस्वरूप केवल पहली फ़ाइल को संरक्षित किया जाएगा।

$ fdupes -dN <dir>

fdupes के साथ उपयोग करने के लिए उपलब्ध विकल्पों की एक सूची प्राप्त करने के लिए, सहायता पृष्ठ को चलाकर समीक्षा करें।

$ fdupes -help

Rdfind और fdupes दोनों आपके लिनक्स सिस्टम पर डुप्लिकेट फ़ाइलों को खोजने के लिए बहुत उपयोगी उपकरण हैं, लेकिन ऐसी फ़ाइलों को हटाते समय आपको बहुत सावधान रहना चाहिए।

यदि आपको किसी फ़ाइल की आवश्यकता है या नहीं, तो आप अनिश्चित हैं, तो उस फ़ाइल का बैकअप बनाना बेहतर होगा और उसकी निर्देशिका को हटाने से पहले याद रखें। यदि आपके कोई प्रश्न या टिप्पणी हैं, तो कृपया उन्हें नीचे टिप्पणी अनुभाग में प्रस्तुत करें।