Android

Paano makuha ang laki ng isang direktoryo sa linux

Linux How to Monitor Progress of Copy Backup and Compress Data

Linux How to Monitor Progress of Copy Backup and Compress Data

Talaan ng mga Nilalaman:

Anonim

Kapag nakalista ang mga nilalaman ng isang direktoryo gamit ang utos ng ls , maaaring napansin mo na ang laki ng mga direktoryo ay halos palaging 4096 byte (4 KB). Iyon ang laki ng puwang sa disk na ginagamit upang mag-imbak ng meta-impormasyon para sa direktoryo, hindi sa nilalaman nito.

Ang utos na nais mong gamitin upang makuha ang aktwal na sukat ng isang direktoryo ay du , na maikli para sa "paggamit ng disk".

Pagkuha ng Laki ng isang Directory

Ipinapakita ng du command ang dami ng puwang ng file na ginagamit ng tinukoy na mga file o direktoryo. Kung ang tinukoy na landas ay isang direktoryo, du buod ang paggamit ng disk ng bawat subdirektoryo sa direktoryo na iyon. Kung walang tinukoy na landas, iniuulat ng du ang disk paggamit ng kasalukuyang direktoryo ng nagtatrabaho.

Kapag nag-invoke nang walang anumang mga pagpipilian, ipinapakita ng du ang paggamit ng disk ng ibinigay na direktoryo at ang bawat isa sa mga direktoryo nito sa mga byte.

Karaniwan, nais mong ipakita ang puwang na inookupahan ng direktoryo sa isang nababasa na format ng tao. Halimbawa, upang makuha ang kabuuang sukat ng direktoryo ng /var , tatakbo mo ang sumusunod na utos:

sudo du -sh /var

Ang output ay magiging hitsura ng isang bagay tulad nito:

85G /var

Ipaliwanag natin ang utos at mga argumento nito:

  • Ang utos ay nagsisimula sa sudo dahil ang karamihan sa mga file at direktoryo sa loob ng direktoryo /var ay pagmamay-ari ng root user at hindi mabasa ng mga regular na gumagamit. Kung tatanggalin mo ang sudo ang du utos ay mag-print ng "du: hindi mabasa ang direktoryo". s - Ipakita lamang ang kabuuang sukat ng tinukoy na direktoryo, huwag ipakita ang mga sukat ng laki ng file para sa mga subdirectory. h - Mga laki ng pag-print sa isang format na nababasa ng tao ( h ). /var - Ang landas sa direktoryo na nais mong makuha ang laki.

Paano kung nais mong ipakita ang paggamit ng disk ng mga unang antas ng mga direktoryo? Mayroon kang dalawang mga pagpipilian. Ang una ay ang paggamit ng simbolo ng asterisk ( * ) tulad ng ipinakita sa ibaba, na nangangahulugang "tumugma sa lahat na hindi nagsisimula sa isang panahon ( . )". Ang opsyon na -c nagsasabi sa du mag-print ng isang malaking kabuuan ng lahat ng mga sukat:

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

Ang isa pang paraan upang makakuha ng isang ulat tungkol sa paggamit ng disk ng mga unang antas ng mga direktoryo ay ang paggamit ng --max-depth pagpipilian ng:

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

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

Bilang default, ipinapakita ng du command ang puwang sa disk na ginamit ng direktoryo o file. Upang mahanap ang maliwanag na laki ng isang direktoryo, gamitin ang --apparent-size . Ang "maliwanag na laki" ng isang file ay kung gaano karaming data ang talagang nasa file.

sudo du -sh --apparent-size /var

Kapag inilipat mo ang isang direktoryo sa pamamagitan ng SCP, Rsync., O SFTP ang dami ng data na inilipat sa network ay ang maliwanag na laki ng mga file. Ito ang dahilan kung bakit ang laki ng puwang sa disk na ginamit sa pinagmulan kapag ipinapakita gamit ang du (nang walang --apparent-size ) ay hindi pareho sa laki sa target.

Ang du command ay maaari ding isama sa iba pang mga utos na may mga tubo.

Halimbawa, upang i-print ang 5 pinakamalaking direktoryo sa loob ng direktoryo ng /var , gusto mong i-pipe ang output ng du sa utos ng pag-uuri upang pag-uri-uriin ang mga direktoryo ayon sa kanilang laki at pagkatapos ay i-pipe ang output sa utos ng head na i-print lamang ang nangungunang 5 mga direktoryo.:

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

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

Konklusyon

Sa Linux, maaari mong makuha ang laki ng isang direktoryo gamit ang du command.

du terminal disk