سوال: شمار زیادی از فایلهای مخفی (فایلهایی که اول نامشان «.» دارد و عموما جهت ذخیره تنظیمات و لاگها هستند) در دایرکتوری خانگی من وجود دارد و روز به روز بر میزان آنها افزوده میشود. آیا ابزار یا برنامهای جهت پاکسازی اینگونه فایلهای ناخواسته یا قدیمی وجود دارد؟
پاسخ: اطلاعات کش شده، فایلهای تنظیمات و اطلاعات تاریخچهای همه به صورت فایلهای مخفی در دایرکتوری خانگی کاربر ذخیره میگردند. بعد از گذشت مدت زمانی از تولید شدن این گونه فایلها، فضایی از دیسک سخت شما را اشغال میکنند و میتوانند باعث کندی فرآیند تهیه پشتیبان شوند. اغلب اوقات اطلاعاتی که به صورت مخفی ذخیره میشوند (فایلها و دایرکتوریهایی که نامشان با کاراکتر «.» آغاز میگردد) غیر ضروری بوده و میتوانند در بازههای زمانی مختلف پاک گردند. یکی از معضلات آن است که بیشتر برنامهها اطلاعاتی را به صورت مداوم به این گونه در دایرکتوری خانگی برجا میگذارند و این باعث میشود تا پاکسازی این دایرکتوری زمانبر شده و همچنین تشخیص آنکه کدام فایلها میتواند به صورت مطمئن حذف گردد را سخت کند.
یکی از ابزارهایی که میتوانید جهت این کار از آن استفاده کنید BleachBit میباشد، ابزاری که جهت پاکسازی فایلهای قدیمی، ناخواسته یا نالازم طراحی شده است. همانطور که در وبسایت آن میخوانیم: «BleachBit خیلی سریع فضای هاردتان را آزاد میکند و به صورت خستگی ناپذیری از اطلاعات شخصی شما محافظت میکند. حافظه کش را آزاد میکند، کوکیها را پاک مینماید، سوابق گشتوگذار شما در اینترنت را حذف میکند، فایلهای موقتان را تکهتکه میکند، فایلهای لاگ را حذف میکند و فایلهای ناخواستهای که خودتان هم از آن خبر ندارید را دور میاندازد.» همچنین BleachBit یک رابط کاربری خوب جهت بررسی انبوهی از فایلهای تاریخچهای، کوکیها، تنظیمات برنامهها و فایلهای پایگاه دادهای قدیمی در اختیار قرار میدهد. البته BleachBit در مخازن رسمی اکثر توزیعهای گنو/لینوکس قرار دارد.
راه دیگری هم وجود دارد و آن استفاده از دستورات خط فرمان جهت یافتن فایلهایی که به تازگی مورد استفاده قرار نگرفتهاند و پاکسازی آنها میباشد. البته این مورد فقط در شرایطی کار میکند که نشانه «noatime» در فایل etc/fstab/ جهت فایل سیستمی که دایرکتوری خانگی شما بر روی آن قرار دارد تنظیم نشده باشد. به عبارتی دیگر، اگر شما مطمئن نیستید که سیستم شما زمان دستیابی به فایلها را ردگیری نمیکند یا خیر بهتر است از این روش استفاده نکنید.
اگر مطمئن هستید که سیستم شما زمان دستیابی به فایلها را ردگیری میکند، شما میتوانید کلیه فایلهایی که در یک سال گذشته رها شدهاند را با استفاده از دستور زیر حذف نمایید. این دو دستور محتوای پوشه خانگی را بررسی مینمایند و به دنبال فایلهای با عمر بیشتر از ۳۶۵ روز درون پوشههای مخفی میگردند. یک پوشه مخفی پوشهای است که نام آن با کاراکتر «.» آغاز میگردد. هر فایلی در یک پوشه مخفی که در طول ۳۶۵ روز گذشته رها شده است با اجرای این دستور حذف خواهد گردید:
cd ~ for i in .[^.]?*; do find "$i" -depth -atime +365 -type f -delete; done
قبل از اجرای دستور بالا بهتر است یک پشتیبان از فایلهای دایرکتوری خانگی خود تهیه کنید، در بعضی موارد این پاکسازی موجب پاک شدن چیزهایی میشوید که ممکن است واقع مفید بوده باشد یا ممکن است دستور را اشتباها بنویسید! اگر شما میخواهید لیست فایلهایی که پاک خواهند شد را قبل از پاکسازی آنها ببینید، کافی است نشانه «delete-» را با نشانه «print-» جایگزین نمایید.
cd ~ for i in .[^.]?*; do find "$i" -depth -atime +365 -type f -print; done
منبع: دیستروواچ