fdupes - Għodda tal-Linja tal-Kmand biex issib u tħassar Fajls Duplikati fil-Linux


Huwa rekwiżit komuni li jinstabu u jissostitwixxu fajls duplikati għal ħafna mill-utenti tal-kompjuter. Is-sejba u t-tneħħija ta' fajls duplikati hija biċċa xogħol goja li titlob ħin u paċenzja. Is-sejba ta' fajls duplikati tista' tkun faċli ħafna jekk il-magna tiegħek hija mħaddma minn GNU/Linux, grazzi għall-utilità 'fdupes'.

Fdupes hija utilità Linux miktuba minn Adrian Lopez fil-Lingwa ta 'programmar C rilaxxata taħt il-Liċenzja MIT. L-applikazzjoni hija kapaċi ssib fajls duplikati fis-sett partikolari ta 'direttorji u sotto-direttorji. Fdupes jirrikonoxxu duplikati billi jqabblu l-firma MD5 tal-fajls segwit minn paragun minn byte għal byte. Jistgħu jiġu mgħoddija ħafna għażliet b'Fdupes biex jelenkaw, iħassru u jissostitwixxu l-fajls b'hardlinks għal duplikati.

Il-paragun jibda fl-ordni:

paragun tad-daqs > Tqabbil tal-Firem MD5 Parzjali > Tqabbil sħiħ tal-Firem MD5 > Tqabbil minn Byte għal Byte.

Installa fdupes fuq Linux

Installazzjoni ta 'l-aħħar verżjoni ta' fdupes (verżjoni fdupes 1.51) faċli daqs li taħdem wara kmand fuq sistemi bbażati fuq Debian bħal Ubuntu u Linux Mint.

$ sudo apt-get install fdupes

Fuq sistemi bbażati fuq CentOS/RHEL u Fedora, għandek bżonn tixgħel ir-repożitorju epel biex tinstalla l-pakkett fdupes.

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

Nota: Il-maniġer tal-pakkett default yum huwa sostitwit b'dnf minn Fedora 22 'il quddiem...

Kif tuża l-kmand fdupes?

1. Għal skop ta' dimostrazzjoni, ejja noħolqu ftit fajls duplikati taħt direttorju (jiġifieri tecmint) sempliċement bħala:

$ 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

Wara li taħdem fuq il-kmand, ejja nivverifikaw li l-fajls duplikati jinħolqu jew ma jużawx il-kmand ls.

$ 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

L-iskrittura t'hawn fuq toħloq 15-il fajl jiġifieri tecmint1.txt, tecmint2.txt... tecmint15.txt u kull fajl fih l-istess data jiġifieri,

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

2. Issa fittex fajls duplikati fil-folder 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. Fittex duplikati b'mod rikorsiv taħt kull direttorju inkluż is-sub-direttorji tiegħu billi tuża l-għażla -r.

Hija tfittex madwar il-fajls u l-fowlder kollha b'mod rikorsiv, skont in-numru ta 'fajls u folders, se tieħu xi żmien biex tiskennja d-duplikati. F'dak iż-żmien medju, inti ser tiġi ppreżentata bil-progress totali fit-terminal, xi ħaġa bħal din.

$ fdupes -r /home

Progress [37780/54747] 69%

4. Ara d-daqs tad-duplikati misjuba fi ħdan folder billi tuża l-għażla -S.

$ 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. Tista 'tara d-daqs tal-fajls duplikati għal kull direttorju u subdirettorji li jiltaqgħu magħhom billi tuża l-għażliet -S u -r fl-istess ħin, kif:

$ 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. Minbarra t-tiftix f'folder wieħed jew il-folders kollha b'mod rikorsiv, tista 'tagħżel li tagħżel f'żewġ folders jew tliet folders kif meħtieġ. Biex ma nsemmux tista' tuża l-għażla -S u/jew -r jekk meħtieġ.

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

7. Biex tħassar il-fajls duplikati filwaqt li tippreserva kopja tista’ tuża l-għażla ‘-d’. Għandha tingħata attenzjoni żejda waqt li tuża din l-għażla inkella tista 'tispiċċa titlef il-fajls/data meħtieġa u f'moħħok li l-proċess ma jistax jiġi rkuprat.

$ 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]: 

Tista 'tinnota li d-duplikati kollha huma elenkati u inti mħeġġa tħassar, jew wieħed wieħed jew ċertu firxa jew kollha f'daqqa. Tista 'tagħżel firxa xi ħaġa bħal hawn taħt biex tħassar fajls fajls ta' firxa speċifika.

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. Mill-aspett tas-sigurtà, tista 'tixtieq tipprintja l-output ta' 'fdupes' għall-fajl u mbagħad iċċekkja l-fajl tat-test biex tiddeċiedi liema fajl tħassar. Dan inaqqas iċ-ċansijiet li l-fajl tiegħek jitħassar aċċidentalment. Tista' tagħmel:

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

Nota: Tista' tissostitwixxi '/home' bil-folder mixtieq tiegħek. Uża wkoll l-għażla '-r' u '-S' jekk trid tfittex b'mod rikorsiv u Print Size, rispettivament.

9. Tista’ tħalli barra l-ewwel fajl minn kull sett ta’ logħbiet billi tuża l-għażla ‘-f’.

L-ewwel Lista fajls tad-direttorju.

$ 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

u mbagħad tħalli barra l-ewwel fajl minn kull sett ta 'logħbiet.

$ 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. Iċċekkja l-verżjoni installata tal-fdupes.

$ fdupes --version

fdupes 1.51

11. Jekk għandek bżonn xi għajnuna fuq fdupes tista’ tuża swiċċ ‘-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

Dak għal kulħadd issa. Let me know kif kont qed issib u tħassar fajls duplikati sa issa fil-Linux? u għidli wkoll l-opinjoni tiegħek dwar din l-utilità. Poġġi l-feedback siewi tiegħek fit-taqsima tal-kummenti hawn taħt u tinsiex li jħobbna/taqsamna u għinna nfirxu.

Qed naħdem fuq utilità oħra msejħa fslint biex inneħħi fajls duplikati, dalwaqt se nippubblika u intom inħobbu taqraw.