سطل زباله یا Trash در سیستم عامل لینوکس و مک‌او‌اس اپل، معادل Recycle bin ویندوز است. دستاپ‌های لینوکس همگی دارای سطل زباله یا Trash bin هستند. زمانی که کاربر فایل یا فولدری را انتخاب می‌کند و دکمه‌ی Del کیبورد را فشار می‌دهد، فایل کاملاً حذف نمی‌شود بلکه به سطل زباله فرستاده می‌شود تا در صورت نیاز، قابلیت بازگردانی فایل وجود داشته باشد اما این روش موجب اشغال حافظه‌ی ذخیره‌سازی می‌شود.

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

برای پاکسازی خودکار سطل زباله، روش‌های مختلفی وجود دارد. یکی از روش‌ها، استفاده از ابزاری به اسم Autotrash است. می‌توانید با تعریف کردن یک Cron Job، به صورت زمان‌بندی‌شده، سطل زباله را خالی کنید تا هیچ گاه مشکلی از نظر حجم فایل‌های موجود در Trash مطرح نشود.

روش نصب Autotrash

برای نصب کردن Autotrash، ابتدا اپلیکیشن ترمینال را اجرا کنید.

شورت‌کات اجرای ترمینال در توزیعات مختلف لینوکس، Ctrl + Shift + T یا Ctrl + Alt + T است.

پس از اجرا کردن ترمینال، بسته به اینکه از چه توزیع لینوکس استفاده می‌کنید، دستور دانلود و نصب Autotrash را اجرا کنید:

Ubuntu: برای نصب کردن Autotrash که در مخزن اصلی نرم‌افزارهای اوبونتو موجود است، از فرمان apt استفاده کنید. به عبارت دیگر دستور زیر را اجرا کنید:

Debian: در لینوکس دبیان و توزیعاتی که مبتنی بر این لینوکس هستند، می‌توانید از فرمان apt-get استفاده کنید و اتوترش را نصب کنید.

Arch Linux: در آرچ لینوکس برای نصب کردن Autotrash، می‌بایست ابتدا آن را به صورت دستی کامپایل و نصب کنید. لذا می‌بایست ابتدا پکیج Git را از طریق ابزار مدیریت پکیج‌ها که Pacman است، نصب کنید. لذا ابتدا فرمان زیر را اجرا کنید:

و پس از نصب Git، می‌توانید سورس کد Autotrash‌ را از گیت‌هاب دانلود کنید. برای این کار از فرمان Clone استفاده کنید:

پس از اجرا کردن دستور فوق، با استفاده از فرمان cd، فولدری کاری ترمینال که به صورت پیش‌فرض، فولدر خانه یا همان ~/ است را به فولدر جدیدی به اسم autotrash تغییر بدهید:

و حال دستور نوبت به اجرا کردن اسکریپت نصب‌کننده می‌رسد. فرمان زیر را اجرا کنید:

Fedora: برای نصب کردن اتوترش در لینوکس فدورا با توجه به اینکه این اپلیکیشن به صورت پیش‌فرض در مخازن نرم‌افزاری موجود است، می‌توانید از فرمان DNF استفاده کنید. لذا دستور زیر را اجرا کنید:

OpenSUSE: در لینوکس اوپن‌سوزه هم استفاده از Autotrash‌ ساده است و در واقع این اپلیکیشن برای OpenSUSE LEAP و همین‌طور OpenSUSE Tumbleweed در مخازن نرم‌افزاری OSS All موجود است. قبل از شروع توجه کنید که OSS All در YaST فعال شده باشد و سپس با دستور zypper، این اپلیکیشن را نصب کنید:

تنظیمات Autotrash و ایجاد Cron job

با استفاده از اتوترش می‌توان به صورت دستی، سطل زباله را پاکسازی کرد و در واقع پس از نصب کردن این نرم‌افزار، فرآیند خودکاری اتفاق نمی‌افتد. برای پاکسازی خودکار، می‌بایست از روش‌هایی مثل کار با Cron job استفاده کنید. بنابراین قبل از هر چیز، اگر Cron در توزیع لینوکسی که نصب کرده‌اید، فعال نیست، آن را فعال کنید. البته قابلیت Cron در اغلب توزیعات لینوکس به صورت پیش‌فرض فعال و قابل استفاده است.

برای ایجاد job یا به زبان دیگر فرآیند زمان‌بندی‌شده، در ترمینال دستور زیر را وارد کنید:

به این ترتیب فایل مربوط به فرآیند‌های Cron job در نرم‌افزار ویرایش متن Nano Text Editor باز می‌شود.

چگونه فایل‌های سطل زباله لینوکس را به صورت خودکار پس از مدتی دیلیت کنیم؟

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

@daily /usr/bin/autotrash -d 30

این دستور به معنی اجرای روزانه یا daily ابزار Autotrash است و هر بار فایل‌هایی که بیش از ۳۰ روز از حذف شدن آنها گذشته، پاکسازی می‌شود. می‌توانید به جای اجرای روزانه، از اجرای هفتگی و غیره استفاده کنید و همین‌طور مدت زمان انقضا را تغییر بدهید.

برای ذخیره کردن تغییرات فایل Cron job از کلید میانبر Ctrl + O استفاده کنید و سپس برای بستن نانو تکست ادیتور، Ctrl + X‌ را فشار دهید. به این ترتیب سطل زباله‌ی حساب کاربری شما مرتباً پاکسازی می‌شود.

خالی کردن Trash همه‌ی حساب‌های کاربری در لینوکس

خوشبختانه با استفاده از Autotrash و تعریف کردن یک فرآیند زمان‌بندی‌شده توسط Cron، می‌توان فایل‌های قدیمی که سایر کاربران دیلیت کرده‌اند را نیز به سادگی حذف کرد. برای این کار می‌بایست به جای سوییچ -d از سوییچ -td‌ استفاده شود.

روش کار ساده و مشابه است، لذا ابتدا فایل Crontab را باز کنید:

اگر از روش قبلی برای تعریف job استفاده کرده‌اید، دستور وارد شده را حذف کنید و به جای آن، دستور زیر را وارد کنید:

@daily /usr/bin/autotrash -td 30

مثل روش قبلی با Ctrl + O‌ و سپس Ctrl + X ، تغییرات را ذخیره کنید و Nano Text Editor را ببندید.

چگونه فایل‌های سطل زباله لینوکس را به صورت خودکار پس از مدتی دیلیت کنیم؟