پیدا کردن فایلهای حجیم در لینوکس یکی از کارهایی است که هنگام مدیریت فضای ذخیرهسازی سرور یا سیستمعامل لینوکس به آن نیاز پیدا میکنید. گاهی اوقات فضای دیسک بدون اینکه متوجه شوید، بهسرعت پر میشود و این موضوع میتواند عملکرد سرویسها، اجرای برنامهها و حتی عملکرد صحیح سیستمعامل را تحت تأثیر قرار دهد. فایلهای لاگ قدیمی، نسخههای پشتیبان، فایلهای موقت و دادههای باقیمانده از برنامهها از جمله مواردی هستند که ممکن است فضای زیادی اشغال کنند.
برای مدیریت بهتر این شرایط، لازم است بتوانید فایلها و پوشههایی را که بیشترین حجم را دارند شناسایی کنید. فرقی نمیکند با سرور مجازی ایران کار کنید یا سرور مجازی خارج؛ آشنایی با دستورهای لینوکس به شما کمک میکند منابع ذخیرهسازی را بهتر مدیریت کنید. در این مقاله با دستورهایی مانند find، du و df آشنا میشوید و یاد میگیرید چگونه فایلهای بزرگ را در مسیرهای مختلف پیدا و فضای دیسک را بررسی کنید.


چرا باید فایلهای حجیم در لینوکس را پیدا کنیم؟
فضای ذخیرهسازی هر سیستم لینوکسی محدود است و با افزایش تعداد فایلها و اطلاعات، ممکن است ظرفیت دیسک بهتدریج تکمیل شود. این مسئله بهخصوص در سرورها اهمیت بیشتری دارد؛ زیرا پر شدن دیسک میتواند باعث اختلال در عملکرد سرویسهای مختلف شود.
برای مثال، اگر فضای ذخیرهسازی سرور بهطور کامل پر شود، ممکن است پایگاه داده نتواند اطلاعات جدیدی ثبت کند، برنامهها در ایجاد فایلهای موقت با مشکل مواجه شوند یا سرویسهای مختلف بهدرستی اجرا نشوند.
برخی از مهمترین دلایل افزایش حجم فایلها در لینوکس عبارتاند از:
- فایلهای لاگ (Log Files)برنامهها و سرویسهای مختلف برای ثبت رویدادها و خطاها از فایلهای لاگ استفاده میکنند. با گذشت زمان، حجم این فایلها ممکن است افزایش پیدا کند.
- فایلهای بکاپنسخههای پشتیبان قدیمی در صورت نگهداری طولانیمدت میتوانند بخش زیادی از فضای دیسک را اشغال کنند.
- فایلهای موقتبعضی برنامهها برای انجام فعالیتهای خود فایلهای موقتی ایجاد میکنند که ممکن است پس از اتمام کار باقی بمانند.
- فایلهای دانلودشدهفایلهای نصب، آرشیوها و بستههای نرمافزاری قدیمی نیز میتوانند فضای زیادی مصرف کنند.
- دادههای برنامههاپایگاههای داده، فایلهای آپلودشده و اطلاعات ذخیرهشده توسط برنامهها ممکن است بهمرور حجیم شوند.
با شناسایی این فایلها میتوانید علت اصلی مصرف فضای دیسک را پیدا کنید و برای مدیریت آن تصمیم بگیرید.
بررسی فضای دیسک قبل از پیدا کردن فایلهای حجیم در لینوکس
قبل از جستجوی فایلهای بزرگ، بهتر است وضعیت کلی فضای ذخیرهسازی سیستم را بررسی کنید. لینوکس چند دستور کاربردی برای نمایش ظرفیت دیسک و میزان فضای مصرفشده در اختیار شما قرار میدهد.
برای مثال، اگر فضای ذخیرهسازی سرور بهطور کامل پر شود، ممکن است پایگاه داده نتواند اطلاعات جدیدی ثبت کند، برنامهها در ایجاد فایلهای موقت با مشکل مواجه شوند یا سرویسهای مختلف بهدرستی اجرا نشوند.
برخی از مهمترین دلایل افزایش حجم فایلها در لینوکس عبارتاند از:
استفاده از دستور df برای بررسی فضای دیسک
دستور df یکی از ابزارهای کاربردی لینوکس برای بررسی میزان فضای استفادهشده و باقیمانده در فایلسیستمها است.
برای مشاهده وضعیت دیسکها، دستور زیر را اجرا کنید:
df -h
گزینه h- باعث میشود اندازهها به شکل قابلخواندن، مانند GB و MB نمایش داده شوند.
خروجی این دستور شامل ستونهای زیر است:
- Filesystemنام فایلسیستم یا پارتیشن
- Sizeظرفیت کل فضای ذخیرهسازی
- Usedمقدار فضای استفادهشده
- Availفضای باقیمانده
- %Useدرصد استفاده از فضای دیسک
- Mounted onمسیر اتصال فایلسیستم
با بررسی ستون %Use میتوانید پارتیشنهایی را که فضای آنها رو به اتمام است شناسایی کنید.
برای مثال، اگر مقدار استفاده از یک پارتیشن به ۹۰ درصد رسیده باشد، بهتر است فایلها و پوشههای موجود در آن را بررسی کنید تا علت مصرف بالای فضا مشخص شود.
بررسی حجم پوشهها با دستور du
دستور du برای محاسبه میزان فضای اشغالشده توسط فایلها و پوشهها استفاده میشود. برخلاف دستور df که وضعیت کلی فایلسیستم را نمایش میدهد، دستور du به شما کمک میکند مصرف فضا را در مسیرهای مختلف بررسی کنید.
برای مشاهده حجم یک پوشه، دستور زیر را اجرا کنید:
du -sh /var
در این دستور:
- s- حجم کلی مسیر مشخصشده را نمایش میدهد.
- h-اندازه را با واحدهای قابلخواندن نشان میدهد.
اگر بخواهید حجم تمام پوشههای موجود در یک مسیر را بهصورت جداگانه مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
du -h --max-depth=1 /var
این دستور حجم پوشههای مستقیم داخل مسیر /var را نمایش میدهد و کمک میکند متوجه شوید کدام بخش از این مسیر فضای بیشتری اشغال کرده است.
آموزش پیدا کردن فایلهای حجیم در لینوکس با دستور find
یکی از بهترین روشها برای پیدا کردن فایلهای بزرگ در لینوکس، استفاده از دستور find است. این دستور امکان جستجوی فایلها را بر اساس معیارهای مختلفی مانند نام، نوع، اندازه و زمان آخرین تغییر فراهم میکند.
در ادامه چند روش کاربردی برای استفاده از این دستور را بررسی میکنیم.


