خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آشنایی با دستور du در لینوکس

آشنایی با دستور du در لینوکس
دستور du که مخفف " disk usage" است، میزان تخمینی فضای دیسک مورد استفاده توسط فایل ها یا دایرکتوری های مشخص شده را نمایش می دهد. du عملا برای یافتن فایل ها و دایرکتوری هایی که حجم زیادی از فضای دیسک را اشغال می کنند مفید است.

سیستم یکپارچۀ سازمانی راهکار

How to Use the du command

Syntax دستور du بصورت زیر می باشد:

du [OPTIONS]... FILE...

اگر FILE داده شده یک دایرکتوری باشد، du میزان استفاده از دیسک یا disk usage هر فایل و ساب دایرکتوری در آن دایرکتوری را نشان می دهد. اگر FILE مشخص نشده باشد، du میزان استفاده از دیسک دایرکتوری جاری را گزارش خواهد کرد.
اگر du بدون هیچ گزینه ای اجرا و فراخوانی شود، میزان استفاده از دیسک دایرکتوری جاری و ساب دایرکتوری را به بایت نشان می دهد:

du ~/Documents

همچنین می توانید چندین فایل و دایرکتوری را به عنوان آرگومان به دستور du پاس دهید:

du ~/Documents ~/Pictures ~/.zshrc

کافیست که دایرکتوری ها را با فاصله از هم مشخص کنید.
اگر du را روی فایل یا دایرکتوری ای اجرا کنید که مجوزی برای آن ندارید، پیغامی شبیه به «du: can read directory» دریافت خواهید کرد. در این شرایط دستور را باید با sudo اجرا کنید. du گزینه های زیادی دارد، ما فقط پرکاربردترین آنها را در این مطلب پوشش خواهیم داد.
گزینه a- به du می گوید که میزان استفاده از فضای دیسک هر فایل را در دایرکتوری نمایش دهد.

du -a ~/Documents

عمدتا خواهان این هستید تا فضای اشغال شده توسط دایرکتوری مشخص شده را در فرمتی قابل خواندن نمایش دهید. در این خصوص باید از گزینه h- استفاده کنید.
به عنوان مثال، برای بدست آوردن حجم کل var/lib و همه ساب دایرکتوری های آن، دستور زیر را اجرا کنید:

sudo du -h /var

ما از sudo استفاده می کنیم زیرا اکثر فایل ها و دایرکتوری های داخل دایرکتوری var/lib متعلق به کاربر root هستند و توسط کاربران عادی قابل خواندن نیستند. خروجی چیزی شبیه به خروجی خواهد بود که البته خروجی شما می تواند متفاوت باشد:

...
4.0K /var/lib/apt/mirrors/partial
8.0K /var/lib/apt/mirrors
205M /var/lib/apt
2.9G /var/lib/

برای نمایش فقط حجم کلی دایرکتوری مشخص شده و نه برای ساب دایرکتوری ها از گزینه s- استفاده کنید:

sudo du -sh /var

2.9G	/var

حتی می توانید با استفاده از گزینه c- حجم چندین فایل را که با فاصله مشخص می کنید را بدست آورید:

sudo du -csh /var/log /var/lib

1.2G	/var/log
2.9G /var/lib
4.1G total

اگر می‌خواهید میزان استفاده از دیسک ساب دایرکتوری ها در n سطح پایین تر را نمایش دهید، از گزینه max-depth-- استفاده کنید و سطح ساب دایرکتوری را مشخص کنید. به عنوان مثال، برای دریافت گزارش در مورد دایرکتوری های سطح اول از دستور زیر استفاده کنید:

sudo du -h --max-depth=1 /var/lib

...
544K /var/lib/usbutils
4.0K /var/lib/acpi-support
205M /var/lib/apt
2.9G /var/lib

رفتار پیش‌فرض ابزار du به این صورت است که فضای دیسک مورد استفاده دایرکتوری یا فایل را تغییر دهد. برای یافتن اندازه ظاهری(apparent size) یک فایل، از کلید apparent-size-- استفاده کنید. apparent size در واقع نشان دهنده حجم واقعی یک فایل است.

sudo du -sh --apparent-size /var/lib

2.9G	/var/lib

du همچنین به شما امکان می دهد از shell pattern استفاده کنید. به عنوان مثال، برای به دست آوردن اندازه همه دایرکتوری هایی که با "Do" شروع می شوند و در دایرکتوری home قرار دارند، باید دستور زیر را اجرا کنید:

sudo du -csh ~/Do*

102M	/home/khoshamoz/Documents
358M /home/khoshamoz/Downloads
460M total

دستور du را می توان با دستورات دیگر با pipe ترکیب کرد. به عنوان مثال، برای پرینت 5 دایرکتوری بزرگ در داخل فولدر var/ باید خروجی du را به دستور sort ارسال کنید تا دایرکتوری ها بر اساس حجم شان مرتب شوند و سپس خروجی را به دستور head باید pipe کنید که فقط 5 دایرکتوری بزرگ را نمایش دهد:

sudo du -h /var/ | sort -rh | head -5

4.6G	/var/
2.9G /var/lib
2.6G /var/lib/snapd
1.7G /var/lib/snapd/snaps
1.2G /var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز