حذف فایل های تکراری در لینوکس با ۶ ابزار کاربردی
اگر تا الان نتوانسته اید یا نخواسته اید فایل های سیستم لینوکس خود را به صورت منظم سازماندهی کنید و با سیل عظیمی از فایل های تکراری روبرو هستید که حجم هارد شما را اشغال کرده اند، با استفاده از ابزارهای حذف فایل های تکراری در لینوکس می توانید این فایل ها را شناسایی کرده و از سیستم خود حذف کنید.
ابزارهای زیادی برای شناسایی و حذف فایل های تکراری وجود دارند که بعضی از آنها مثل 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 ثبت می کند و در همان مسیر دایرکتوری موردنظر ذخیره می کند.
این فایل، لیست فایل های تکراری را به همراه جزئیات مکان نشان می دهد که می توانید بررسی های لازم را انجام داده و این فایل ها را به صورت دستی حذف کنید.
البته، 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 را تایپ کنید و اینتر را بزنید تا تمام فایل های انتخاب شده حذف شوند.
اگر هم نمی خواهید فایل های کپی را خودتان انتخاب کنید، کافیست آپشن 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
۳ ابزار گرافیکی برای پاک کردن فایل های تکراری در لینوکس
اگر علاقه ای به استفاده از ابزارهای مبتنی بر خط فرمان ندارید، می توانید از ابزارهای زیر که این کار را به صورت گرافیکی برای شما انجام می دهند، استفاده کنید.
۱. 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 را علامت بزنید.
- سرعت انجام این اسکن بر حسب حجم فولدرهای انتخاب شده و قدرت پردازشی سیستم ها متغیر است ولی باید صبر کنید تا این پروسه تکمیل شود.
فایل های تکراری در کنار هم قرار می گیرند و با فایل های دیگر یک خط فاصله دارند که به این صورت می توان آن ها را از هم تفکیک کرد.
- بعد از بررسی نتایج، می توانید نسخه های کپی غیرضروری را انتخاب کنید و با کلیک روی delete، حذف کنید.
ولی این ابزار، آپشن ها و امکانات ارزشمند دیگری هم دارد که می توانید با کندوکاو بیشتر، به هدف هر کدام از آنها پی ببرید.
۲. 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، گزینه های موردنیاز خود را علامت بزنید.
- در نهایت، روی دکمه scan کلیک کنید تا فایل ها بررسی شوند.
هدرها به صورت آبی ظاهر می شوند و فایل هایی که تکراری محسوب می شوند در زیر هر کدام از هدرها دسته بندی شده اند که این ویژگی، تفکیک فایل های تکراری را برای شما راحت تر می کنند.
- بعد از اینکه بررسی ها و تغییرات لازم را انجام دادید، می توانید از قسمت actions نوع عملیات موردنظر مثل remove marked from results که برای حذف فایل های علامت دار است را انتخاب کند.
با بررسی بخش ها و آپشن های مختلف این ابزار می توانید درک بهتری از کارایی این ابزار کاربردی داشته باشید.
۳. 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 حذف کنید.
البته، آپشن های و قابلیت های دیگری هم وجود دارند که به شما کمک می کنند فایل های سیستم خود را با سرعت و کیفیت بالاتر سازماندهی کنید.
سخن آخر
ابزارهای زیادی برای پاک کردن فایل های تکراری در لینوکس وجود دارند که در این مقاله ۵ مورد از بهترین ها را معرفی کردیم و این شما هستید که باید بر اساس نیازها و شرایط خود یکی از آنها را انتخاب کنید و به فایل های سیستم خود سروسامان دهید. اگر به دنبال راه های دیگری برای استفاده بهینه از فضای هارد خود هستید، می توانید روش های خالی کردن فایل های حجیم در لینوکس را هم امتحان کنید.