پیدا کردن فایلهای بزرگتر از یک حجم مشخص
اگر میخواهید فایلهایی را پیدا کنید که حجم آنها از مقدار مشخصی بیشتر است، میتوانید از گزینه -size استفاده کنید.
برای مثال، دستور زیر تمام فایلهای بزرگتر از ۵۰۰ مگابایت را در مسیر / جستجو میکند:
find / -type f -size +500M
معنی بخشهای مختلف دستور:
- /find جستجو را از مسیر اصلی سیستم شروع میکند.
- type f-فقط فایلها را بررسی میکند و پوشهها را نادیده میگیرد.
- size +500M-فایلهایی را پیدا میکند که حجم آنها بیشتر از ۵۰۰ مگابایت است.
در این دستور، حرف M نشاندهنده مگابایت و علامت + به معنای بزرگتر بودن از مقدار تعیینشده است.
اگر بهجای ۵۰۰ مگابایت به دنبال فایلهای بزرگتر از یک گیگابایت هستید، کافی است مقدار دستور را تغییر دهید:
find / -type f -size +1G
به این ترتیب، فقط فایلهایی نمایش داده میشوند که حجم آنها بیشتر از یک گیگابایت است.
پیدا کردن بزرگترین فایلهای سیستم
گاهی اوقات نمیدانید فایلهای حجیم چه اندازهای دارند و میخواهید بزرگترین فایلهای موجود در سیستم را شناسایی کنید.
برای این کار میتوانید از ترکیب دستورهای find و sort استفاده کنید:
find / -type f -printf '%s %p\n' 2>/dev/null | sort -nr | head -n 20
این دستور ۲۰ فایل بزرگ سیستم را بر اساس اندازه آنها نمایش میدهد.
عملکرد هر بخش به این صورت است:
- 'printf '%s %p\n-اندازه فایل را برحسب بایت و سپس مسیر آن را نمایش میدهد.
- 2>/dev/null پیامهای خطای مربوط به دسترسی نداشتن به بعضی مسیرها را مخفی میکند.
- sort -nr خروجی را بر اساس اندازه فایل و بهصورت نزولی مرتب میکند.
- head -n 20 فقط ۲۰ نتیجه اول را نمایش میدهد.
نکته مهم این است که خروجی این دستور برحسب بایت است و ممکن است خواندن اندازه فایلها کمی دشوار باشد. با استفاده از دستور numfmt میتوانید اندازهها را به واحدهای قابلخواندن تبدیل کنید:
find / -type f -printf '%s %p\n' 2>/dev/null | sort -nr | head -n 20 | numfmt --field=1 --to=iec
در این حالت، اندازه فایلها با واحدهایی مانند KiB، MiB و GiB نمایش داده میشود.
جستجو برای پیدا کردن فایلهای حجیم در یک مسیر مشخص
لازم نیست همیشه تمام فایلهای سیستم را جستجو کنید. اگر احتمال میدهید فایلهای بزرگ در یک پوشه خاص قرار دارند، بهتر است جستجو را به همان مسیر محدود کنید.
برای مثال، اگر میخواهید فایلهای بزرگتر از ۱۰۰ مگابایت را در مسیر /home پیدا کنید، دستور زیر را اجرا کنید:
find /home -type f -size +100M
این دستور فقط فایلهای موجود در مسیر /home و زیرپوشههای آن را بررسی میکند.
همچنین میتوانید مسیرهای دیگری مانند /var، /tmp یا مسیر ذخیره فایلهای بکاپ را برای پیدا کردن فایلهای حجیم بررسی کنید.
محدود کردن محدوده جستجو باعث میشود نتایج مرتبطتری دریافت کنید و از بررسی غیرضروری تمام فایلهای سیستم جلوگیری شود.




























بدون دیدگاه