شما برای مطالعه این مقاله فقط 9 دقیقه وقت نیاز دارید

delete-duplicated-files-in-linux
دسته بندی : آموزش لینوکس

حذف فایل های تکراری در لینوکس با ۶ ابزار کاربردی

5/5 - (2 امتیاز)

اگر تا الان نتوانسته اید یا نخواسته اید فایل های سیستم لینوکس خود را به صورت منظم سازماندهی کنید و با سیل عظیمی از فایل های تکراری روبرو هستید که حجم هارد شما را اشغال کرده اند، با استفاده از ابزارهای حذف فایل های تکراری در لینوکس می توانید این فایل ها را شناسایی کرده و از سیستم خود حذف کنید.

ابزارهای زیادی برای شناسایی و حذف فایل های تکراری وجود دارند که بعضی از آنها مثل Rdfind و Fdupe مبتنی بر خط فرمان هستید و بعضی از ابزارها مثل DupeGuru و Czkawka دارای رابط گرافیکی هستند.

البته، با خرید سرور مجازی لینوکس می توانید صاحب یک سیستم سریع با کارایی بالا شوید که فضای بهتری را برای مدیریت فایل های تکراری در اختیار شما قرار می دهد تا هرج و مرج های موجود را به حداقل برسانید.

۳ ابزار مبتنی بر خط فرمان برای حذف فایل های تکراری در لینوکس

این ابزار ها کار حذف فایل های تکراری در لینوکس را از طریق ترمینال انجام می دهند:

۱. Rdfind

Rdfind یکی از ابزارهای رایگان لینوکسی است که امکان شناسایی، حذف و یا جابه جایی فایل های تکراری را به شما می دهد.

این ابزار، تمام دایرکتوری ها را به صورت بازگشتی اسکن می کند، فایل هایی که دارای محتوای یکسانی هستند را شناسایی می کند (بدون توجه به هم اسم بودن فایل ها) و تصمیم را بر عهده شما می گذارد که این فایل ها را حذف کنید یا اینکه به فولدر دیگری منتقل کنید.

برای شروع استفاده از Rdfind، ابتدا باید آن را نصب کنید.

ابتدا با دستور Rdfind –version بررسی کنید که این ابزار در سیستم شما نصب است یا نه.

اگر بعد از بررسی خروجی، متوجه شدید که سیستم شما دارای چنین ابزاری نیست، دستور نصب Rdfind را اجرا کنید:

دستور نصب Rdfind در اوبونتو – دبیان

sudo apt install rdfind

دستور نصب Rdfind در CenOS – فدورا

sudo dnf install rdfind

یا

sudo yum install rdfind

دستور نصب Rdfind در آرچ لینوکس

sudo pacman -S rdfind

دستور نصب Rdfind در openSUSE

sudo zypper install rdfind

بعد از نصب موفقیت آمیز این دستور، نوبت به استفاده از آن می رسد.

مسیر دایرکتوری موردنظر را در دستور rdfind لحاظ کنید تا پروسه پاکسازی آن شروع شود:

rdfind /home/user

Rdfind، نتایج حاصل از اسکن این دایرکتوری را در یک فایل تحت عنوان results.txt ثبت می کند و در همان مسیر دایرکتوری موردنظر ذخیره می کند.محتویات فایل results

این فایل، لیست فایل های تکراری را به همراه جزئیات مکان نشان می دهد که می توانید بررسی های لازم را انجام داده و این فایل ها را به صورت دستی حذف کنید.

البته، Rdfind یک آپشن مخصوص برای حذف فایل های تکراری دارد که اگر این پروسه حذف فایل های تکراری در لینوکس برایتان حساس و ریسکی نیست، می توانید از این آپشن برای حذف آنها استفاده کنید:

rdfind -deleteduplicates true /home/user

با اجرای این دستور، Rdfind بر اساس یک سری معیار مثل اولویت بندی بر اساس اسم و مسیر فایل ها، اخرین زمان دسترسی و …، یک نسخه را به عنوان نسخه اصلی انتخاب می کند و بقیه فایل های تکراری که به اصطلاح نسخه های کپی از نسخه اصلی هستند را حذف می کند.

برای کسب اطلاعات بیشتر در مورد دستور Rdfind و آپشن های متنوع آن، می توانید از دستور زیر کمک بگیرید:

man rdfind

rdfind -h

۲. Fdupes

