Android

Kako dobiti veličinu direktorija u Linuxu

Howto install hadoop on Ubuntu

Howto install hadoop on Ubuntu

Sadržaj:

Anonim

Kad nabrajate sadržaj direktorija pomoću naredbe ls , mogli ste primijetiti da je veličina direktorija gotovo uvijek 4096 bajtova (4 KB). To je veličina prostora na disku koji se koristi za spremanje meta-podataka za direktorij, a ne onoga što sadrži.

Naredba koju želite koristiti da biste dobili stvarnu veličinu mape je du , što je kratko za „korištenje diska“.

Dobivanje veličine direktorija

Naredba du prikazuje količinu prostora datoteke koju koriste određene datoteke ili mape. Ako je navedeni put direktorij, sažeto je korištenje diska svake poddirektorijume u toj mapi. Ako nije naveden put, izvješćuje o korištenju diska u trenutnoj radnoj mapi.

Kada se poziva bez ikakvih opcija, du prikazuje upotrebu diska datog direktorija i svaki njegov poddirektorij u bajtovima.

Tipično, želite prikazati prostor koji zauzima direktorij u ljudskom čitljivom formatu. Na primjer, da biste dobili ukupnu veličinu /var mape, pokrenuli biste sljedeću naredbu:

sudo du -sh /var

Izlaz će izgledati ovako:

85G /var

Objasnimo naredbu i njene argumente:

  • Naredba započinje sa sudo jer je većina datoteka i mapa unutar /var direktorija u vlasništvu korijenskog korisnika i nisu ih čitljivi od strane redovitih korisnika. Ako izostavite sudo , naredba du će ispisati "du: ne može čitati direktorij". s - Prikažite samo ukupnu veličinu navedene mape, ne prikazujte ukupne veličine datoteka za poddirektoriju. h - Veličine ispisa u ljudskom čitljivom formatu ( h ). /var - Put do direktorija u kojem želite dobiti veličinu.

Što ako želite prikazati upotrebu diskova poddirektoriju prve razine? Imate dvije mogućnosti. Prva je upotreba simbola zvjezdice ( * ) kao što je prikazano u nastavku, što znači "uskladiti sve što ne počinje s razdobljem ( . )". Opcija -c govori du da ispisujete sveukupno sve veličine:

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

Drugi način za dobivanje izvješća o upotrebi diska poddirektorijima prve razine je korištenje opcije --max-depth :

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

Naredba du po zadanom prikazuje prostor na disku koji koristi direktorij ili datoteka. Da biste pronašli prividnu veličinu mape, upotrijebite opciju --apparent-size . "Prividna veličina" datoteke je koliko podataka zapravo u datoteci.

sudo du -sh --apparent-size /var

Kad prenesete direktorij preko SCP, Rsync. Ili SFTP, količina podataka koja se prenosi putem mreže je prividna veličina datoteka. To je razlog zašto veličina prostora na disku koji se koristi na izvoru kada se prikazuje s du (bez --apparent-size ) nije jednaka veličini cilja.

Naredba du može se kombinirati s drugim naredbama s cijevima.

Na primjer, da biste ispisali 5 najvećih direktorija u /var direktoriju, poslali biste izlaz du u naredbu sortiranja kako biste sortirali direktorije po njihovoj veličini, a zatim izvodili u naredbu head koja će ispisati samo prvih 5 direktorija:

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

Zaključak

U Linuxu možete dobiti veličinu direktorija pomoću naredbe du .

du terminal