Kā atrast un izdzēst dublētus failus Linux

Katru dienu mēs lejupielādējam, veidojam un rediģējam dažāda veida failus savā operētājsistēmā, šajā konkrētajā gadījumā mēs runājam par Linux, un viena no biežākajām kļūmēm ir tā, ka mums bieži var būt vairāki dublēti faili, kas ne tikai aizņem papildu vietas cietajā diskā, bet var kļūt par mulsinošu faktoru, atverot un rediģējot failus.

Daudzos gadījumos mūsu galddatoros vai serveros ir dažādi faili, neatkarīgi no to formāta, dublikāti, un mēs to nezinām. Tas rada nevajadzīgu vietas aizņemšanu un iespēju strādāt ar nepareizu failu, jo mēs varam rediģēt vienu un pēc tam atvērt otru utt. Praktisks veids, kā labāk organizēt mūsu darba vidi, ir atklāt un likvidēt šos dublētos failus, lai tādā veidā būtu iespējams izmantot vienu atsevišķu failu.

Ir vērts veikt šo uzdevumu ne tikai, lai varētu izdzēst dublikātus, bet arī veikt meklēšanu, kur mēs varam noņemt un izdzēst failus, kurus mēs vairs nevēlamies, bet ir atkārtojuši dažādas Linux operētājsistēmas daļas. Neatkarīgi no versijas, kāda tā var būt Fedora, Ubuntu, Debian, CentOS starp daudziem citiem.

Mēs jau savā laikā redzējām, kā sistēmā Windows atrast dublētus failus, šeit mēs koncentrējamies uz Linux vidi, kur mums ir rīki gan grafiskā līmenī, gan komandrindā, kas palīdzēs mums atrast šos failus un novērst tos, kas, mūsuprāt, ir nav lietderīgi.

Solvetic paskaidros, kā atklāt un novērst dublētus failus Linux vienkāršā, bet funkcionālā veidā.

Kas ir utilīta Rdfind?Rdfind ir komandrindas rīks, kas izstrādāts, lai atklātu direktorijā dublētos failus. To var izmantot, lai saspiestu rezerves direktorijus vai vienkāršā veidā atrastu dublētus failus, šī utilīta salīdzina failus, pamatojoties uz to saturu, bet ne uz to failu nosaukumiem, jo ​​tā ir balstīta uz kontrolsummu. Rdfind izmanto algoritmu, lai klasificētu failus un tādējādi noteiktu, kurš no dublikātiem ir oriģināls, un tādējādi pārējo uzskata par dublikātu. Rdfind lietošanas noteikumi ir šādi:

  • Ja A tika atrasts, skenējot ievades argumentu pirms B, A ir augstāk.
  • Ja A tika atrasts dziļumā, kas mazāks par B, A tiek ierindots augstāk.
  • Ja A tika atrasts pirms B, A ir augstāk.

Kas ir Rdfind algoritms?Kā jau minējām, Rdfind izmanto šādu algoritmu, kur N ir meklējamo failu skaits un nepieciešamās pūles ir O (Nlog (N)). Pirms lasīšanas no diska Rdfind kārto failus inodos, tāpēc šis process ir ātrs un nolasa datus tikai no diska, kad tas ir nepieciešams. Algoritms pārvalda šādas secības:

  • Virs katra komandrindas argumenta tiek izveidota cilpa, katram argumentam tiek piešķirts prioritātes numurs pieaugošā secībā.
  • Katram argumentam direktorija saturs tiek uzskaitīts rekursīvi un kartēts failu sarakstā.
  • Rdfind piešķir katra argumenta direktorija dziļuma numuru, sākot ar 0.
  • Ja ievades arguments ir fails, tas tiks pievienots failu sarakstam.
  • Pēc tam saraksts tiek pārvietots un tiek atklāti visu failu izmēri.
  • Ja karodziņš “-removeidentinode” ir patiess, saraksta elementi, kas jau ir pievienoti, tiek noņemti atbilstoši ierīces numura un inode kombinācijai.
  • Faili tiek sakārtoti pēc lieluma, pēc tam faili tiek noņemti no saraksta, kuriem ir unikāli izmēri.
  • Tas tiek pasūtīts pēc ierīces un inode, kas paātrina failu lasīšanu).
  • Sarakstā esošie faili, kuru izmērs ir vienāds, bet atšķirīgi pirmie baiti, tiek noņemti.
  • Kontrolsumma tiek izpildīta katram failam.
  • Sarakstā tiek saglabāti tikai tāda paša izmēra un kontrolsummas faili. Tie ir dublikāti.
  • Saraksts ir sakārtots pēc lieluma, prioritātes numura un dziļuma. Pirmais fails katrā dublikātu komplektā pēc noklusējuma tiek uzskatīts par oriģinālu.
  • Ja atzīmējat “-makeresultsfile true”, rezultātu fails tiek izdrukāts (noklusējums).
  • Ja karodziņš ir “-deleteduplicates true”, dublētie faili tiks izdzēsti.
  • Ja karodziņš ir “-padara saites patiesas”, dublikāti tiek aizstāti ar simbolisku saiti uz oriģinālu.
  • Ja rezultāts ir "-sagatavotie saites patiesi", mēs turpinām aizstāt dublikātus ar saiti uz oriģinālu.

