4 Χρήσιμα εργαλεία για την εύρεση και τη διαγραφή διπλότυπων αρχείων στο Linux


Η οργάνωση του οικιακού σας καταλόγου ή ακόμη και του συστήματος μπορεί να είναι ιδιαίτερα δύσκολη εάν έχετε τη συνήθεια να κατεβάζετε όλα τα είδη υλικού από το Διαδίκτυο.

Συχνά μπορεί να βρείτε ότι έχετε κατεβάσει το ίδιο mp3, pdf, epub (και κάθε είδους άλλες επεκτάσεις αρχείων) και το έχετε αντιγράψει σε διαφορετικούς καταλόγους. Αυτό μπορεί να κάνει τους καταλόγους σας να γεμίζουν με κάθε είδους άχρηστα διπλότυπα.

Σε αυτό το σεμινάριο, θα μάθετε πώς να βρίσκετε και να διαγράφετε διπλά αρχεία στο Linux χρησιμοποιώντας εργαλεία γραμμής εντολών rdfind και fdupes, καθώς και χρησιμοποιώντας εργαλεία GUI που ονομάζονται DupeGuru και FSlint.

Προσοχή - να είστε πάντα προσεκτικοί με αυτό που διαγράφετε στο σύστημά σας, καθώς αυτό μπορεί να οδηγήσει σε ανεπιθύμητη απώλεια δεδομένων. Εάν χρησιμοποιείτε ένα νέο εργαλείο, δοκιμάστε πρώτα σε έναν κατάλογο δοκιμών όπου η διαγραφή αρχείων δεν θα είναι πρόβλημα.

1. Rdfind - Βρίσκει διπλά αρχεία στο Linux

Το Rdfind προέρχεται από περιττή εύρεση δεδομένων. Είναι ένα δωρεάν εργαλείο που χρησιμοποιείται για την εύρεση διπλών αρχείων σε πολλούς καταλόγους ή εντός. Χρησιμοποιεί το checksum και βρίσκει αντίγραφα με βάση το αρχείο που περιέχει όχι μόνο ονόματα.

Το 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 στο Linux, χρησιμοποιήστε την ακόλουθη εντολή σύμφωνα με τη διανομή Linux.

$ 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+]
$ sudo pacman -S rdfind   [On Arch Linux]

Για να εκτελέσετε το 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 

2. Fdupes - Σάρωση για διπλότυπα αρχεία στο Linux

Το Fdupes είναι ένα άλλο πρόγραμμα που σας επιτρέπει να αναγνωρίζετε διπλά αρχεία στο σύστημά σας. Είναι δωρεάν και ανοιχτού κώδικα και γράφεται σε C. Χρησιμοποιεί τις ακόλουθες μεθόδους για τον προσδιορισμό διπλών αρχείων

  • 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 a different owner

Για να εγκαταστήσετε fdupes στο Linux, χρησιμοποιήστε την ακόλουθη εντολή σύμφωνα με τη διανομή Linux.

$ sudo apt-get install fdupes     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install fdupes    [On CentOS/RHEL]
$ sudo dnf install fdupes         [On Fedora 22+]
$ sudo pacman -S fdupes   [On Arch Linux]

Η σύνταξη 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

3. dupeGuru - Βρείτε διπλότυπα αρχεία σε Linux

Το dupeGuru είναι ένα εργαλείο ανοιχτού κώδικα και πολλαπλών πλατφορμών που μπορεί να χρησιμοποιηθεί για την εύρεση διπλών αρχείων σε ένα σύστημα Linux. Το εργαλείο μπορεί να σαρώσει ονόματα αρχείων ή περιεχόμενο σε έναν ή περισσότερους φακέλους. Σας επιτρέπει επίσης να βρείτε το όνομα αρχείου που είναι παρόμοιο με τα αρχεία που αναζητάτε.

Το dupeGuru διατίθεται σε διαφορετικές εκδόσεις για πλατφόρμες Windows, Mac και Linux. Η λειτουργία αλγορίθμου γρήγορης ασαφούς αντιστοίχισης σάς βοηθά να βρείτε διπλά αρχεία μέσα σε ένα λεπτό. Είναι προσαρμόσιμο, μπορείτε να τραβήξετε τα ακριβή διπλά αρχεία που θέλετε και να διαγράψετε τα ανεπιθύμητα αρχεία από το σύστημα.

Για να εγκαταστήσετε το dupeGuru στο Linux, χρησιμοποιήστε την ακόλουθη εντολή σύμφωνα με τη διανομή Linux.

--------------- On Debian/Ubuntu/Mint --------------- 
$ sudo add-apt-repository ppa:dupeguru/ppa
$ sudo apt-get update
$ sudo apt-get install dupeguru
--------------- On Arch Linux --------------- 
$ sudo pacman -S dupeguru

4. FSlint - Διπλότυπο εύρεσης αρχείων για Linux

Το FSlint είναι ένα δωρεάν βοηθητικό πρόγραμμα που χρησιμοποιείται για τον εντοπισμό και τον καθαρισμό διαφόρων μορφών χνούδι σε ένα σύστημα αρχείων. Αναφέρει επίσης διπλά αρχεία, άδειους καταλόγους, προσωρινά αρχεία, διπλά/συγκρουόμενα (δυαδικά) ονόματα, κακούς συμβολικούς δεσμούς και πολλά άλλα. Έχει λειτουργίες γραμμής εντολών και GUI.

Για να εγκαταστήσετε το FSlint στο Linux, χρησιμοποιήστε την ακόλουθη εντολή σύμφωνα με τη διανομή Linux.

$ sudo apt-get install fslint     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install fslint    [On CentOS/RHEL]
$ sudo dnf install fslint         [On Fedora 22+]
$ sudo pacman -S fslint   [On Arch Linux]

Αυτά είναι τα πολύ χρήσιμα εργαλεία για να βρείτε διπλά αρχεία στο σύστημα Linux, αλλά θα πρέπει να είστε πολύ προσεκτικοί κατά τη διαγραφή αυτών των αρχείων.

Εάν δεν είστε βέβαιοι εάν χρειάζεστε ένα αρχείο ή όχι, θα ήταν καλύτερα να δημιουργήσετε ένα αντίγραφο ασφαλείας αυτού του αρχείου και να θυμάστε τον κατάλογό του πριν το διαγράψετε. Εάν έχετε οποιεσδήποτε ερωτήσεις ή σχόλια, υποβάλετε τα στην ενότητα σχολίων παρακάτω.