یافتن و حذف فایل های تکراری در لینوکس
سازماندهی دایرکتوری خانه یا کل سیستم شما میتواند به شدت سخت باشد حتی اگر شما اهل دانلود از اینترنت باشید.
اغلب شما ممکن است متوجه شده باشید که همان mp3، pdf، epub (و انواع دیگر پسوند های فایل) را دانلود کرده اید و آن را به دایرکتوری های مختلف کپی کرده اید. این ممکن است دایرکتوری های شما را با انواع موارد غیر قابل استفاده تکرار کند.
در آموزش ، شما خواهید آموخت که چگونه فایل های تکراری را در لینوکس با استفاده از ابزارهای خط فرمان rdfind و fdupes پیدا کنید و آنها را حذف کنید.
هشدار – همیشه مراقب آنچه که شما در سیستم خود حذف می کنید، زیرا ممکن است ناخواسته باعث از دست دادن اطلاعات شود. اگر از یک ابزار جدید استفاده می کنید، ابتدا آن را در یک دایرکتوری تست کنید که فایل مهمی در آن ندارید.
Rdfind – فایل های تکراری را در لینوکس پیدا می کند:
rdfind این ابزار رایگان برای یافتن و حذف فایل های تکراری در لینوکس در سراسر یا داخل چندین دایرکتوری استفاده میشود و با استفاده از checksum فایل های تکراری نه تنها بر اساس نام آن ها بلکه اطلاعات فایل را پیدا میکند
Rdfind از الگوریتم برای طبقه بندی فایل ها استفاده می کند و تشخیص می دهد کدام یک از فایل های اصلی است و بقیه را به صورت تکراری در نظر می گیرد. قوانین رتبه بندی عبارتند از:
- اگر A در هنگام اسکن زودتر از B پیدا شده بود A بالا تر است
- اگر A در عمق کمتر از B یافت شد، A بالاتر است.
- اگر A قبل از B یافت شد، A بالاتر است.
اخرین ویژگی بالا زمانیست که دوفایل در یک دایرکتوری یافت شوند.
برای نصب rdfind در لینوکس، از دستور زیر به عنوان توزیع لینوکس خود استفاده کنید:
sudo apt-get install rdfind [On Debian/Ubuntu] sudo yum install epel-release && $ sudo yum install rdfind [On CentOS/RHEL] sudo dnf install rdfind [On Fedora 22+]
برای اجرای rdfind در دایرکتوری به سادگی rdfind و دایرکتوری هدف را تایپ کنید. به عنوان مثال:
rdfind /home/user
همانطور که می بینید rdfind نتایج را در فایل به نام results.txt که در همان دایرکتوری از جایی که شما برنامه را اجرا می کنید را ذخیره می کند. فایل حاوی تمام فایل های تکراری است که rdfind پیدا کرده است. شما می توانید فایل را بررسی کنید و فایل های تکراری را به صورت دستی حذف کنید اگر می خواهید.
چیز دیگری که می توانید انجام دهید این است که از گزینه -dryrun استفاده کنید که یک لیست از تکراری را بدون نیاز به هیچ اقدامی ارائه می دهد:
rdfind -dryrun true /home/user
هنگامی که شما تکراری ها رو پیدا کردید میتوانید آن ها را با hardlinks جایگزین کنید.
rdfind -makehardlinks true /home/user
و اگر می خواهید تکراری را حذف کنید می توانید اجرا کنید:
rdfind -deleteduplicates true /home/user
برای بررسی گزینه های مفید دیگر از rdfind میتوانید از دستور rdfind با استفاده از:
man rdfind
Fdupes – اسکن برای فایل های تکراری در لینوکس
Fdupes برنامه دیگری است که به شما امکان می دهد فایل های تکراری را در سیستم خود شناسایی کنید. این منبع رایگان و باز است و در C نوشته شده است. از روش های زیر برای تعیین فایل های تکراری استفاده می کند:
- مقایسه امضای جزئی md5sum
- مقایسه امضای md5sum کامل
- مقایسه byte-byte
درست مثل rdfind گزینه های مشابهی دارد:
- جستجوی مجدد
- فایل های خالی را حذف میکند
- اندازه فایل های تکراری را نشان می دهد
- بلافاصله موارد تکراری را حذف میکند
- فایل هایی که بوجود آورنده آنها متفاوت است را نیز حذف میکند
نحوی کار با Fdupes شبیه به rdfind است. به سادگی دستور را به دنبال دایرکتوری که میخواهید اسکن کنید تایپ کنید.
fdupes <dir>
برای جستجو فایلها به صورت بازگشتی، شما باید گزینه -r را مانند این مشخص کنید.
fdupes -r <dir>
شما همچنین می توانید چندین دایرکتوری را مشخص کنید و یک dir را به صورت بازگشتی جستجو کنید:
fdupes <dir1> -r <dir2>
برای اینکه fdupes فایلهای تکراری را محاسبه کند، از گزینه -S استفاده کنید.
fdupes -S <dir>
برای جمع آوری اطلاعات خلاصه در مورد فایل های یافت شده از گزینه -m استفاده کنید.
fdupes -m <dir>
در نهایت اگر شما می خواهید تمام تکراری را حذف کنید، از گزینه -d مانند این استفاده کنید:
fdupes -d <dir>
Fdupes کدام فایل را برای حذف انتخاب کند برای حذف شماره پرونده را وارد کنید:
برای حفظ اولین فایل ایجاد شده میتوانید از دستور -N استفاده کنید
fdupes -dN <dir>
برای دریافت یک لیست از گزینه های موجود برای استفاده با fdupes، صفحه راهنمای در حال اجرا را بررسی کنید:
fdupes -help
Rdfind و fdupes هر دو ابزار بسیار مفید برای پیدا کردن فایل های تکراری در سیستم لینوکس شما هستند، اما هنگام حذف چنین فایل ها، باید بسیار مراقب باشید
اگر مطمئن نیستید که اگر به یک پرونده نیاز دارید، بهتر است یک نسخه پشتیبان از آن فایل ایجاد کنید و بعدآن را حذف کنید. اگر سوالی دارید یا نظرات دارید، لطفا آنها را در قسمت نظرات زیر ارسال کنید.