سرور لینوکسی شما لود پایینی دارد ولی کند است ؟ احساس میکنید بی دلیل حجم فضای سرور اشغال شده ؟ محتویات پوشه ها را دستی بازبینی کردید ولی فایل های بزرگ را پیدا نمیکنید؟ این مشکلات ممکن است بارها برایتان اتفاق بیوفتد. مخصوصاً اگر محدودیت حجم دارید. مثلاً یک برنامه ای مثل Apache یک Log در سیستم شما ذخیره کرده است و شما از آن بی خبرید که طی مدت زمانی این Log انباشته شده و چندین گیگابایت حجم پیدا کرده است. حالا چگونه این فایل ها بوسیله یک خط دستور در لینوکس را پیدا کنیم؟
دستور زیر به شما کمک میکند به سادگی فایل های حجیم (مثال بالای 100 مگابایت) را پیدا کنید:
find / -xdev -type f -size +100M;
عبارت +100M که آخر دستور است را می توانید با حجم دلخواه جایگزین کنید.
توجه: این دستور اندازه حجم فایل ها را به شما نمی دهد و فقط مسیر و آدرس آنها را لیست می کند. می توانید این دستور را با دستور ls ترکیب کنید که نتیجه منظم تر و لیست بهتر بهمراه حجم اشغال شده آنها به شما ارائه دهد. نمونه کامل تر کد بالا :...
find / -xdev -type f -size +100M -exec ls -lh {} \;
نکته: قسمت lh انتهای دستور نمایش حجم فایل ها را برحسب مگابایت تنظیم میکند. اگر می خواهید نمایش سایز فایل ها با واحد کوچکتر مثل بایت شود آنرا با la جایگزین کنید. در صورتی که بخواهید لیست شما به ترتیب حجم (از بیشتر به کمتر) تنظیم شود از دستور زیر استفاده کنید:
find / -xdev -type f -size +100M -exec ls -lsh {} ';' | sort -rh | head -n50
در انتها به خلاصه ترین عبارت می رسیم، دستور زیر فقط 2 ستون دارد، مسیر فایل و حجم آن. همچنین به ترتیب نزولی روی حجم. عبارت های اضافی مثل نام کاربری سازنده فایل و یا سطح دسترسی (Permission) نمایش داده نمی شود.
find / -xdev -type f -size +100M -exec du -sh {} ';' | sort -rh | head -n50