Jak znaleźć i usunąć duplikaty plików w systemie Linux

Każdego dnia pobieramy, tworzymy i edytujemy różne typy plików w naszym systemie operacyjnym, w tym konkretnym przypadku mówimy o Linuksie, a jedną z typowych awarii jest to, że często możemy mieć kilka duplikatów plików, które nie tylko zajmują dodatkowe miejsce na dysku twardym, ale może być mylącym czynnikiem podczas otwierania i edytowania plików.

Wielokrotnie mamy na naszych komputerach stacjonarnych lub serwerach różne pliki, niezależnie od ich formatu, duplikaty i tego nie znamy. Generuje to niepotrzebne zajmowanie miejsca i możliwość pracy z niewłaściwym plikiem, ponieważ możemy edytować jeden, a następnie otworzyć drugi itp. Praktycznym sposobem na lepsze zorganizowanie naszego środowiska pracy jest wykrywanie i eliminowanie zduplikowanych plików, tak aby w ten sposób można było wykorzystać pojedynczy plik.

Warto wykonać to zadanie nie tylko po to, aby móc usunąć duplikaty, ale także przeprowadzić wyszukiwania, w których możemy wyeliminować i usunąć pliki, których już nie chcemy, ale powtarzamy przez różne części systemu operacyjnego Linux. Bez względu na wersję, jaka może być w Fedorze, Ubuntu, Debianie, CentOS i wielu innych.

Widzieliśmy już w swoim czasie, jak znaleźć zduplikowane pliki w systemie Windows, tutaj skupiamy się na środowiskach Linux, gdzie mamy narzędzia zarówno na poziomie graficznym, jak i w wierszu poleceń, które pomogą nam znaleźć te pliki i wyeliminować te, które uważamy za nieużyteczne.

Solvetic w prosty, ale funkcjonalny sposób wyjaśni, jak wykrywać i eliminować duplikaty plików w Linuksie.

Co to jest narzędzie RdfindRdfind to narzędzie wiersza poleceń, które zostało opracowane w celu wykrywania duplikatów plików w katalogu. Jego użycie może być stosowane do kompresowania katalogów kopii zapasowych lub do znajdowania duplikatów plików w prosty sposób, to narzędzie porównuje pliki na podstawie ich zawartości, ale nie na ich nazwach plików, ponieważ opiera się na sumie kontrolnej. Rdfind korzysta z algorytmu w celu sklasyfikowania plików, a tym samym wykrycia, który z duplikatów jest oryginałem, a zatem uzna resztę za duplikaty. Zasady korzystania z Rdfind to:

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

Co to jest algorytm Rdfinda?Rdfind, jak wspomnieliśmy, wykorzystuje następujący algorytm, gdzie N jest liczbą plików do przeszukania, a wymagany nakład pracy to O (Nlog (N)). Rdfind sortuje pliki w i-węzły przed odczytem z dysku, więc ten proces jest szybki i odczytuje dane z dysku tylko wtedy, gdy jest to wymagane. Algorytm zarządza następującymi sekwencjami:

  • Nad każdym argumentem wiersza poleceń tworzona jest pętla, każdemu argumentowi przypisywany jest numer priorytetu w kolejności rosnącej.
  • Dla każdego argumentu zawartość katalogu jest wyświetlana rekurencyjnie i mapowana na listę plików.
  • Rdfind przypisuje numer głębokości katalogu, zaczynając od 0 dla każdego argumentu.
  • Jeśli argumentem wejściowym jest plik, zostanie on dodany do listy plików.
  • Lista jest następnie przeszukiwana i wykrywane są rozmiary wszystkich plików.
  • Jeśli flaga „-removeidentinode” jest prawdziwa, elementy listy, które zostały już dodane, są usuwane zgodnie z kombinacją numeru urządzenia i i-węzła.
  • Pliki są sortowane według rozmiaru, a następnie usuwane są z listy pliki, które mają unikalne rozmiary.
  • Jest uporządkowany według urządzenia i i-węzła, co przyspiesza odczyt plików).
  • Pliki na liście, które mają ten sam rozmiar, ale różne pierwsze bajty są usuwane.
  • Suma kontrolna jest uruchamiana dla każdego pliku.
  • Przechowywane są tylko pliki z listy o tym samym rozmiarze i sumie kontrolnej. To są duplikaty.
  • Lista jest posortowana według rozmiaru, numeru priorytetu i głębokości. Pierwszy plik w każdym zestawie duplikatów jest domyślnie uważany za oryginał.
  • Jeśli zaznaczysz "-makeresultsfile true", plik wyników zostanie wydrukowany (domyślnie).
  • Jeśli flaga to „-deleteduplicates true”, zduplikowane pliki zostaną usunięte.
  • Jeśli flaga to „-makesymlinks true”, duplikaty są zastępowane dowiązaniem symbolicznym do oryginału.
  • Jeśli wynik to „-makehardlinks true”, kontynuujemy zastępowanie duplikatów linkiem do oryginału.

