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 / userKrok 6
Aby wyeliminować duplikaty, musimy wykonać następujące czynności:
rdfind - usuwa duplikaty true / home / userKrok 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 -rKrok 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 -dKrok 8
Jeśli chcemy uzyskać dostęp do pomocy narzędzia, które wykonujemy:
fdupes -pomocKrok 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.