Fdupes یکی دیگر از ابزارهای CLI است که با مقایسه اندازه و محتوای فایل ها، آیتم های تکراری را شناسایی می کند و به شما نمایش می دهد.

این ابزار آپشن های متنوعی را در اختیار شما قرار می دهد که با استفاده از آنها می توانید نحوه برخورد با فایل های تکراری فولدر موردنظر را خودتان تعیین کنید.

برای شروع استفاده از این ابزار، ابتدا باید آن را نصب کنید:

دستور نصب Fdupes در اوبونتو – دبیان

sudo apt install fdupes

دستور نصب Fdupes در CenOS – فدورا

sudo dnf install fdupes

یا

sudo yum install fdupes

دستور نصب Fdupes در آرچ لینوکس

sudo pacman -S fdupes

دستور نصب Fdupes در openSUSE

sudo zypper install fdupes

اکنون می توانید با بهره گیری از آپشن های Fdupes، شروع به اسکن و حذف فایل های تکراری در لینوکس کنید.

اگر فقط می خواهید دایرکتوری موردنظر را اسکن کنید و فایل های تکراری آن را شناسایی کنید، مسیر دایرکتوری را دستور زیر را لحاظ کنید و آن را اجرا کنید:

fdupes Path/of/dir

برای این که این اسکن به صورت بازگشتی انجام شود و دایرکتوری های موجود در مسیر موردنظر به صورت تو در تو بررسی شوند، باید آپشن r را به دستور اضافه کنید:

fdupes -r Path/of/dir

این ابزار هم مثل Rdfind، هیچ فایلی را به طور خودکار حذف نمی کند ولی اگر می خواهید به جای حذف دستی فایل های شناسایی شده، از خود fdupes بخواهید که فایل های تکراری را حذف کند، می توانید از آپشن d کمک بگیرید:

fdupes -d Path/of/dir

با اجرای این دستور، یک صفحه باز می شود که باید به صورت تعاملی، نسخه هایی که نمی خواهید را انتخاب کنید و در آخر کار، prune را تایپ کنید و اینتر را بزنید تا تمام فایل های انتخاب شده حذف شوند.حذف فایل های تکراری در لینوکس با fdupes

اگر هم نمی خواهید فایل های کپی را خودتان انتخاب کنید، کافیست آپشن noprompt را در دستور لحاظ کنید تا خود دستور، تمام فایل های کپی را حذف کند و فقط یک نسخه اصلی را نگه دارد.

fdupes -d -noprompt Path/of/dir

برای آشنایی بیشتر با آپشن ها و قابلیت های دستور fdupes می توانید از دو دستور زیر استفاده کنید:

man fdupes

fdupes -h

۳. Rmlint

Rmlint یکی دیگر از ابزارهای رایگان برای پاک کردن فایل های تکراری در لینوکس است که فایل های حاوی محتوای یکسان، فایل های خالی، لینک های نمادین شکسته و فایل های بدون استفاده را شناسایی می کند و آن ها را تحت قالب یک اسکریپت shell ذخیره می کند.

برای استفاده از Rmlint، ابتدا باید آن را نصب کنید:

دستور نصب Rmlint در اوبونتو – دبیان

sudo apt install rmlint

دستور نصب Rmlint در CenOS – فدورا

sudo dnf install rmlint

یا

sudo yum install rmlint

دستور نصب Rmlint در آرچ لینوکس

sudo pacman -S rmlint

دستور نصب Rmlint در openSUSE

sudo zypper install rmlint

برای اسکن فایل های موجود در مسیر موردنظر و مشاهده گزارشات حاصل در ترمینال، دستور rmlint را به صورت زیر اجرا کنید:

rmlint Path/of/dir

این دستور، در همان مسیر یک اسکریپت shell به اسم rmlint.sh ایجاد می کند که می توانید از آن برای حذف فایل های تکراری استفاده کنید.

ابتدا، محض احتیاط بهتر است اسکریپت را بررسی کنید تا در صورت نیاز، ویرایش های لازم را انجام دهید:

gedit rmlint.sh

سپس می توانید این اسکریپت را اجرا کنید تا فایل های تکراری حذف شوند:

./rmlint.sh

برای آشنایی بیشتر با انواع آپشن های ابزار rmlint می توانید از دو دستور زیر کمک بگیرید:

man rmlint

rmlint -h

۳ ابزار گرافیکی برای پاک کردن فایل های تکراری در لینوکس