1. Znajdź duplikaty plików za pomocą narzędzia Rdfind w systemie Linux

Krok 1
Aby zainstalować Rdfind w Linuksie, możemy wykonać dowolne z następujących poleceń:

 sudo apt zainstaluj rdfind (Debian / Ubuntu / Mint) sudo yum zainstaluj epel-release && $ sudo yum zainstaluj rdfind (CentOS / RHEL) sudo dnf zainstaluj rdfind (Fedora) 

Krok 2
Po pobraniu i zainstalowaniu Rdfind uruchomimy go w prostym katalogu w następujący sposób:

 rdfind / home / Solvetic 

Krok 3
Tam widzimy, że wykryto liczbę plików we wspomnianym katalogu i wskazuje, czy zduplikowane pliki zostały wyeliminowane. Narzędzie Rdfind zapisze wyniki w pliku results.txt znajdującym się w tym samym katalogu, z którego uruchomiono program, możemy zobaczyć jego zawartość za pomocą cat:

 kot wyniki.txt 

Krok 4
Dodatkowym zadaniem do użycia z rdfind jest użycie parametru "-dryrun", który zapewni listę duplikatów bez podejmowania na nich żadnych działań:

 rdfind -dryrun true / home / Solvetic 

Krok 5
W przypadku wykrycia duplikatów można je zastąpić takimi dowiązaniami twardymi.

 rdfind -makehardlinks true / home / user 
Krok 6
Aby wyeliminować duplikaty, musimy wykonać następujące czynności:
 rdfind - usuwa duplikaty true / home / user 
Krok 7
Aby uzyskać dostęp do pomocy Rdfind, użyjemy następującego polecenia:
 człowiek odnajduje 

2. Znajdź duplikaty plików za pomocą narzędzia Fdupes w systemie Linux


Inną opcją, jaką mamy w Linuksie do sprawdzania duplikatów plików, jest Fdupes. Jest to narzędzie wiersza poleceń, które pozwala nam szczegółowo obserwować, które pliki mamy duplikaty w systemie. Fdupes to program, który został opracowany w celu identyfikowania lub eliminowania duplikatów plików znajdujących się w określonych katalogach w systemie Linux, jest open source i darmowy i jest napisany w C.

Cechy FdupesFdupes wykorzystuje następujące metody do określenia duplikatów plików w katalogach:

  • Porównanie sygnatur częściowych sum md5.
  • Porównanie wszystkich sygnatur md5sum.
  • Sprawdzanie porównania bajt po bajcie.

Korzystając z Fdupes, będziemy mieć do wyboru takie opcje, jak:

  • Wyszukiwanie rekurencyjne.
  • Wyklucz puste pliki.
  • Wyświetl rozmiar zduplikowanych plików.
  • Natychmiast usuń duplikaty.
  • Wyklucz pliki z różnymi właścicielami.

Krok 1
Domyślnie to narzędzie nie jest zainstalowane, dlatego musimy wprowadzić następujące polecenie, aby je zainstalować. Aby zainstalować Fdupes, wykonamy następujące polecenie:

 sudo apt zainstaluj fdupes 

Krok 2
Po pobraniu możemy uruchomić następujący wiersz w celu prostego wyszukiwania. Tam zostaną wyświetlone zduplikowane pliki.

 fdupes / ścieżka do wyszukiwania 

