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

مرتب کردن سیستم فایل می‌تواند یکی از خسته‌کننده‌ترین فعالیت‌ها باشد، اما وقتی فضای ذخیره‌سازی محدود است، حیاتی نیز می‌شود. در این مقاله، فرآیند شناسایی اشغال‌کنندگان فضای دیسک را ساده کرده و به شما کمک می‌کنیم تا سیستم خود را تا حد امکان فشرده نگه دارید.

بزرگترین دایرکتوری‌ها را پیدا کنید


بیشتر فایل‌های مربوط به کاربر در دایرکتوری / یا home/ ذخیره می‌شوند. از این دستورات برای بررسی دقیق فضای استفاده شده در دایرکتوری خانگی خود استفاده کنید:

du -h ~/ | sort -rh | head -n 10

du -h ~/: میزان استفاده از دیسک توسط تمام فایل‌ها و دایرکتوری‌های موجود در دایرکتوری خانگی شما را به فرمتی قابل خواندن توسط انسان محاسبه و نمایش می‌دهد. اگر می‌خواهید اندازه دایرکتوری دیگری را بررسی کنید، ~/ را با مسیر دایرکتوری مذکور جایگزین کنید.

sort -rh : خروجی دستور du را می‌گیرد و آن را به ترتیب نزولی اندازه، با در نظر گرفتن فرمت قابل خواندن توسط انسان، مرتب می‌کند.

head -n 10 ‎: خروجی مرتب‌شده را می‌گیرد و فقط 10 خط اول را نمایش می‌دهد، که مربوط به 10 دایرکتوری بزرگ برتر در دایرکتوری خانگی شما است.

خروجی:

84K     /root/
20K     /root/snap
16K     /root/snap/lxd
12K     /root/var
12K     /root/.local
8.0K    /root/var/nfs
8.0K    /root/nfs
8.0K    /root/.ssh
8.0K    /root/.local/share

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


شناسایی فایل‌های بزرگ می‌تواند در بازیابی حجم قابل توجهی از فضای دیسک بسیار مهم باشد. دستور find در این زمینه کمک می‌کند:

find ~/ -type f -exec du -h {} + | sort -rh | head -n 10

نکته جدید در اینجا دستور find است که برای جستجوی فایل‌ها و دایرکتوری‌ها در یک مکان مشخص استفاده می‌شود. گزینه‌های استفاده شده در این بخش به چه معناست:

~/ : دایرکتوری شروع جستجو، که دایرکتوری خانگی شماست را مشخص می‌کند.

-type f : مشخص می‌کند که شما به دنبال فایل‌ها هستید.

-exec du -h {} + ‎: این بخش از دستور، دستور du -h را اجرا می‌کند که قبلاً در بالا در مورد هر فایل یافت شده توضیح دادیم.

{} : این یک متغیر است که هر فایلی را که توسط دستور find پیدا شده است، نشان می‌دهد .

+ : این نشان می‌دهد که چندین نام فایل می‌توانند به یک فراخوانی du ارسال شوند.

خروجی:

4.0K    /root/.ssh/known_hosts
4.0K    /root/.profile
4.0K    /root/.bashrc
4.0K    /root/.bash_history
0       /root/sshfs/file
0       /root/file

همچنین لازم به ذکر است که برخی از دایرکتوری‌های سیستم ممکن است به طور غیرمنتظره‌ای فضا اشغال کنند. با استفاده از دستور du ، به دایرکتوری‌های /var (لاگ‌ها و داده‌ها)، /tmp (فایل‌های موقت) و /usr (نرم‌افزارهای نصب شده) نگاهی بیندازید .