نماد سایت وبلاگ شتابان هاست

يافتن فايل های بزرگ در لینوکس

یافتن فايل های بزرگ در لینوکس

با گذشت زمان ، ممکن است درایو دیسک شما با تعداد زیادی از فایل های غیر ضروری که فضای زیادی از دیسک را اشغال می کنند ، به هم ريخته شود. معمولاً سیستم های لینوکس به دلیل وجود فايل های بزرگ log یا بكاپ از فضای دیسک خالی می شوند. در این مقاله ، نحوه يافتن فايل های بزرگ در سیستم های لینوکس با استفاده از دستورهای find و du توضیح داده شده است. با ما در شتابان هاست همراه باشيد.

1) یافتن فایل های بزرگ با استفاده از دستور find

شما مي توانيد با دستور find فايل هاي بزرگ را در لينوكس پيدا كنيد؛ دستور find یکی از قدرتمندترین ابزارها در سیستم های مدیریت لینوکس است. این امکان را به شما می دهد تا بر اساس معیارهای مختلف از جمله اندازه پرونده ، فایل ها و فهرست ها را جستجو کنید.

به عنوان مثال ، اگر می خواهید فايل هایی با اندازه بزرگتر از 100 مگابایت را جستجو کنید ، در فهرست کار فعلی شما از دستور زیر استفاده می کنید:

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 می کند تا بر اساس ستون 5 که اندازه پرونده است 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 برای چاپ فقط 10 خط اول استفاده کنید:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head

 

دستور find با گزینه های قدرتمند زیادی همراه است. به عنوان مثال ، می توانید پرونده های بزرگی را که از X روز قدیمی تر است ، فایل های بزرگ با پسوند خاص یا پرونده های بزرگ که به یک کاربر خاص تعلق دارند را جستجو کنید.

2) با استفاده از دستور du فایل های بزرگ را پیدا کنید

شما مي توانيد با دستور du فايل هاي بزرگ در لينوكس را پيدا كنيد؛ دستور du برای تخمین میزان استفاده از فضای فایل استفاده می شود و به ویژه برای یافتن دایرکتوری ها و فایل هایی که مقدار زیادی فضای دیسک مصرف می کنند بسیار مفید است.

دستور زیر بزرگترین پرونده ها و فهرست ها را چاپ می کند:

du -ahx . | sort -rh | head -5

ستون اول شامل اندازه پرونده و دسته دوم نام پرونده:

55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projects
5.2G ./.minikube

 

يافتن فايل های بزرگ در زمانی که دیسک شما پر است براي آزاد كردن ديسك بسیار مفید است. ما را در شتابان هاست دنبال كنيد.

 

خروج از نسخه موبایل