با گذشت زمان ، ممکن است درایو دیسک شما با تعداد زیادی از فایل های غیر ضروری که فضای زیادی از دیسک را اشغال می کنند ، به هم ريخته شود. معمولاً سیستم های لینوکس به دلیل وجود فايل های بزرگ log یا بكاپ از فضای دیسک خالی می شوند. در این مقاله ، نحوه يافتن فايل های بزرگ در سیستم های لینوکس با استفاده از دستورهای find و du توضیح داده شده است. با ما در شتابان هاست همراه باشيد.
شما مي توانيد با دستور find فايل هاي بزرگ را در لينوكس پيدا كنيد؛ دستور find یکی از قدرتمندترین ابزارها در سیستم های مدیریت لینوکس است. این امکان را به شما می دهد تا بر اساس معیارهای مختلف از جمله اندازه پرونده ، فایل ها و فهرست ها را جستجو کنید.
به عنوان مثال ، اگر می خواهید فايل هایی با اندازه بزرگتر از ۱۰۰ مگابایت را جستجو کنید ، در فهرست کار فعلی شما از دستور زیر استفاده می کنید:
sudo find . -xdev -type f -size +100M
خروجی لیستی از پرونده ها را بدون اطلاعات اضافی نشان می دهد.
/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img
دستور find علاوه بر يافتن فايل هاي بزرگ می تواند در ترکیب با ابزارهای دیگر مانند ls یا sort برای انجام عملیات بر روی آن پرونده ها استفاده شود.
در مثال زیر ، ما خروجی دستور find را به ls منتقل می کنیم که اندازه هر پرونده یافت شده را چاپ می کند و سپس آن خروجی را sort می کند تا بر اساس ستون ۵ که اندازه پرونده است sort شود.
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
خروجی چیزی شبیه به این خواهد بود:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
اگر خروجی حاوی بسیاری از خطوط اطلاعات است ، می توانید از دستور head برای چاپ فقط ۱۰ خط اول استفاده کنید:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
دستور find با گزینه های قدرتمند زیادی همراه است. به عنوان مثال ، می توانید پرونده های بزرگی را که از X روز قدیمی تر است ، فایل های بزرگ با پسوند خاص یا پرونده های بزرگ که به یک کاربر خاص تعلق دارند را جستجو کنید.
شما مي توانيد با دستور du فايل هاي بزرگ در لينوكس را پيدا كنيد؛ دستور du برای تخمین میزان استفاده از فضای فایل استفاده می شود و به ویژه برای یافتن دایرکتوری ها و فایل هایی که مقدار زیادی فضای دیسک مصرف می کنند بسیار مفید است.
دستور زیر بزرگترین پرونده ها و فهرست ها را چاپ می کند:
du -ahx . | sort -rh | head -5
ستون اول شامل اندازه پرونده و دسته دوم نام پرونده:
۵۵G . ۲۴G ./.vagrant.d/boxes ۲۴G ./.vagrant.d ۱۳G ./Projects ۵٫۲G ./.minikube
يافتن فايل های بزرگ در زمانی که دیسک شما پر است براي آزاد كردن ديسك بسیار مفید است. ما را در شتابان هاست دنبال كنيد.