Android

Hur man får storleken på en katalog i Linux

Hur spelar man in skärm och kamera på dator [OBS Studio] [Tutorial på svenska]

Hur spelar man in skärm och kamera på dator [OBS Studio] [Tutorial på svenska]

Innehållsförteckning:

Anonim

När du listar innehållet i en katalog med kommandot ls kanske du har märkt att storleken på katalogerna nästan alltid är 4096 byte (4 kB). Det är storleken på utrymmet på disken som används för att lagra metainformation för katalogen, inte vad den innehåller.

Kommandot du vill använda för att få den verkliga storleken på en katalog är du , vilket är förkortat för "diskanvändning".

Få storleken på en katalog

du kommandot visar hur mycket filutrymme som används av de angivna filerna eller katalogerna. Om den angivna sökvägen är en katalog sammanfattar du skivanvändningen för varje underkatalog i den katalogen. Om ingen sökväg anges rapporterar du skivanvändningen för den aktuella arbetskatalogen.

När du anropas utan några alternativ, visar du skivanvändningen för den givna katalogen och var och en av dess underkataloger i byte.

Vanligtvis vill du visa det utrymme som katalogen upptar i ett mänskligt läsbart format. Till exempel, för att få den totala storleken på katalogen /var , kör du följande kommando:

sudo du -sh /var

Utgången ser ut så här:

85G /var

Låt oss förklara kommandot och dess argument:

  • Kommandot börjar med sudo eftersom de flesta filer och kataloger i katalogen /var ägs av rotanvändaren och inte är läsbara av de vanliga användarna. Om du utelämnar sudo du kommandot att skriva ut "du: kan inte läsa katalog". s - Visa bara den totala storleken för den angivna katalogen, visa inte filstorleken för subkataloger. h - Utskriftsstorlekar i mänskligt läsbart format ( h ). /var - Sökvägen till katalogen du vill få storleken.

Vad händer om du vill visa diskanvändningen i underkatalogerna på första nivån? Du har två alternativ. Den första är att använda asterisk-symbolen ( * ) som visas nedan, vilket betyder "matcha allt som inte börjar med en period ( . )". Alternativet -c säger du att skriva ut en total summa av alla storlekar:

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

Ett annat sätt att få en rapport om --max-depth underkatalogerna på första nivån är att använda --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

Som standard visar du kommandot hårddiskutrymmet som används av katalogen eller filen. För att hitta den synliga storleken på en katalog använder --apparent-size alternativet --apparent-size . Den "uppenbara storleken" på en fil är hur mycket data som faktiskt finns i filen.

sudo du -sh --apparent-size /var

När du överför en katalog via SCP, Rsync. Eller SFTP är mängden data som överförs över nätverket filens uppenbara storlek. Det är därför storleken på utrymmet på disken som används på källan när den visas med du (utan - --apparent-size ) inte är samma som storleken på målet.

du kommandot kan också kombineras med andra kommandon med rör.

Till exempel, för att skriva ut de 5 största katalogerna i katalogen /var , skulle du leda utgången från du till sort att sortera katalogerna efter deras storlek och sedan rör utskriften till huvudkommandot som bara skriver ut de 5 bästa katalogerna:

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

Slutsats

I Linux kan du få storleken på en katalog med kommandot du .

du terminalskiva