Krok 3
Aby wykonać wyszukiwanie rekurencyjne, użyjemy następującego wiersza:

 fdupes -r / ścieżka do wyszukiwania 

Krok 4
Możliwe będzie określenie kilku katalogów i określenie katalogu do przeszukiwania rekurencyjnego w następujący sposób:

 fdupes -r 
Krok 5
Jeśli chcemy, aby Fdupes obliczył rozmiar duplikatów plików, użyjemy opcji -S:
 fdupes -S 

Krok 6
Aby zebrać zbiorcze informacje o znalezionych plikach, użyjemy opcji -m:

 fdupes -m 

Krok 7
Jeśli chcesz usunąć wszystkie duplikaty, wykonamy następujące czynności:

 fdupes -d 
Krok 8
Jeśli chcemy uzyskać dostęp do pomocy narzędzia, które wykonujemy:
 fdupes -pomoc 
Krok 9
Niektóre z ogólnych opcji użytkowania to:

Dla każdego wybranego katalogu uzyskaj dostęp do jego podkatalogów

 -r -rekurencja 

Aktywuj wyszukiwanie rekurencyjne

 -R --rekurencja 

Utwórz dowiązania symboliczne

 -s -dowiązania symboliczne 

Gdy dwa lub więcej plików wskazuje ten sam cel, są one traktowane jako nieduplikaty

 -H -dowiązania twarde 

Wyklucz pliki o zerowej długości

 -n -niepusty 

Wyklucz ukryte pliki

 -A -nie ukryty 

Pokaż zduplikowany rozmiar pliku

 -S -rozmiar 

Usuń wybrane pliki

 -d -usuń 

Ukryj -q -cichy

 -q -cicho 

Wybierz porządek sortowania dla wyjścia i usunięcia według pliku

 -o - ***** = BY 

Opcje usuwania plików dziennika do LOGFILE

 -l --log = PLIK_DZIENNIKA 

Wdróż wersję Fdupes

 -v -wersja 

Wyświetl komunikat pomocy

 -h - pomoc 

3. Znajdź duplikaty plików za pomocą narzędzia FSlint w systemie Linux


Innym, którego zamierzamy użyć, jest FSlint, który jest domyślnie dostępny w różnych wersjach Linuksa, takich jak Ubuntu, Debian, Fedora itp. Aby dowiedzieć się więcej o FSlint, odwiedź poniższy link:

Krok 1
Możemy wyszukać FSlint z menu Czynności.

POWIĘKSZAĆ

Krok 2
Po otwarciu konieczne jest zainstalowanie aplikacji, w tym celu wystarczy kliknąć przycisk Instaluj, a rozpocznie się proces instalacji narzędzia.

POWIĘKSZAĆ

Krok 3
Po zainstalowaniu narzędzia przystępujemy do jego wykonania i zobaczymy następujące środowisko:

Krok 4
Aby rozpocząć proces wyszukiwania wszystkich zduplikowanych plików, naciśnij przycisk „Szukaj” znajdujący się na dole, a wynik będzie podobny do tego. Tam możemy wybrać te pliki, które nie są potrzebne i usunąć je, naciskając przycisk Usuń. Narzędzie FSlint może być również używane z terminala w Ubuntu 16.

Krok 5
Jeśli chcemy zainstalować narzędzie z terminala, wpiszemy polecenie:
sudo apt-get zainstaluj fslint

Krok 6
Po zainstalowaniu FSlint wprowadzimy następujące polecenia, aby używać FSlint. Widzimy, że wyświetlane są wszystkie pliki, które mamy duplikaty w Systemie.

 cd / usr / share / fslint / fslint (jest to domyślna ścieżka w Ubuntu) ./fslint / Ścieżka do wyszukiwania plików

Ważna uwagaŻadne z tych narzędzi nie usuwa zduplikowanych plików, pokazuje nam tylko, czym one są i musimy wykonać to zadanie ręcznie.

Widzimy, że mamy dwie praktyczne opcje wykrywania i eliminowania duplikatów plików w środowiskach Linux, a tym samym lepszego zarządzania przestrzenią i plikami do wykorzystania.

wave wave wave wave wave