fdupes - Ọpa laini Commandfin kan lati Wa ati Paarẹ Awọn faili ẹda ni Linux


O jẹ ibeere ti o wọpọ lati wa ati rọpo awọn faili ẹda fun ọpọlọpọ awọn olumulo kọmputa naa. Wiwa ati yiyọ awọn faili ẹda meji jẹ iṣẹ ti o lagbara ti o nbeere akoko ati suuru. Wiwa awọn faili ẹda-ẹda le jẹ irọrun pupọ ti ẹrọ rẹ ba ni agbara nipasẹ GNU/Linux, o ṣeun si iwulo 'fdupes'.

Fdupes jẹ iwulo Linux ti Adrian Lopez kọ ni C siseto Ede ti a tu silẹ labẹ Iwe-aṣẹ MIT. Ohun elo naa ni anfani lati wa awọn faili ẹda meji ninu ṣeto awọn ilana ati awọn ilana-ipin ti a fun. Awọn Fdupes ṣe idanimọ awọn ẹda-iwe nipasẹ fifiwewe ibuwọlu MD5 ti awọn faili atẹle pẹlu ifiwera baiti-si-baiti. Ọpọlọpọ awọn aṣayan ni a le kọja pẹlu Fdupes lati ṣe atokọ, paarẹ ati rọpo awọn faili pẹlu awọn ọna asopọ lile si awọn ẹda-ẹda.

Ifiwera bẹrẹ ni aṣẹ:

lafiwe iwọn> Afiwe Ibuwọlu MD5 Apakan> Ifiwera Ibuwọlu MD5> Ifiwera Baiti-si-Baiti.

Fi fdupes sori Linux kan

Fifi sori ẹrọ ti ẹya tuntun ti awọn fdupes (ẹya fdupes 1.51) bi irọrun bi ṣiṣiṣẹ atẹle atẹle lori awọn eto orisun Debian bii Ubuntu ati Mint Linux.

$ sudo apt-get install fdupes

Lori CentOS/RHEL ati awọn eto ipilẹ Fedora, o nilo lati tan ibi ipamọ epel lati fi sori ẹrọ package fdupes.

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

Akiyesi: A ti rọpo oluṣakoso package aiyipada yum nipasẹ dnf lati Fedora 22 siwaju…

Bii o ṣe le lo pipaṣẹ fdupes?

1. Fun idi ifihan, jẹ ki a ṣẹda awọn faili ẹda meji diẹ labẹ itọsọna kan (sọ tecmint) ni irọrun bii:

$ 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

Lẹhin ti o nṣiṣẹ loke aṣẹ, jẹ ki a ṣayẹwo awọn faili ẹda meji ti a ṣẹda tabi kii ṣe lilo aṣẹ 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

Iwe afọwọkọ ti o wa loke ṣẹda awọn faili 15 eyun tecmint1.txt, tecmint2.txt… tecmint15.txt ati gbogbo awọn faili ni data kanna ni ie,

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

2. Bayi wa fun awọn faili ẹda meji laarin tecmint folda naa.

$ 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. Wa fun awọn ẹda-iwe ni igbasilẹ labẹ gbogbo itọsọna pẹlu pẹlu awọn ilana-iha labẹ lilo aṣayan -r.

O wa kọja gbogbo awọn faili ati folda ni atunkọ, da lori nọmba awọn faili ati awọn folda o yoo gba akoko diẹ lati ṣayẹwo awọn ẹda. Ni akoko itumo yẹn, iwọ yoo gbekalẹ pẹlu ilọsiwaju lapapọ ni ebute, nkan bii eleyi.

$ fdupes -r /home

Progress [37780/54747] 69%

4. Wo iwọn awọn ẹda ti a rii laarin folda kan nipa lilo aṣayan -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. O le wo iwọn awọn faili ẹda meji fun gbogbo itọsọna ati awọn ipin-iṣẹ alabapade laarin lilo awọn aṣayan -S ati -r ni akoko kanna, bii:

$ 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. Omiiran ju wiwa ni folda kan tabi gbogbo awọn folda lọkọọkan, o le yan lati yan ninu awọn folda meji tabi awọn folda mẹta bi o ti nilo. Lai mẹnuba o le lo aṣayan -S ati/tabi -r ti o ba nilo.

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

7. Lati paarẹ awọn faili ẹda meji lakoko ti o tọju ẹda kan o le lo aṣayan '-d'. O yẹ ki o ṣe itọju ni afikun lakoko lilo aṣayan miiran o le pari fifa awọn faili pataki/data silẹ ki o ṣe akiyesi pe ilana naa ko ṣee ṣe atunṣe.

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

O le ṣe akiyesi pe gbogbo awọn ẹda-iwe ti wa ni atokọ ati pe o ti ṣetan lati paarẹ, boya ọkan nipasẹ ọkan tabi ibiti o daju tabi gbogbo ni lọ kan. O le yan ibiti ohunkan bii ni isalẹ lati paarẹ awọn faili faili ti sakani kan pato.

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. Lati oju iwoye aabo, o le fẹ lati tẹjade iṣẹjade ti 'fdupes' lati faili lẹhinna ṣayẹwo faili ọrọ lati pinnu kini faili lati paarẹ. Eyi dinku awọn aye lati jẹ ki faili rẹ paarẹ lairotẹlẹ. O le ṣe:

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

Akiyesi: O le ropo ‘/ ile’ pẹlu folda ti o fẹ. Tun lo aṣayan '-r' ati '-S' ti o ba fẹ lati wa atunkọ ati Tẹjade Iwọn, lẹsẹsẹ.

9. O le fi faili akọkọ silẹ lati ṣeto awọn ere-kere kọọkan nipa lilo aṣayan ‘-f’.

Awọn faili Akojọ akọkọ ti itọsọna naa.

$ 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

ati lẹhinna fi faili akọkọ silẹ lati ṣeto awọn ere-kere kọọkan.

$ 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. Ṣayẹwo ẹya ti a fi sori ẹrọ ti awọn fdupes.

$ fdupes --version

fdupes 1.51

11. Ti o ba nilo iranlọwọ eyikeyi lori awọn fdupes o le lo yipada ‘-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

Iyẹn ni fun gbogbo bayi. Jẹ ki n mọ bii o ṣe n wa ati paarẹ awọn faili ẹda meji titi di isisiyi ni Linux? ati tun sọ fun mi ero rẹ nipa iwulo yii. Fi awọn esi ti o niyelori rẹ si apakan ọrọ asọye ni isalẹ ki o maṣe gbagbe lati fẹ/pin wa ki o ṣe iranlọwọ fun wa lati tan kaakiri.

Mo n ṣiṣẹ lori ohun elo miiran ti a pe ni fslint lati yọ awọn faili ẹda, yọ laipe yoo firanṣẹ ati pe eniyan yoo nifẹ lati ka.