Wyszukiwanie w witrynie

5 najlepszych narzędzi do wyszukiwania i usuwania zduplikowanych plików w systemie Linux


Porządkowanie katalogu domowego lub nawet systemu może być szczególnie trudne, jeśli masz zwyczaj pobierania wszelkiego rodzaju rzeczy z Internetu za pomocą menedżerów pobierania.

Często może się okazać, że pobrałeś te same pliki mp3, pdf i epub (oraz wszelkiego rodzaju inne rozszerzenia plików) i skopiowałeś je do różnych katalogów. Może to spowodować, że Twoje katalogi zostaną zaśmiecone wszelkiego rodzaju bezużytecznymi, zduplikowanymi treściami.

W tym samouczku dowiesz się, jak znaleźć i usunąć zduplikowane pliki w systemie Linux za pomocą narzędzi wiersza poleceń rdfind, fdupes i rmlint , a także przy użyciu narzędzi GUI o nazwie DupeGuru i FSlint.

Uwaga – zawsze uważaj, co usuwasz z systemu, ponieważ może to prowadzić do niechcianej utraty danych. Jeśli używasz nowego narzędzia, wypróbuj najpierw w katalogu testowym, w którym usunięcie plików nie będzie stanowić problemu.

1. Rdfind – Znajdź zduplikowane pliki w systemie Linux

Rdfind pochodzi z narzędzia Redundant Data Find, które jest bezpłatnym narzędziem wiersza poleceń używanym do wyszukiwania duplikatów plików w wielu katalogach lub w wielu katalogach. Rekurencyjnie skanuje katalogi i identyfikuje pliki o identycznej zawartości, umożliwiając podjęcie odpowiednich działań, takich jak usunięcie lub przeniesienie duplikatów.

Rdfind wykorzystuje algorytm do klasyfikowania plików i wykrywa, który z duplikatów jest plikiem oryginalnym, a resztę traktuje jako duplikaty.

Zasady rankingu są następujące:

  • Jeśli podczas skanowania argumentu wejściowego wcześniej niż B znaleziono A, A ma wyższą pozycję w rankingu.
  • Jeśli A został znaleziony na głębokości mniejszej niż B, A jest wyżej w rankingu.
  • Jeśli A zostało znalezione wcześniej niż B, A ma wyższą pozycję w rankingu.

Ostatnią regułę stosuje się szczególnie wtedy, gdy w tym samym katalogu znajdują się dwa pliki.

Zainstaluj Rdfind w systemie Linux

Aby zainstalować rdfind w systemie Linux, użyj następującego polecenia zgodnie z dystrybucją Linuksa.

sudo apt install rdfind         [On Debian, Ubuntu and Mint]
sudo yum install rdfind         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rdfind  [On Gentoo Linux]
sudo apk add rdfind             [On Alpine Linux]
sudo pacman -S rdfind           [On Arch Linux]
sudo zypper install rdfind      [On OpenSUSE]    

Aby uruchomić rdfind w katalogu, po prostu wpisz rdfind i katalog docelowy.

rdfind /home/user

Jak widzisz rdfind zapisze wyniki w pliku o nazwie results.txt znajdującym się w tym samym katalogu, z którego uruchomiłeś program. Plik zawiera wszystkie zduplikowane pliki znalezione przez rdfind. Jeśli chcesz, możesz przejrzeć plik i ręcznie usunąć zduplikowane pliki.

Inną rzeczą, którą możesz zrobić, to użyć opcji -dryrun, która wyświetli listę duplikatów bez podejmowania jakichkolwiek działań:

rdfind -dryrun true /home/user

Kiedy znajdziesz duplikaty, możesz zastąpić je twardymi linkami.

rdfind -makehardlinks true /home/user

A jeśli chcesz usunąć duplikaty, możesz uruchomić.

rdfind -deleteduplicates true /home/user

Aby sprawdzić inne przydatne opcje rdfind, możesz skorzystać z podręcznika rdfind.

man rdfind 

2. Fdupes – skanowanie w poszukiwaniu duplikatów plików w systemie Linux

Fdupes to kolejny program wiersza poleceń, który pozwala identyfikować duplikaty plików w systemie. Przeszukuje katalogi rekurencyjnie, porównując rozmiary i zawartość plików w celu identyfikacji duplikatów.

Używa następujących metod w celu określenia duplikatów plików:

  • Porównanie częściowych podpisów md5sum
  • Porównanie pełnych podpisów md5sum
  • weryfikacja porównania bajt po bajcie

Podobnie jak rdfind ma podobne opcje:

  • Szukaj rekurencyjnie
  • Wyklucz puste pliki
  • Pokazuje rozmiar zduplikowanych plików
  • Natychmiast usuń duplikaty
  • Wyklucz pliki mające innego właściciela

Zainstaluj Fdupes w systemie Linux

Aby zainstalować fdupes w systemie Linux, użyj następującego polecenia zgodnie z dystrybucją Linuksa.

sudo apt install fdupes         [On Debian, Ubuntu and Mint]
sudo yum install fdupes         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fdupes  [On Gentoo Linux]
sudo apk add fdupes             [On Alpine Linux]
sudo pacman -S fdupes           [On Arch Linux]
sudo zypper install fdupes      [On OpenSUSE]    