اگر علاقه ای به استفاده از ابزارهای مبتنی بر خط فرمان ندارید، می توانید از ابزارهای زیر که این کار را به صورت گرافیکی برای شما انجام می دهند، استفاده کنید.

کلیک کنید  آموزش نصب و راه اندازی SSH در اوبونتو

۱. Czkawka

شاید اسم Czkawka کمی آزردهنده باشد ولی عملکرد عالی آن در جستجو و حذف فایل های تکراری غیرقابل انکار است. 

رابط کاربری گرافیکی و خط فرمان، جستجوی سریع و چند نخی فایل ها و پشتیبانی از فرمت های مختلف مثل تصاویر، ویدیوها، فایل های متنی و … از برجسته ترین ویژگی های ابزار Czkawka هستند.

برای شروع استفاده از این ابزار، ابتدا باید آن را نصب کنید:

نصب Czkawka در اوبونتو – دبیان

  • مدیربسته snap را نصب کنید:
sudo apt update

sudo apt install snapd
  • سپس Czkawka را با snap نصب کنید:
sudo snap install czkawka

نصب Czkawka در CentOS

  • ریپازیتوری EPEL را به سیستم اضافه کنید:
sudo yum install epel-release
  • مدیربسته snap را نصب کنید:
sudo yum install snapd
  • سوکت snapd را فعال کنید:
sudo systemctl enable --now snapd.socket
  • سیملینک snap را ایجاد کنید:
sudo ln -s /var/lib/snapd/snap /snap
  • سپس Czkawka را با snap نصب کنید:
sudo yum install czkawka

نصب Czkawka در فدورا

  • مدیربسته snap را نصب کنید:
sudo dnf install snapd
  • سیستم خود را ریستارت کنید.
  • سیملینک snap را ایجاد کنید:
sudo ln -s /var/lib/snapd/snap /snap
  • سپس Czkawka را با snap نصب کنید:
sudo dnf install czkawka

نصب Czkawka در آرچ لینوکس

  • پیش نیازهای نصب پکیج AUR را نصب کنید:
git clone https://aur.archlinux.org/snapd.git

cd snapd

makepkg -si
  • سوکت snapd را فعال کنید:
sudo systemctl enable --now snapd.apparmor.service
  • سیملینک snap را ایجاد کنید:
sudo ln -s /var/lib/snapd/snap /snap
  • سپس Czkawka را با snap نصب کنید:
sudo snap install czkawka

نصب Czkawka در OpenSUSE

  • ریپازیتوری snappy را به سیستم اضافه کنید:
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.5 snappy
  • کلید GPG را ایمپورت کنید:
sudo zypper --gpg-auto-import-keys refresh
  • کش پکیج snappy را آپگرید کنید:
sudo zypper dup --from snappy
  • مدیر بسته snap را نصب کنید:
sudo zypper install snapd
  • سیستم را ریستارت کنید.
  • سرویس های snapd را فعال کنید:
sudo systemctl enable --now snapd

sudo systemctl enable --now snapd.apparmor
  • سپس Czkawka را با snap نصب کنید:
sudo snap install czkawka

سپس برنامه مربوط به Czkawka را باز کنید.

  • روی دکمه add کلیک کنید، فولدرهای موردنظر برای اسکن را انتخاب کنید، روی search کلیک کنید و اجازه دهید Czkawka کار خود را انجام دهد.

* اگر می خواهید فولدر یا فولدرهای موردنظر به صورت بازگشتی اسکن شوند، گزینه recersive را علامت بزنید.اسکن فایل ها با CZKAWKA

  • سرعت انجام این اسکن بر حسب حجم فولدرهای انتخاب شده و قدرت پردازشی سیستم ها متغیر است ولی باید صبر کنید تا این پروسه تکمیل شود.شناسایی فایل های تکراری در لینوکس

فایل های تکراری در کنار هم قرار می گیرند و با فایل های دیگر یک خط فاصله دارند که به این صورت می توان آن ها را از هم تفکیک کرد.

  • بعد از بررسی نتایج، می توانید نسخه های کپی غیرضروری را انتخاب کنید و با کلیک روی delete، حذف کنید.حذف فایل های تکراری در لینوکس با CZKAWKA

ولی این ابزار، آپشن ها و امکانات ارزشمند دیگری هم دارد که می توانید با کندوکاو بیشتر، به هدف هر کدام از آنها پی ببرید.

۲. dupeGuru

