কম্পিউটার টিউটোরিয়াল

fdupes:লিনাক্সে ডুপ্লিকেট ফাইলগুলি সন্ধান এবং সরানোর জন্য দক্ষ কমান্ড-লাইন টুল

বেশিরভাগ কম্পিউটার ব্যবহারকারীদের জন্য ডুপ্লিকেট ফাইলগুলি খুঁজে বের করা এবং প্রতিস্থাপন করা একটি সাধারণ প্রয়োজন। ডুপ্লিকেট ফাইল খুঁজে বের করা এবং অপসারণ করা একটি ক্লান্তিকর কাজ যা সময় এবং ধৈর্যের দাবি করে। আপনার মেশিন GNU/Linux দ্বারা চালিত হলে ডুপ্লিকেট ফাইলগুলি খুঁজে পাওয়া খুব সহজ হতে পারে, ‘fdupes কে ধন্যবাদ। ' ইউটিলিটি।

fdupes:লিনাক্সে ডুপ্লিকেট ফাইলগুলি সন্ধান এবং সরানোর জন্য দক্ষ কমান্ড-লাইন টুল Fdupes – লিনাক্সে ডুপ্লিকেট ফাইলগুলি খুঁজুন এবং মুছুন

fdupes কি?

Fdupes Adrian Lopez দ্বারা লেখা একটি লিনাক্স ইউটিলিটি C-এ এমআইটি লাইসেন্সের অধীনে প্রকাশিত প্রোগ্রামিং ভাষা। অ্যাপ্লিকেশনটি প্রদত্ত ডিরেক্টরি এবং সাব-ডিরেক্টরিগুলির সদৃশ ফাইলগুলি খুঁজে পেতে সক্ষম। Fdupes ফাইলের MD5 স্বাক্ষর তুলনা করে এবং একটি বাইট-টু-বাইট তুলনা করে ডুপ্লিকেট সনাক্ত করে। ডুপ্লিকেটের হার্ডলিঙ্ক সহ ফাইলগুলিকে তালিকাভুক্ত করতে, মুছতে এবং প্রতিস্থাপন করতে Fdupes-এর মাধ্যমে অনেকগুলি বিকল্প পাস করা যেতে পারে৷

তুলনাটি এই ক্রমে শুরু হয়:

আকার তুলনা> আংশিক MD5 স্বাক্ষর তুলনা> সম্পূর্ণ MD5 স্বাক্ষর তুলনা> বাইট-টু-বাইট তুলনা .

লিনাক্সে fdupes ইনস্টল করুন

fdupes এর সর্বশেষ সংস্করণ (fdupes সংস্করণ 1.51) ইনস্টল করা Debian-এ নিম্নলিখিত কমান্ড চালানোর মতোই সহজ ভিত্তিক সিস্টেম যেমন উবুন্টু এবং লিনাক্স মিন্ট .

$ sudo apt-get install fdupes

CentOS-এ /RHEL এবং ফেডোরা সিস্টেম ভিত্তিক, আপনাকে fdupes প্যাকেজ ইনস্টল করতে epel সংগ্রহস্থল চালু করতে হবে।

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

দ্রষ্টব্য :ডিফল্ট প্যাকেজ ম্যানেজার yum dnf দ্বারা প্রতিস্থাপিত হয় Fedora 22 থেকে পরবর্তীতে…

কিভাবে fdupes কমান্ড ব্যবহার করবেন?

1। প্রদর্শনের উদ্দেশ্যে, আসুন একটি ডিরেক্টরির অধীনে কয়েকটি ডুপ্লিকেট ফাইল তৈরি করি (বলুন tecmint ) সহজভাবে:

$ 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

উপরের কমান্ডটি চালানোর পরে, আসুন যাচাই করি যে ডুপ্লিকেট ফাইলগুলি তৈরি হয়েছে নাকি 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

উপরের স্ক্রিপ্টটি 15 তৈরি করে ফাইলগুলি যথা tecmint1.txt, tecmint2.txt…tecmint15.txt এবং প্রতিটি ফাইলে একই ডেটা থাকে যেমন,

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

2। এখন 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. -r ব্যবহার করে এর সাব-ডিরেক্টরি সহ প্রতিটি ডিরেক্টরির অধীনে পুনরাবৃত্তিমূলকভাবে সদৃশ অনুসন্ধান করুন বিকল্প।

এটি সমস্ত ফাইল এবং ফোল্ডার জুড়ে পুনরাবৃত্তভাবে অনুসন্ধান করে, ফাইল এবং ফোল্ডারের সংখ্যার উপর নির্ভর করে ডুপ্লিকেট স্ক্যান করতে কিছুটা সময় লাগবে। এই সময়ের মধ্যে, আপনাকে টার্মিনালে মোট অগ্রগতি উপস্থাপন করা হবে, এরকম কিছু।

