fdupes - Skipanalínutól til að finna og eyða tvíteknum skrám í Linux


Það er algeng krafa að finna og skipta um tvíteknar skrár fyrir flesta tölvunotendur. Að finna og fjarlægja tvíteknar skrár er þreytandi starf sem krefst tíma og þolinmæði. Það getur verið mjög auðvelt að finna afrit af skrám ef vélin þín er knúin af GNU/Linux, þökk sé „fdupes“ tólinu.

Fdupes er Linux tól skrifað af Adrian Lopez á C forritunarmáli gefið út undir MIT leyfi. Forritið getur fundið afrit af skrám í tilteknu setti af möppum og undirmöppum. Fdupes þekkja afrit með því að bera saman MD5 undirskrift skráa og síðan bæti-til-bæta samanburður. Hægt er að senda fullt af valkostum með Fdupes til að skrá, eyða og skipta um skrárnar með harða tengla til afrita.

Samanburðurinn byrjar í þeirri röð:

stærðarsamanburður > Hluti MD5 undirskriftarsamanburður > Fullur MD5 undirskriftarsamanburður > Bæti-til-bæta samanburður.

Settu upp fdupes á Linux

Uppsetning á nýjustu útgáfu af fdupes (fdupes útgáfa 1.51) eins auðveld og að keyra eftirfarandi skipun á Debian kerfum eins og Ubuntu og Linux Mint.

$ sudo apt-get install fdupes

Á CentOS/RHEL og Fedora byggðum kerfum þarftu að kveikja á epel geymslu til að setja upp fdupes pakka.

# yum install fdupes
# dnf install fdupes    [On Fedora 22 onwards]

Athugið: Sjálfgefinn pakkastjóri yum er skipt út fyrir dnf frá Fedora 22 og áfram...

Hvernig á að nota fdupes skipun?

1. Til að sýna fram á, skulum við búa til nokkrar afrit skrár undir möppu (segjum tecmint) einfaldlega eins og:

$ mkdir /home/"$USER"/Desktop/tecmint && cd /home/"$USER"/Desktop/tecmint && for i in {1..15}; do echo "I Love Tecmint. Tecmint is a very nice community of Linux Users." > tecmint${i}.txt ; done

Eftir að hafa keyrt skipunina fyrir ofan skulum við ganga úr skugga um að afritaskrárnar séu búnar til eða ekki með ls skipuninni.

$ ls -l

total 60
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint10.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint11.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint12.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint13.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint14.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint15.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint1.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint2.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint3.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint4.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint5.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint6.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint7.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint8.txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint9.txt

Ofangreind handrit býr til 15 skrár, nefnilega tecmint1.txt, tecmint2.txt…tecmint15.txt og allar skrár innihalda sömu gögnin, þ.e.

"I Love Tecmint. Tecmint is a very nice community of Linux Users."

2. Leitaðu nú að afritum skrám í möppunni tecmint.

$ fdupes /home/$USER/Desktop/tecmint 

/home/tecmint/Desktop/tecmint/tecmint13.txt
/home/tecmint/Desktop/tecmint/tecmint8.txt
/home/tecmint/Desktop/tecmint/tecmint11.txt
/home/tecmint/Desktop/tecmint/tecmint3.txt
/home/tecmint/Desktop/tecmint/tecmint4.txt
/home/tecmint/Desktop/tecmint/tecmint6.txt
/home/tecmint/Desktop/tecmint/tecmint7.txt
/home/tecmint/Desktop/tecmint/tecmint9.txt
/home/tecmint/Desktop/tecmint/tecmint10.txt
/home/tecmint/Desktop/tecmint/tecmint2.txt
/home/tecmint/Desktop/tecmint/tecmint5.txt
/home/tecmint/Desktop/tecmint/tecmint14.txt
/home/tecmint/Desktop/tecmint/tecmint1.txt
/home/tecmint/Desktop/tecmint/tecmint15.txt
/home/tecmint/Desktop/tecmint/tecmint12.txt

3. Leitaðu að endurteknum afritum í hverri möppu, þar á meðal undirmöppum hennar, með því að nota -r valkostinn.

Það leitar í allar skrár og möppur endurkvæmt, eftir fjölda skráa og möppna mun það taka nokkurn tíma að skanna afrit. Í millitíðinni verður þér kynnt heildarframvindan í flugstöðinni, eitthvað á þessa leið.