dupeGuru هم کار حذف فایل های تکراری در لینوکس را به صورت گرافیکی انجام می دهد ولی نسبت به Czkawka ساده تر و مینیمال تر است.

برای نصب dupeGuru، مراحل مربوط به توزیع سیستم لینوکس خود را طی کنید:

دستور نصب dupeGuru در اوبونتو – دبیان

sudo apt install dupeguru

دستور نصب dupeGuru در CenOS – فدورا

sudo yum install dupeguru

یا

sudo dnf install dupeguru

دستور نصب dupeGuru در آرچ لینوکس

sudo pacman -S dupeguru

دستور نصب dupeGuru در openSUSE

sudo zypper install dupeguru

سپس برنامه DupeGuru را از سیستم جستجو و باز کنید.

  • روی آیکون + کلیک کنید و دایرکتوری های موردنظر را اضافه کنید.انتخاب فولدر موردنظر
  • از قسمت scan type نوع اسکن را انتخاب کنید. اگر می خواهید اسکن فایل های تکراری بر اساس محتویات آنها انجام شود، همان contents را انتخاب کنید.انتخاب نوع مقایسه
  • از قسمت more options، گزینه های موردنیاز خود را علامت بزنید.آپشن های ابزار dupeguru
  • در نهایت، روی دکمه scan کلیک کنید تا فایل ها بررسی شوند.اسکن فایل های موجود در سیستم لینوکس

هدرها به صورت آبی ظاهر می شوند و فایل هایی که تکراری محسوب می شوند در زیر هر کدام از هدرها دسته بندی شده اند که این ویژگی، تفکیک فایل های تکراری را برای شما راحت تر می کنند.

  • بعد از اینکه بررسی ها و تغییرات لازم را انجام دادید، می توانید از قسمت actions نوع عملیات موردنظر مثل remove marked from results که برای حذف فایل های علامت دار است را انتخاب کند.حذف فایل های تکراری در لینوکس با dupeguru

با بررسی بخش ها و آپشن های مختلف این ابزار می توانید درک بهتری از کارایی این ابزار کاربردی داشته باشید.

۳. FSlint

این ابزار هم برای تمیزسازی فایل سیستم از فایل های تکراری استفاده می شوند و درست مثل، Czkawka یک گزارش کامل از فایل های تکراری، دایرکتوری های خالی، فایل های موقت و … ارائه می دهد که می توانید در مورد آنها تصمیم گیری کنید.

فقط بهتر است به این نکته اشاره کنیم که این ابزار از ۲۰۱۳ به بعد آپدیت نشده است و ممکن است با نسخه های جدیدتر لینوکس ناسازگار باشد.

برای شروع استفاده از FSlint، ابتدا باید آن را نصب کنید:

دستور نصب FSlint در اوبونتو – دبیان

sudo apt install fslint

دستور نصب FSlint در CenOS – فدورا

sudo yum install fslint

یا

sudo dnf install fslint

دستور نصب FSlint در آرچ لینوکس

sudo pacman -S fslint

دستور نصب FSlint در openSUSE

sudo zypper install fslint

بعد از اینکه برنامه FSlint را در سیستم خود باز کردید، با صفحه اس مواجه خواهید شد که شباهت زیادی به ابزار Czkawka دارد.

  • با دکمه add فولدرهای موردنظر را انتخاب کنید.
  • روی دکمه find کلیک کنید تا اسکن شروع شود.انتخاب فولدر برای اسکن
  • سپس با بررسی بخش duplicated files می توانید نسخه هایی که نیازی به آنها ندارید را انتخاب کنید و با استفاده از دکمه delete حذف کنید.حذف فایل های تکراری در لینوکس

البته، آپشن های و قابلیت های دیگری هم وجود دارند که به شما کمک می کنند فایل های سیستم خود را با سرعت و کیفیت بالاتر سازماندهی کنید.

سخن آخر

ابزارهای زیادی برای پاک کردن فایل های تکراری در لینوکس وجود دارند که در این مقاله ۵ مورد از بهترین ها را معرفی کردیم و این شما هستید که باید بر اساس نیازها و شرایط خود یکی از آنها را انتخاب کنید و به فایل های سیستم خود سروسامان دهید. اگر به دنبال راه های دیگری برای استفاده بهینه از فضای هارد خود هستید، می توانید روش های خالی کردن فایل های حجیم در لینوکس را هم امتحان کنید.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید