Android

Sådan får du størrelsen på et bibliotek i Linux

Writing 2D Games in C using SDL by Thomas Lively

Writing 2D Games in C using SDL by Thomas Lively

Indholdsfortegnelse:

Anonim

Når du viser indholdet af et bibliotek ved hjælp af kommandoen ls , har du måske bemærket, at størrelsen på bibliotekerne næsten altid er 4096 bytes (4 KB). Det er størrelsen på plads på disken, der bruges til at gemme metainformationen til biblioteket, ikke hvad den indeholder.

Den kommando, du vil bruge til at få den faktiske størrelse på et bibliotek, er du , som er en forkortelse til "diskbrug".

Få størrelsen på et bibliotek

du kommandoen viser mængden af ​​filplads, der bruges af de specificerede filer eller mapper. Hvis den angivne sti er et bibliotek, opsummerer du diskbrug af hver undermappe i det bibliotek. Hvis der ikke er angivet nogen sti, rapporterer du diskanvendelsen i det aktuelle arbejdsmappe.

Når du påberåbes uden nogen indstillinger, viser du diskbrugen for det givne bibliotek og hver af dets undermapper i byte.

Typisk vil du gerne vise det rum, som biblioteket besætter, i et menneskeligt læsbart format. For at få den samlede størrelse på mappen /var for eksempel, kører du følgende kommando:

sudo du -sh /var

Outputet ser sådan ud:

85G /var

Lad os forklare kommandoen og dens argumenter:

  • Kommandoen starter med sudo fordi de fleste af filer og mapper i /var biblioteket ejes af rodbrugeren og ikke er læsbare af de almindelige brugere. Hvis du udelader sudo , udskrives du kommandoen “du: kan ikke læse katalog”. s - Vis kun den samlede størrelse af det specificerede bibliotek, vis ikke totalstørrelser for undermapper. h - Printstørrelser i et menneskeligt læsbart format ( h ). /var - Stien til det bibliotek, du vil have størrelsen.

Hvad hvis du vil vise diskbrugen i undermapper på første niveau? Du har to muligheder. Den første er at bruge stjerne-symbolet ( * ) som vist nedenfor, hvilket betyder "matche alt, hvad der ikke starter med en periode ( . )". -c indstillingen fortæller du at udskrive en total sum af alle størrelser:

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

En anden måde at få en rapport om diskanvendelsen af ​​undermapper på første niveau er at bruge --max-depth indstillingen:

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 viser kommandoen du den diskplads, der bruges af biblioteket eller filen. For at finde den tilsyneladende størrelse på et bibliotek skal du bruge indstillingen --apparent-size . Den "tilsyneladende størrelse" af en fil er, hvor meget data der faktisk findes i filen.

sudo du -sh --apparent-size /var

Når du overfører et bibliotek via SCP, Rsync. Eller SFTP, er den mængde data, der overføres over netværket, den tilsyneladende størrelse på filerne. Dette er grunden til, at størrelsen på plads på den disk, der bruges på kilden, når den vises med du (uden - --apparent-size ) ikke er den samme som størrelsen på målet.

du kommandoen kan også kombineres med andre kommandoer med rør.

For at udskrive de 5 største mapper i /var biblioteket, vil du f.eks. Føre output fra du til sort at sortere mapperne efter deres størrelse og derefter sende output til hovedkommandoen, der kun udskriver de øverste 5 mapper:

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

Konklusion

I Linux kan du få størrelsen på et bibliotek ved hjælp af kommandoen du.

du terminal disk