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

How Get Size Directory Linux



At kende størrelsen på en bibliotek i Linux er ikke så ligetil, som det lyder. Kommandoen ls -s viser filer og undermapper med deres størrelser. Størrelserne (ca. 4096 bytes), der er angivet for bibliotekerne, er dog ikke diskbrug. Størrelsen set for et bibliotek er størrelsen på bibliotekets metadata.

Metadata er data om data. Den tilsyneladende størrelse er størrelsen på de data, der har betydning for den almindelige bruger af computeren. Indholdet (teksten) af brugerens breve, billeder, videoer osv. Udgør den tilsyneladende størrelse. Disse data opbevares ikke vilkårligt i computeren. Dataene i tilsyneladende størrelse skal opbevares på en kontrolmåde. Det skal kunne identificeres. Det skal være komplet. Der er andre krav til det. Nogle ekstra data er nødvendige for at opnå disse ekstra krav, og disse ekstra data er metadataene.







Husk, at der kun er ét bibliotek i et volumen. Resten er underkataloger. Rodmappen giver anledning til undermapper, som giver anledning til, at andre undermapper falder. Imidlertid kaldes undermapper normalt simpelthen mapper. Og så er der kun ét bibliotekstræ.



Så ls -s er ikke nyttigt for at få størrelsen på et bibliotek. Hvilken kommando er da nyttig? - Du -kommandoen. du står for Disk Usage. Det udskriver diskens brug af biblioteket.



Denne artikel forklarer de forskellige funktioner i du-kommandoen i Linux, som giver de forskellige programmører måder at kende størrelserne på mapper og deres underkataloger. Bash er skallen, der bruges til kodeeksemplerne i denne artikel.





Artikelindhold

du uden Option eller Argument

Det aktuelle arbejdskatalog er det bibliotek, brugeren i øjeblikket arbejder i. Spørgsmålet viser normalt det aktuelle arbejdskatalog. At skrive du uden nogen mulighed og argument, sådan:



af

og derefter trykke på Enter-tasten viser diskforbruget for alle underkataloger i det aktuelle arbejdskatalog. Det viser disse oplysninger for undertræet i det aktuelle arbejdskatalog. En prik på displayet repræsenterer det aktuelle arbejdskatalog.

Hver sti i undertræet er repræsenteret i en linje på displayet. Hver linje begynder med bibliotekets størrelse (som er efternavn i stien). Displayet kan være noget i stil med:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

tyve./dir1

Bemærk, at det ikke er klart, om størrelsen er i bytes eller kilobytes eller megabyte eller gigabyte. Kilobytes symbol, K betyder 1024 bytes; Megabyte symbol, M betyder 1.048.576 bytes; Gigabyte med symbol, G betyder 1.073.741.824 bytes. For at multiplerne skal angives, skal indstillingen -h (switch) bruges som følger:

af -h

Displayet ville derefter se sådan ud:

8,0K./dir1/dir2/dir3/dir4

12K./dir1/dir2/dir3

16K./dir1/dir2

20K./dir1

Når indstillingen -h bruges, siges størrelserne at være i en læsbar form.

Bemærk: Med indstillingen –all vil du -kommandoen også give diskbrug til filer; dog vil diskbrug til filer ikke blive behandlet i denne artikel.

Størrelse på andre biblioteker

En typisk absolut sti for et Linux -volumen er som følger:

/hjem/John/sige/dirTwo/dirThree/dirFour

Den første / er rodmappen. Denne mappe har umiddelbare underkataloger, herunder hjemmemappen. Hjemmekataloget har brugerens bibliotek. Hvis brugerens navn er John, kan han navngive brugerens bibliotek, john. Brugerens bibliotek identificeres med ~. Brugeren kan altså bruge kommandoen cd ~ til at nå sit bibliotek fra et hvilket som helst bibliotek. dirOne er et bibliotek oprettet af brugeren. Brugeren kan også oprette andre mapper på dette niveau. dirTwo, dirThree og dirFour er underkataloger til deres tidligere mapper, oprettet af brugeren.

Brugeren kan kende størrelsen på enhver anden mappe og dens underkataloger (undertræ) fra en hvilken som helst mappe og omgå den absolutte sti som et argument. Hvis der f.eks. Er brug for diskbrug,

/hjem/John/sige/dirTwo

så ville kommandoen være:

af -h /hjem/John/sige/dirTwo

eller

af -h~/sige/dirTwo

hvor ~ repræsenterer brugerens bibliotek.

For at bruge en relativ sti skal brugeren allerede være i det tilsvarende overordnede bibliotek. Hvis f.eks. Prompten vises,

John@vært: ~/sige $

hvilket betyder, at brugeren er i biblioteket,/home/john/dirOne, vil følgende kommando give det samme resultat som ovenstående kommando:

af -hdirTwo

Stierne ville stadig være relative. Hvis du vil vise de samme oplysninger for det aktuelle bibliotek, skal du ikke bruge noget argument eller bruge prikken.

Denne ordning kan bruges til at få størrelsen på kun en mappe, den sidste i en sti (forud for stien). Det er muligt at få størrelsen på et bibliotek midt på en sti - se ekskludere = MØNSTER nedenfor.

Grand Total

En stor samlet størrelse af alle de involverede biblioteker kan produceres. For ovenstående situation ville kommandoen være:

af -h --i alt

tilsyneladende størrelse

Den tilsyneladende størrelse er normalt mindre end diskforbruget. I nogle situationer er den tilsyneladende størrelse dog større end diskbrug; årsag - se senere. Kommandoen for at opnå de tilsyneladende størrelser for den relative sti ovenfor ville være:

af -h -apparent-størrelsedirTwo

Maksimal dybde

Med –max-depth = 0 udskriver du størrelsen på kun det aktuelle arbejdskatalog; med du –max-depth = 1, du udskriver størrelsen på det nuværende arbejdskatalog og størrelserne på alle dets første mapper på første niveau; med –max-depth = 2, du udskriver størrelsen på det nuværende arbejdskatalog og størrelserne på alle dets første mapper på første niveau og på alle dets undermapper på andet niveau; med –maks-dybde = 3, du udskriver størrelsen på den nuværende arbejdskatalog og alle dens underkataloger på første niveau og alle dens underkataloger på andet niveau og alle dens underkataloger på tredje niveau; dette fortsætter med stigende værdi af max-dybde. Et eksempel på dets anvendelse er:

af -h -maksimal dybde=2

Sudo -kommandoen

Et af bibliotekerne med sine egne underkataloger i rodmappen er var. Hvis brugeren skriver

af -h /hvor

og trykker på Enter, vil han indse, at tilladelse er nægtet for nogle mapper. Det vil sige, at han ikke kan kende størrelsen på nogle mapper. Tilladelsen nægtes, fordi brugeren ikke er superbruger. Superbrugeren har privilegiet at se størrelserne (diskbrug) på disse mapper. Så for at brugeren kan erhverve dette privilegium, skal han bruge sudo -kommandoen som følger:

sudo af -h /hvor

Hvis skallen beder brugeren om sin adgangskode, skal brugeren indtaste adgangskoden og trykke på Enter. Med sudo -kommandoen kan den almindelige bruger (programmør) se størrelserne på alle mapper i var -biblioteket og lignende mapper.

Eksklusive poster efter størrelse

Indstillingen –threshold = SIZE tillader ikke listefortegnelser, hvis størrelser er mindre end SIZE. Til stien,

/hjem/John/sige/dirTwo/dirThree/dirFour

med prompten kl[e -mail beskyttet]: ~ $, altså

af -h --Grænseværdi= 12K dirOne

hvor 12K betyder 12 kilobytes, viser ikke linjen for et bibliotek, hvis diskforbrug er mindre end 12K.

–Exclude = MØNSTER

Denne indstilling og værdi kan udelade bibliotekslinjer, som brugeren ikke ønsker i fortegnelsen.

For at udelade linjen for det sidste bibliotek, dirFour af stien

/hjem/John/sige/dirTwo/dirThree/dirFour

kommandoen skal være:

af -h --udelukke= sige/dirTwo/dirThree/dirFour dirOne

Resultatet vil være noget i stil med,

4.0K dirOne/dirTwo/dirThree

8.0K dirOne/dirTwo

12K dirOne

Bemærk: størrelserne har ikke inkluderet størrelsen på det sidste niveau bibliotek (dirFour) på stien.

Hvis du kun vil have størrelserne på de øverste dybdekataloger og deres undertræer, skal du ikke have bibliotekerne med den nedre dybde i indstillingen. Så med kommandoen,

af -h --udelukke= sige/dirTwo/dirThree dirOne

output vil være noget i stil med,

4.0K dirOne/dirTwo

8K dirOne

Bemærk: størrelserne har ekskluderet størrelserne på træets nedre håndtagskataloger.

Overvej igen det absolutte link,

/hjem/John/sige/dirTwo/dirThree/dirFour

Følgende kommando opnår kun diskbrug af dirTwo -biblioteket, som er et bibliotek inden for stien. Kommandoen er:

af -h --udelukke=/hjem/John/sige/dirTwo/ * /hjem/John/sige/dirTwo

Argumentet har alle de foregående mapper ned til det pågældende. Værdien af ​​at ekskludere har alle de foregående mapper, der slutter med *, lige efter den pågældende. * betyder alle underkataloger på det niveau (og deres undertræer). Resultatet vil være noget i stil med,

5.0K/hjem/John/sige/dirTwo

Konklusion

At prøve at kende størrelsen på et bibliotek med kommandoen ls -s er vildledende. Med det opnås kun metadataene i biblioteket. For at kende diskbrugen af ​​et bibliotek, skal du -kommandoen bruges. Når den bruges med -h -indstillingen, kan størrelserne på bibliotekerne læses. Den tilsyneladende størrelse kan opnås ved hjælp af indstillingen tilsyneladende størrelse. Uden valgmuligheder og argumenter viser du -kommandoen bare størrelserne på alle underkataloger i det aktuelle bibliotek, inklusive størrelsen på det aktuelle bibliotek. Argumentet til du er stien, som kan begynde fra roden. Valgmuligheder og nogle af deres værdier bestemmer nøjagtigt, hvilke mapper der adresseres. Sudo -kommandoen giver den almindelige bruger superbrugerrettigheder som standard.