Składnia Fdupes jest podobna do składni rdfind. Po prostu wpisz polecenie, a następnie katalog, który chcesz przeskanować.

fdupes <dir>

Aby wyszukiwać pliki rekurencyjnie, będziesz musiał podać -r taką opcję.

fdupes -r <dir>

Możesz także określić wiele katalogów i określić katalog, który ma być przeszukiwany rekurencyjnie.

fdupes <dir1> -r <dir2>

Aby fdupes obliczył rozmiar zduplikowanych plików, użyj opcji -S.

fdupes -S <dir>

Aby zebrać podsumowanie informacji o znalezionych plikach użyj opcji -m.

fdupes -m <dir>

Na koniec, jeśli chcesz usunąć wszystkie duplikaty, użyj -d takiej opcji.

fdupes -d <dir>

Fdupes zapyta, który ze znalezionych plików ma zostać usunięty. Będziesz musiał wprowadzić numer pliku:

Rozwiązaniem zdecydowanie nie zalecanym jest użycie opcji -N, która spowoduje zachowanie tylko pierwszego pliku.

fdupes -dN <dir>

Aby uzyskać listę dostępnych opcji do użycia z fdupes, przejrzyj stronę pomocy, uruchamiając.

fdupes -help

3. Rmlint – Usuń zduplikowane pliki

Rmlint to narzędzie wiersza poleceń służące do wyszukiwania i usuwania duplikatów i plików przypominających kłaczki w systemach Linux. Pomaga zidentyfikować pliki o identycznej zawartości, a także różne formy nadmiarowości lub lint, takie jak puste pliki, uszkodzone łącza symboliczne i osierocone pliki.

Zainstaluj Rmlint w systemie Linux

Aby zainstalować Rmlint w systemie Linux, użyj następującego polecenia zgodnie z dystrybucją Linuksa.

sudo apt install rmlint         [On Debian, Ubuntu and Mint]
sudo yum install rmlint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rmlint  [On Gentoo Linux]
sudo apk add rmlint             [On Alpine Linux]
sudo pacman -S rmlint           [On Arch Linux]
sudo zypper install rmlint      [On OpenSUSE]    

4. dupeGuru – Znajdź zduplikowane pliki w systemie Linux

dupeGuru to wieloplatformowe narzędzie o otwartym kodzie źródłowym, którego można używać do wyszukiwania duplikatów plików w systemie Linux. Narzędzie może skanować nazwy plików lub zawartość jednego lub większej liczby folderów. Pozwala także znaleźć nazwę pliku podobną do plików, których szukasz.

dupeGuru jest dostępny w różnych wersjach dla platform Windows, Mac i Linux. Funkcja szybkiego algorytmu dopasowywania rozmytego pomaga znaleźć duplikaty plików w ciągu minuty. Można go dostosować, możesz pobrać dokładnie te zduplikowane pliki, które chcesz i usunąć niechciane pliki z systemu.

Zainstaluj dupeGuru na Linuksie

Aby zainstalować dupeGuru w systemie Linux, użyj następującego polecenia zgodnie z dystrybucją Linuksa.

sudo apt install dupeguru         [On Debian, Ubuntu and Mint]
sudo yum install dupeguru         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/dupeguru  [On Gentoo Linux]
sudo apk add dupeguru             [On Alpine Linux]
sudo pacman -S dupeguru           [On Arch Linux]
sudo zypper install dupeguru      [On OpenSUSE]    

5. FSlint – wyszukiwarka duplikatów plików dla systemu Linux

FSlint to bezpłatne narzędzie służące do wyszukiwania i czyszczenia różnych form lint w systemie plików. Zgłasza także zduplikowane pliki, puste katalogi, pliki tymczasowe, zduplikowane/sprzeczne (binarne) nazwy, złe dowiązania symboliczne i wiele innych. Posiada zarówno tryb wiersza poleceń, jak i GUI.

Należy jednak pamiętać, że według stanu na wrzesień 2022 r., kiedy skończyła się moja wiedza, FSlint został ostatnio zaktualizowany w 2013 r. i może nie być aktywnie utrzymywany lub kompatybilny z nowszymi dystrybucjami Linuksa.

Zainstaluj FSlint na Linuksie

Aby zainstalować FSlint w systemie Linux, użyj następującego polecenia zgodnie z dystrybucją Linuksa.

sudo apt install fslint         [On Debian, Ubuntu and Mint]
sudo yum install fslint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fslint  [On Gentoo Linux]
sudo apk add fslint             [On Alpine Linux]
sudo pacman -S fslint           [On Arch Linux]
sudo zypper install fslint      [On OpenSUSE]    

Wniosek

Są to bardzo przydatne narzędzia do wyszukiwania zduplikowanych plików w systemie Linux, ale przy usuwaniu takich plików należy zachować szczególną ostrożność.

Jeśli nie masz pewności, czy potrzebujesz pliku, czy nie, lepiej będzie utworzyć kopię zapasową tego pliku i zapamiętać jego katalog przed jego usunięciem. Jeśli masz jakieś pytania lub uwagi, prześlij je w sekcji komentarzy poniżej.