دستور Du در لینوکس

دستور Du در لینوکس

زهرا عزتی

دستور du ، مخفف “disk usage” ، مقدار تخمینی فضای دیسک مورد استفاده توسط فايل ها یا فهرست های داده شده را گزارش می کند. این عملا برای یافتن فايل ها و دایرکتوری ها که فضای زیادی از دیسک را اشغال می کنند مفید است. با ما در شتابان هاست همراه باشيد.

نحوه استفاده از دستور du

نحو عمومی دستور du به شرح زیر است

du [OPTIONS]... FILE...

اگر FILE داده شده یک پوشه باشد ، du استفاده از دیسک هر فايل و زیر شاخه را در آن فهرست خلاصه می کند. اگر هیچ FILE مشخص نشده باشد ، du استفاده از دیسک در فهرست فعال فعلی را گزارش می کند. هنگامی که بدون هیچ گزینه ای اجرا شود ، استفاده از دیسک فایل یا دایرکتوری داده شده و هر یک از زیر شاخه های آن در bytes نمایش داده می شود.

du ~/Documents

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

du ~/Documents ~/Pictures ~/.zshrc

اگر روی فايل یا دایرکتوری که مجوز آن را ندارید du را اجرا کنید ، چیزی مانند “du: cannot read directory” دریافت خواهید کرد. در این شرایط ، باید دستور را با sudo پیش تنظیم کنید. du گزینه های زیادی دارد ، ما مواردی را که بیشتر استفاده می شود شرح می دهیم.

گزینه -a به du می گوید که میزان استفاده از فضای دیسک را در هر فايل در پوشه گزارش دهد.

du -a ~/Documents

معمولاً می خواهید فقط فضای اشغال شده توسط فهرست داده شده را در قابلي نمایش دهید. برای انجام این کار ، از گزینه -h استفاده کنید.

به عنوان مثال ، برای بدست آوردن اندازه کلی / var / lib و همه زیرشاخه های آن ، دستور زیر را اجرا می کنید:

sudo du -h /var

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

...
۴٫۰K	/var/lib/apt/mirrors/partial
۸٫۰K	/var/lib/apt/mirrors
۲۰۵M	/var/lib/apt
۲٫۹G	/var/lib/

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

sudo du -sh /var
۲٫۹G /var

گزینه -c به du می گوید که مجموع کل را گزارش دهد. این زمانی مفید است که بخواهید اندازه ترکیبی دو یا چند فهرست را بدست آورید.

sudo du -csh /var/log /var/lib
۱٫۲G	/var/log
۲٫۹G	/var/lib
۴٫۱G	total

 

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

 

sudo du -h --max-depth=1 /var/lib
...
۵۴۴K	/var/lib/usbutils
۴٫۰K	/var/lib/acpi-support
۲۰۵M	/var/lib/apt
۲٫۹G	/var/lib

رفتار پیش فرض برنامه du این است که فضای دیسک مورد استفاده توسط فهرست یا فايل استفاده شود. برای یافتن اندازه ظاهری فايل ، از –apparent size استفاده کنید. “apparent size” یک فایل ، مقدار واقعی داده در فايل است.

sudo du -sh --apparent-size /var/lib
۲٫۹G	/var/lib

du همچنین به شما امکان می دهد از الگوی پوسته استفاده کنید. به عنوان مثال ، برای بدست آوردن اندازه همه فهرست ها با شروع “Do” در فهرست اصلی خود ، اجرا می کنید:

sudo du -csh ~/Do*
۱۰۲M /home/linuxize/Documents
۳۵۸M /home/linuxize/Downloads
۴۶۰M total

استفاده از دستور du با سایر دستورات

دستور du را می توان با دستورات دیگر با pipes ترکیب کرد.

به عنوان مثال ، برای چاپ ۵ دایرکتوری بزرگ در داخل دایرکتوری / var ، شما می توانید خروجی du را به دستور مرتب کنید تا دایرکتوری ها را بر اساس اندازه آنها مرتب کنید و سپس خروجی را به دستور head که فقط ۵ دایرکتوری برتر را چاپ می کند ، pipes کنید:

sudo du -h /var/ | sort -rh | head -5
۴٫۶G	/var/
۲٫۹G	/var/lib
۲٫۶G	/var/lib/snapd
۱٫۷G	/var/lib/snapd/snaps
۱٫۲G	/var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09

 

در حال حاضر شما باید درک خوبی از نحوه استفاده از دستور du داشته باشید.

برخلاف df که اطلاعات مربوط به استفاده از دیسک در سیستم فایل های نصب شده را چاپ می کند ، دستور du به شما تخمین می زند که از فضای دیسک استفاده شده توسط فايل ها یا فهرست های داده شده استفاده می شود. با تایپ کردن man du در ترمینال خود می توانید تمام گزینه های موجود در دستور را مشاهده کنید. ما را در شتابان هاست دنبال كنيد.

 

برچسب ها: دستورات لينوكس