1. Atrodiet dublētus failus ar utilītu Rdfind operētājsistēmā Linux

1. darbība
Lai instalētu Rdfind Linux, mēs varam izpildīt kādu no šīm komandām:

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

2. solis
Kad Rdfind ir lejupielādēts un instalēts, mēs to palaidīsim vienkāršā direktorijā šādi:

 rdfind / home / Solvetic 

3. solis
Tur mēs redzam, ka tiek konstatēts failu skaits minētajā direktorijā, un tas norāda, vai dublētie faili ir novērsti. Lietderība Rdfind saglabās rezultātus failā result.txt, kas atrodas tajā pašā direktorijā, no kuras tika palaista programma, tā saturu var redzēt, izmantojot kaķi:

 kaķis results.txt 

4. solis
Papildu uzdevums, ko izmantot kopā ar rdfind, ir parametra "-dryrun" izmantošana, kas nodrošinās dublikātu sarakstu, neveicot nekādas darbības ar tiem:

 rdfind -dryrun true / home / Solvetic 

5. solis
Ja tiek atklāti dublikāti, tos var aizstāt ar cietām saitēm.

 rdfind -makehardlinks true / home / user 
6. darbība
Lai novērstu dublikātus, mums jāveic šādas darbības:
 rdfind -deletedplicates true / home / user 
7. solis
Lai piekļūtu Rdfind palīdzībai, mēs izmantosim šādu komandu:
 cilvēks rdfind 

2. Atrodiet dublētus failus, izmantojot utilītu Fdupes operētājsistēmā Linux


Vēl viena iespēja, kas mums ir Linux, lai apstiprinātu dublētus failus, ir Fdupes. Tas ir komandrindas rīks, kas ļauj mums detalizēti novērot, kuriem failiem mums sistēmā ir dublikāti. Fdupes ir programma, kas izstrādāta, lai identificētu vai likvidētu dublētus failus, kas atrodas noteiktos Linux direktorijos, tā ir atvērtā pirmkoda un bezmaksas, un tā ir rakstīta C.

Fdupes iezīmesFdupes izmanto šādas metodes, lai noteiktu failu katalogos dublikātus:

  • Daļēju md5sum parakstu salīdzināšana.
  • Salīdzinot visus md5sum parakstus.
  • Baitu baitu salīdzināšanas pārbaude.

Izmantojot Fdupes, mums būs šādas izmantošanas iespējas, piemēram:

  • Rekursīva meklēšana.
  • Izslēdziet tukšos failus.
  • Parādiet dublēto failu lielumu.
  • Nekavējoties noņemiet dublikātus.
  • Izslēdziet failus ar dažādiem īpašniekiem.

1. darbība
Pēc noklusējuma šis rīks nav instalēts, tāpēc mums jāievada šāda komanda, lai to instalētu. Lai instalētu Fdupes, mēs izpildīsim šādu komandu:

 sudo apt instalēt fdupes 

2. solis
Pēc lejupielādes mēs varam palaist šādu rindu vienkāršai meklēšanai. Tur tiks parādīti failu dublikāti.

 fdupes / ceļš uz meklēšanu 

3. solis
Lai veiktu rekursīvu meklēšanu, mēs izmantosim šādu rindu:

 fdupes -r / ceļš uz meklēšanu 

4. solis
Būs iespējams norādīt vairākus direktorijus un norādīt direktoriju rekursīvā meklēšanai šādi:

 fdupes -r 
5. solis
Ja mēs vēlamies, lai Fdupes aprēķinātu dublēto failu lielumu, mēs izmantosim opciju -S:
 fdupes -S 

6. darbība
Lai apkopotu informāciju par atrastajiem failiem, mēs izmantosim opciju -m:

 fdupes -m 

7. solis
Ja vēlaties dzēst visus dublikātus, mēs izpildīsim sekojošo:

 fdupes -d 
8. solis
Ja mēs vēlamies piekļūt utilītas palīdzībai, mēs izpildām:
 fdupes -palīdzība 
9. solis
Dažas no vispārējām lietošanas iespējām ir šādas:

Katram atlasītajam direktorijam piekļūstiet tā apakšdirektorijiem

 -r -atkārtot 

Aktivizēt rekursīvo meklēšanu

 -R -atkārtots 

Izveidojiet simboliskas saites

 -s -saites 

Ja divi vai vairāki faili norāda uz vienu un to pašu mērķi, tie tiek uzskatīti par dublikātiem

 -H -saites 

Izslēdziet nulles garuma failus

 -n -tukšs 

Izslēgt slēptos failus

 -A -neslēpts 

Rādīt faila lieluma dublikātu

 -S izmērs 

Dzēst atlasītos failus

 -d -dzēst 

Paslēpt klusu -q

 -q -kluss 

Izvēlieties kārtošanas secību izvadīšanai un dzēšanai pēc faila

 -o - ***** = BY 

Reģistrējiet failu dzēšanas opcijas LOGFILE

 -l --log = LOGFILE 

Izvietojiet Fdupes versiju

 -v -versija 

Parādiet palīdzības ziņojumu

 -h - palīdzi 

3. Atrodiet dublētus failus, izmantojot utilītu FSlint operētājsistēmā Linux


Vēl viens, ko mēs izmantosim, ir FSlint, kas pēc noklusējuma ir pieejams dažādos Linux ditros, piemēram, Ubuntu, Debian, Fedora utt. Lai uzzinātu vairāk par FSlint, mēs varam apmeklēt šo saiti:

1. darbība
Mēs varam meklēt FSlint no izvēlnes Darbības, ko izmantot.

PALIELINĀT

2. solis
Pēc atvēršanas ir jāinstalē lietojumprogramma, lai to izdarītu, vienkārši noklikšķiniet uz pogas Instalēt un sāksies utilītas instalēšanas process.

PALIELINĀT

3. solis
Kad rīks ir instalēts, mēs turpinām tā izpildi un redzēsim šādu vidi:

4. solis
Lai sāktu visu dublikātu meklēšanas procesu, nospiediet pogu "Meklēt", kas atrodas apakšā, un rezultāts būs līdzīgs šim. Tur mēs varam izvēlēties tos failus, kas nav nepieciešami, un tos izdzēst, nospiežot pogu Dzēst. FSlint rīku var izmantot arī no Ubuntu 16 termināļa.

5. solis
Ja mēs vēlamies instalēt rīku no termināļa, mēs ievadīsim komandu:
sudo apt-get install fslint

6. darbība
Kad FSlint ir instalēts, mēs ievadīsim šādas komandas, lai izmantotu FSlint. Mēs redzam, ka tiek parādīti visi faili, kas mums sistēmā ir dublikāti.

 cd / usr / share / fslint / fslint (šis ir noklusējuma ceļš Ubuntu) ./fslint / Failu atrašanas ceļš

Svarīga piezīmeNeviens no šiem rīkiem neizdzēš dublētus failus, tas tikai parāda, kas tie ir, un mums šis uzdevums ir jāveic manuāli.

Mēs redzam, ka mums ir divas praktiskas iespējas, kā atklāt un novērst dublētus failus Linux vidē un tādējādi labāk pārvaldīt izmantojamo vietu un failus.

wave wave wave wave wave