$ fdupes -r /home

Progress [37780/54747] 69%

4. Sjáðu stærð afrita sem finnast í möppu með því að nota -S valkostinn.

$ fdupes -S /home/$USER/Desktop/tecmint

65 bytes each:                          
/home/tecmint/Desktop/tecmint/tecmint13.txt
/home/tecmint/Desktop/tecmint/tecmint8.txt
/home/tecmint/Desktop/tecmint/tecmint11.txt
/home/tecmint/Desktop/tecmint/tecmint3.txt
/home/tecmint/Desktop/tecmint/tecmint4.txt
/home/tecmint/Desktop/tecmint/tecmint6.txt
/home/tecmint/Desktop/tecmint/tecmint7.txt
/home/tecmint/Desktop/tecmint/tecmint9.txt
/home/tecmint/Desktop/tecmint/tecmint10.txt
/home/tecmint/Desktop/tecmint/tecmint2.txt
/home/tecmint/Desktop/tecmint/tecmint5.txt
/home/tecmint/Desktop/tecmint/tecmint14.txt
/home/tecmint/Desktop/tecmint/tecmint1.txt
/home/tecmint/Desktop/tecmint/tecmint15.txt
/home/tecmint/Desktop/tecmint/tecmint12.txt

5. Þú getur séð stærð afrita skráa fyrir hverja möppu og undirmöppur sem finnast innan með því að nota -S og -r valkostina á sama tíma, eins og:

$ fdupes -Sr /home/avi/Desktop/

65 bytes each:                          
/home/tecmint/Desktop/tecmint/tecmint13.txt
/home/tecmint/Desktop/tecmint/tecmint8.txt
/home/tecmint/Desktop/tecmint/tecmint11.txt
/home/tecmint/Desktop/tecmint/tecmint3.txt
/home/tecmint/Desktop/tecmint/tecmint4.txt
/home/tecmint/Desktop/tecmint/tecmint6.txt
/home/tecmint/Desktop/tecmint/tecmint7.txt
/home/tecmint/Desktop/tecmint/tecmint9.txt
/home/tecmint/Desktop/tecmint/tecmint10.txt
/home/tecmint/Desktop/tecmint/tecmint2.txt
/home/tecmint/Desktop/tecmint/tecmint5.txt
/home/tecmint/Desktop/tecmint/tecmint14.txt
/home/tecmint/Desktop/tecmint/tecmint1.txt
/home/tecmint/Desktop/tecmint/tecmint15.txt
/home/tecmint/Desktop/tecmint/tecmint12.txt

107 bytes each:
/home/tecmint/Desktop/resume_files/r-csc.html
/home/tecmint/Desktop/resume_files/fc.html

6. Annað en að leita í einni möppu eða öllum möppunum endurtekið geturðu valið að velja í tvær möppur eða þrjár möppur eftir þörfum. Svo ekki sé minnst á að þú getur notað valkostinn -S og/eða -r ef þörf krefur.

$ fdupes /home/avi/Desktop/ /home/avi/Templates/

7. Til að eyða afritum skrám á meðan þú varðveitir afrit geturðu notað valkostinn '-d'. Gæta skal sérstakrar varúðar þegar þú notar þennan valkost, annars gætir þú tapað nauðsynlegum skrám/gögnum og hafðu í huga að ferlið er óafturkallanlegt.

$ fdupes -d /home/$USER/Desktop/tecmint

[1] /home/tecmint/Desktop/tecmint/tecmint13.txt
[2] /home/tecmint/Desktop/tecmint/tecmint8.txt
[3] /home/tecmint/Desktop/tecmint/tecmint11.txt
[4] /home/tecmint/Desktop/tecmint/tecmint3.txt
[5] /home/tecmint/Desktop/tecmint/tecmint4.txt
[6] /home/tecmint/Desktop/tecmint/tecmint6.txt
[7] /home/tecmint/Desktop/tecmint/tecmint7.txt
[8] /home/tecmint/Desktop/tecmint/tecmint9.txt
[9] /home/tecmint/Desktop/tecmint/tecmint10.txt
[10] /home/tecmint/Desktop/tecmint/tecmint2.txt
[11] /home/tecmint/Desktop/tecmint/tecmint5.txt
[12] /home/tecmint/Desktop/tecmint/tecmint14.txt
[13] /home/tecmint/Desktop/tecmint/tecmint1.txt
[14] /home/tecmint/Desktop/tecmint/tecmint15.txt
[15] /home/tecmint/Desktop/tecmint/tecmint12.txt

