fdupes - Kayan aikin Layin Umurni don Nemo da Share Fayilolin Kwafi a cikin Linux


Abu ne na gama gari don nemo da maye gurbin kwafin fayiloli ga yawancin masu amfani da kwamfuta. Nemo da cire kwafin fayiloli aiki ne mai gajiyarwa wanda ke buƙatar lokaci da haƙuri. Neman kwafin fayiloli na iya zama da sauƙi idan GNU/Linux ke sarrafa injin ku, godiya ga amfanin 'fdupes'.

Fdupes mai amfani ne na Linux wanda Adrian Lopez ya rubuta a cikin Harshen shirye-shiryen C da aka saki a ƙarƙashin lasisin MIT. Aikace-aikacen yana iya samun kwafin fayiloli a cikin saitin kundayen adireshi da ƙananan kundayen adireshi. Fdupes suna gane kwafi ta hanyar kwatanta sa hannun MD5 na fayiloli tare da kwatancen byte-to-byte. Za a iya wuce zaɓuɓɓuka da yawa tare da Fdupes don jera, sharewa da maye gurbin fayiloli tare da hanyoyin haɗin kai zuwa kwafi.

Kwatancen yana farawa cikin tsari:

Kwatanta girman girman> Sashe na MD5 Kwatanta Sa hannu> Cikakken Kwatancen Sa hannu na MD5> Kwatancen Byte-zuwa-Byte.

Sanya fdupes akan Linux

Shigar da sabon sigar fdupes (fdupes sigar 1.51) mai sauƙi kamar gudanar da umarni akan tsarin tushen Debian kamar Ubuntu da Linux Mint.

$ sudo apt-get install fdupes

A kan tsarin tushen CentOS/RHEL da Fedora, kuna buƙatar kunna ma'ajiyar epel don shigar da fakitin fdupes.

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

Lura: Mai sarrafa fakitin yum ya maye gurbin dnf daga Fedora 22 gaba…

Yadda ake amfani da umarnin fdupes?

1. Don dalilai na nunawa, bari mu ƙirƙiri ƴan fayilolin kwafi a ƙarƙashin kundin adireshi (ce tecmint) a sauƙaƙe kamar:

$ 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

Bayan gudanar da umarni a sama, bari mu tabbatar cewa an ƙirƙiri fayilolin kwafin ko ba amfani da umarnin ls ba.

$ 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

Rubutun da ke sama yana ƙirƙirar fayiloli 15 wato tecmint1.txt, tecmint2.txt…tecmint15.txt kuma kowane fayil yana ɗauke da bayanai iri ɗaya wato,

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

2. Yanzu bincika fayilolin kwafi a cikin babban fayil 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. Bincika kwafi akai-akai a ƙarƙashin kowane kundin adireshi ciki har da kundin adireshi ta amfani da zaɓi -r.

Yana bincika duk fayiloli da babban fayil akai-akai, dangane da adadin fayiloli da manyan fayiloli zai ɗauki ɗan lokaci don bincika kwafi. A wannan lokacin, za a gabatar da ku tare da jimlar ci gaba a cikin tashar, wani abu kamar haka.

$ fdupes -r /home

Progress [37780/54747] 69%

4. Duba girman kwafin da aka samo a cikin babban fayil ta amfani da zaɓi -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. Kuna iya ganin girman fayilolin kwafi don kowane kundin adireshi da ƙananan bayanan da aka ci karo da su ta amfani da zaɓuɓɓukan -S da -r a lokaci guda, kamar:

$ 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. Ban da bincika babban fayil ɗaya ko duk manyan fayiloli akai-akai, kuna iya zaɓar zaɓin manyan fayiloli guda biyu ko manyan fayiloli uku kamar yadda ake buƙata. Ba a ma maganar za ku iya amfani da zaɓi -S da/ko -r idan an buƙata.

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

7. Don share fayilolin kwafin yayin adana kwafin za ku iya amfani da zaɓi '-d'. Ya kamata a ɗauki ƙarin kulawa yayin amfani da wannan zaɓin kuma za ku iya ƙarewa da kwance fayilolin/bayanai masu mahimmanci kuma ku lura cewa tsarin ba zai iya murmurewa ba.

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

Kuna iya lura cewa an jera duk kwafin ɗin kuma an sa ku goge, ko dai ɗaya bayan ɗaya ko takamaiman kewayon ko duk a tafi ɗaya. Kuna iya zaɓar kewayon wani abu kamar ƙasa don share fayilolin takamaiman kewayon.

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. Daga ra'ayi na aminci, kuna iya son buga fitarwa na 'fdupes' don yin fayil sannan duba fayil ɗin rubutu don yanke shawarar wane fayil za ku goge. Wannan yana rage damar share fayil ɗin ku da gangan. Kuna iya yin:

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

Lura: Kuna iya maye gurbin '/ gida' tare da babban fayil ɗin da kuke so. Hakanan yi amfani da zaɓi '-r' da '-S' idan kuna son bincika akai-akai da Girman Buga, bi da bi.

9. Kuna iya cire fayil ɗin farko daga kowane saitin matches ta amfani da zaɓi '-f'.

Fayilolin Lissafin Farko na directory.

$ 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

sannan a cire fayil ɗin farko daga kowane saitin matches.

$ 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. Duba shigar fdupes.

$ fdupes --version

fdupes 1.51

11. Idan kuna buƙatar kowane taimako akan fdupes kuna iya amfani da maɓalli '-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

Wannan na duka yanzu. Bari in san yadda kuke nema da goge kwafin fayiloli har yanzu a cikin Linux? sannan kuma ku gaya mani ra'ayin ku game da wannan amfanin. Sanya ra'ayoyin ku masu mahimmanci a cikin sashin sharhin da ke ƙasa kuma kar ku manta da son/raba mu da taimaka mana mu yada.

Ina aiki a kan wani utility mai suna fslint don cire kwafin fayiloli, ba da daɗewa ba za a buga kuma mutane za ku so ku karanta.