$ fdupes -r /home
Progress [37780/54747] 69%

4. -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। আপনি -S ব্যবহার করে সম্মুখীন প্রতিটি ডিরেক্টরি এবং সাবডিরেক্টরির জন্য ডুপ্লিকেট ফাইলের আকার দেখতে পারেন এবং -r একই সময়ে বিকল্পগুলি, যেমন:

$ 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. একটি ফোল্ডার বা সমস্ত ফোল্ডারে বারবার অনুসন্ধান করা ছাড়া, আপনি প্রয়োজন অনুসারে দুটি ফোল্ডার বা তিনটি ফোল্ডার বেছে নিতে পারেন। উল্লেখ করার মতো নয় আপনি -S বিকল্পটি ব্যবহার করতে পারেন এবং/অথবা -r যদি প্রয়োজন হয়।

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

7. একটি অনুলিপি সংরক্ষণ করার সময় ডুপ্লিকেট ফাইলগুলি মুছতে আপনি '-d' বিকল্পটি ব্যবহার করতে পারেন . এই বিকল্পটি ব্যবহার করার সময় অতিরিক্ত যত্ন নেওয়া উচিত অন্যথায় আপনি প্রয়োজনীয় ফাইল/ডেটা হারাতে পারেন এবং মনে রাখবেন যে প্রক্রিয়াটি পুনরুদ্ধারযোগ্য নয়।

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

আপনি লক্ষ্য করতে পারেন যে সমস্ত ডুপ্লিকেট তালিকাভুক্ত করা হয়েছে এবং আপনাকে একের পর এক বা নির্দিষ্ট পরিসরে বা একযোগে মুছে ফেলার জন্য অনুরোধ করা হচ্ছে। আপনি নির্দিষ্ট পরিসরের ফাইল ফাইল মুছে ফেলার জন্য নীচের মত কিছু একটি পরিসর নির্বাচন করতে পারেন৷

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। নিরাপত্তার দৃষ্টিকোণ থেকে, আপনি 'fdupes'-এর আউটপুট প্রিন্ট করতে পছন্দ করতে পারেন ফাইল করতে এবং তারপরে কোন ফাইলটি মুছতে হবে তা নির্ধারণ করতে পাঠ্য ফাইলটি পরীক্ষা করুন। এতে আপনার ফাইল ভুলবশত মুছে যাওয়ার সম্ভাবনা কমে যায়। আপনি করতে পারেন:

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

দ্রষ্টব্য :আপনি '/home' প্রতিস্থাপন করতে পারেন আপনার পছন্দসই ফোল্ডারের সাথে। এছাড়াও '-r' বিকল্প ব্যবহার করুন এবং ‘-S’ আপনি যদি যথাক্রমে পুনরাবৃত্ত এবং প্রিন্ট সাইজ অনুসন্ধান করতে চান।

9. '-f' বিকল্প ব্যবহার করে আপনি ম্যাচের প্রতিটি সেট থেকে প্রথম ফাইলটি বাদ দিতে পারেন .

ডিরেক্টরির প্রথম তালিকা ফাইল।

$ 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

এবং তারপর ম্যাচের প্রতিটি সেট থেকে প্রথম ফাইলটি বাদ দিন।

$ 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। fdupes-এর ইনস্টল করা সংস্করণ চেক করুন।

$ fdupes --version
fdupes 1.51

11। fdupes-এ আপনার কোনো সাহায্যের প্রয়োজন হলে আপনি ‘-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

এটাই এখন সবার জন্য। আমাকে জানান যে আপনি লিনাক্সে এখন পর্যন্ত ডুপ্লিকেট ফাইলগুলি কীভাবে খুঁজেছেন এবং মুছেছেন? এবং এই ইউটিলিটি সম্পর্কে আপনার মতামত আমাকে বলুন। নীচের মন্তব্য বিভাগে আপনার মূল্যবান মতামত দিন এবং আমাদের লাইক/শেয়ার করতে ভুলবেন না এবং আমাদের ছড়িয়ে দিতে সাহায্য করুন৷

আমি ডুপ্লিকেট ফাইল মুছে ফেলার জন্য fslint নামক আরেকটি ইউটিলিটি নিয়ে কাজ করছি, শীঘ্রই পোস্ট করব এবং আপনি পড়তে পছন্দ করবেন।


  1. HTML DOM কলাম অবজেক্ট

  2. HTML DOM fullscreenEnabled() পদ্ধতি

  3. বাইনারি হিপের অ্যারে প্রতিনিধিত্ব

  4. ফর্ম ইনপুট টেক্সট ক্ষেত্রে অনুমোদিত অক্ষর সংখ্যা সীমিত কিভাবে?