Set 1 of 1, preserve files [1 - 15, all]: 

Þú gætir tekið eftir því að allar afritanir eru skráðar og þú ert beðinn um að eyða, annað hvort einu í einu eða ákveðið svið eða allt í einu. Þú getur valið svið eitthvað eins og hér að neðan til að eyða skráarskrám af ákveðnu sviði.

Set 1 of 1, preserve files [1 - 15, all]: 2-15

   [-] /home/tecmint/Desktop/tecmint/tecmint13.txt
   [+] /home/tecmint/Desktop/tecmint/tecmint8.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint11.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint3.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint4.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint6.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint7.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint9.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint10.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint2.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint5.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint14.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint1.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint15.txt
   [-] /home/tecmint/Desktop/tecmint/tecmint12.txt

8. Frá öryggissjónarmiði gætirðu viljað prenta út 'fdupes' í skrá og athuga síðan textaskrá til að ákveða hvaða skrá á að eyða. Þetta minnkar líkurnar á að skránni þinni verði eytt óvart. Þú getur gert:

$ fdupes -Sr /home > /home/fdupes.txt

Athugið: Þú getur skipt út '/home' fyrir möppuna sem þú vilt. Notaðu einnig valkostinn '-r' og '-S' ef þú vilt leita endurkvæmt og prentstærð, í sömu röð.

9. Þú getur sleppt fyrstu skránni úr hverju setti samsvörunar með því að nota valkostinn '-f'.

First List skrár í möppunni.

$ ls -l /home/$USER/Desktop/tecmint

total 20
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint9 (3rd copy).txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint9 (4th copy).txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint9 (another copy).txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint9 (copy).txt
-rw-r--r-- 1 tecmint tecmint 65 Aug  8 11:22 tecmint9.txt

og slepptu síðan fyrstu skránni úr hverju setti samsvörunar.

$ fdupes -f /home/$USER/Desktop/tecmint

/home/tecmint/Desktop/tecmint9 (copy).txt
/home/tecmint/Desktop/tecmint9 (3rd copy).txt
/home/tecmint/Desktop/tecmint9 (another copy).txt
/home/tecmint/Desktop/tecmint9 (4th copy).txt

10. Athugaðu uppsetta útgáfu af fdupes.

$ fdupes --version

fdupes 1.51

11. Ef þú þarft einhverja hjálp við fdupes geturðu notað rofann '-h'.

$ fdupes -h

Usage: fdupes [options] DIRECTORY...

 -r --recurse     	for every directory given follow subdirectories
                  	encountered within
 -R --recurse:    	for each directory given after this option follow
                  	subdirectories encountered within (note the ':' at
                  	the end of the option, manpage for more details)
 -s --symlinks    	follow symlinks
 -H --hardlinks   	normally, when two or more files point to the same
                  	disk area they are treated as non-duplicates; this
                  	option will change this behavior
 -n --noempty     	exclude zero-length files from consideration
 -A --nohidden    	exclude hidden files from consideration
 -f --omitfirst   	omit the first file in each set of matches
 -1 --sameline    	list each set of matches on a single line
 -S --size        	show size of duplicate files
 -m --summarize   	summarize dupe information
 -q --quiet       	hide progress indicator
 -d --delete      	prompt user for files to preserve and delete all
                  	others; important: under particular circumstances,
                  	data may be lost when using this option together
                  	with -s or --symlinks, or when specifying a
                  	particular directory more than once; refer to the
                  	fdupes documentation for additional information
 -N --noprompt    	together with --delete, preserve the first file in
                  	each set of duplicates and delete the rest without
                  	prompting the user
 -v --version     	display fdupes version
 -h --help        	display this help message

Það er fyrir alla núna. Láttu mig vita hvernig þú varst að finna og eyða afritum skrám hingað til í Linux? og segðu mér líka þína skoðun á þessu tóli. Settu dýrmæt álit þitt í athugasemdareitinn hér að neðan og ekki gleyma að líka við/deila okkur og hjálpa okkur að dreifa okkur.

Ég er að vinna í öðru tóli sem heitir fslint til að fjarlægja tvíteknar skrár, mun brátt birta og þið munuð elska að lesa.