Metadata är data om data. Den uppenbara storleken är storleken på de data som är viktiga för den vanliga användaren av datorn. Innehållet (texten) i användarens bokstäver, bilder, videor etc. utgör den uppenbara storleken. Denna data förvaras inte godtyckligt i datorn. Uppgifterna i skenbar storlek måste hållas kontrollerande. Det måste vara identifierbart. Det måste vara komplett. Det finns andra krav på det. Några extra data behövs för att uppnå dessa extra krav, och dessa extra data är metadata.
Kom ihåg att det bara finns en katalog i en volym. Resten är underkataloger. Rotkatalogen ger upphov till underkataloger, vilket leder till att andra underkataloger går ner. Underkataloger kallas dock vanligtvis helt enkelt kataloger. Och så finns det bara ett katalogträd.
Så ls -s är inte användbart för att få storleken på en katalog. Vilket kommando är då användbart? - Du -kommandot. du står för Diskanvändning. Det skriver ut diskanvändningen av katalogen.
Den här artikeln förklarar de olika funktionerna i du-kommandot i Linux, vilket ger de olika programmeringssätten sätt att känna till katalogernas storlek och deras underkataloger. Bash är skalet som används för kodproverna i denna artikel.
Artikelinnehåll
- du utan alternativ eller argument
- Storlek på andra kataloger
- skenbar storlek
- Sudokommandot
- Exklusive poster efter storlek
- utesluta = MÖNSTER
- Slutsats
du utan alternativ eller argument
Den aktuella arbetskatalogen är den katalog som användaren för närvarande arbetar i. Uppmaningen visar normalt den aktuella arbetskatalogen. Att skriva du utan något alternativ och argument, så här:
av
och sedan trycka på Enter-tangenten visas diskanvändningen för alla underkataloger i den aktuella arbetskatalogen. Den kommer att visa denna information för delträdet i den aktuella arbetskatalogen. En prick på displayen representerar den aktuella arbetskatalogen.
Varje sökväg i underträdet representeras i en rad på displayen. Varje rad börjar med storleken på katalogen (som är efternamnet i sökvägen). Displayen kan vara ungefär så här:
8./dir1/dir2/dir3/dir412./dir1/dir2/dir3
16./dir1/dir2
tjugo./dir1
Observera att det inte är klart om storleken är i byte eller kilobyte eller megabyte eller gigabyte. Kilobytes symbol, K betyder 1024 byte; Megabyte med symbol, M betyder 1 048 576 byte; Gigabyte med symbol, G betyder 1 073 741 824 byte. För att multiplarna ska anges bör alternativet -h (switch) användas enligt följande:
av -hDisplayen skulle då se ut så här:
8.0K./dir1/dir2/dir3/dir412K./dir1/dir2/dir3
16K./dir1/dir2
20K./dir1
När alternativet -h används sägs storlekarna vara läsbara.
Obs! Med alternativet –all kommer du -kommandot också att ge diskanvändning för filer; dock kommer diskanvändning för filer inte att behandlas i den här artikeln.
Storlek på andra kataloger
En typisk absolut väg för en Linux -volym är följande:
/Hem/john/säga/dirTwo/dirThree/dirFourDen första / är rotkatalogen. Denna katalog har omedelbara underkataloger, inklusive hemkatalogen. Hemkatalogen har användarens katalog. Om användarens namn är John kan han namnge användarens katalog, john. Användarens katalog identifieras med ~. Så kan användaren använda kommandot cd ~ för att nå sin katalog från valfri katalog. dirOne är en katalog som skapats av användaren. Användaren kan också skapa andra kataloger på denna nivå. dirTwo, dirThree och dirFour är underkataloger till sina tidigare kataloger, skapade av användaren.
Användaren kan känna storleken på en annan katalog och dess underkataloger (sub-tree) från valfri katalog, kringgå den absoluta sökvägen som ett argument. Till exempel, om hårddiskanvändning behövs,
/Hem/john/säga/dirTwodå skulle kommandot vara:
av -h /Hem/john/säga/dirTwoeller
av -h~/säga/dirTwodär ~ representerar användarens katalog.
För att använda en relativ sökväg måste användaren redan vara i motsvarande överordnade katalog. Om texten till exempel visas,
john@värd: ~/säg $vilket innebär att användaren finns i katalogen,/home/john/dirOne, kommer följande kommando att ge samma resultat som ovanstående kommando:
av -hdirTwoVägarna skulle fortfarande vara relativa. För att visa samma information för den aktuella katalogen, använd inget argument eller använd pricken.
Detta schema kan användas för att få storleken på endast en katalog, den sista i en sökväg (föregås av sökvägen). Det är möjligt att få storleken på en katalog i mitten av en sökväg - se uteslut = PATTERN nedan.
Grand Total
En total storlek på alla inblandade kataloger kan produceras. För ovanstående situation skulle kommandot vara:
av -h --totalskenbar storlek
Den skenbara storleken är vanligtvis mindre än diskanvändningen. Men i vissa situationer är den skenbara storleken större än diskanvändningen; anledning - se senare. Kommandot för att erhålla de skenbara storlekarna för den relativa sökvägen ovan skulle vara:
av -h --storlekdirTwoMaximal djup
Med –max-depth = 0, du skriver ut storleken på endast den aktuella arbetskatalogen; med du –max-djup = 1, du skriver ut storleken på den aktuella arbetskatalogen och storleken på alla dess underkataloger på första nivån; med –max-depth = 2, du skriver ut storleken på den aktuella arbetskatalogen och storleken på alla dess underkataloger på första nivån och på alla andra underkataloger på andra nivån; med –max-depth = 3, du skriver ut storleken på den nuvarande arbetskatalogen och alla dess underkataloger på första nivån, och alla dess underkataloger på andra nivån, och alla dess underkataloger på tredje nivån; detta fortsätter med ökande värde för maxdjup. Ett exempel på dess användning är:
av -h --Max djup=2Sudokommandot
En av katalogerna med egna underkataloger i rotkatalogen är var. Om användaren skriver
av -h /varoch trycker på Enter kommer han att inse att tillstånd nekas för vissa kataloger. Det vill säga, han kan inte veta storleken på vissa kataloger. Tillståndet nekas eftersom användaren inte är superanvändare. Superanvändaren har förmånen att se storleken (diskanvändning) på dessa kataloger. Så för att användaren ska få det privilegiet måste han använda kommandot sudo enligt följande:
sudo av -h /varOm skalet ber användaren om hans lösenord måste användaren skriva in lösenordet och trycka på Retur. Med kommandot sudo kan den vanliga användaren (programmeraren) se storleken på alla kataloger i var -katalogen och liknande kataloger.
Exklusive poster efter storlek
Alternativet –threshold = SIZE kommer inte att tillåta listningskataloger vars storlekar är mindre än SIZE. För vägen,
/Hem/john/säga/dirTwo/dirThree/dirFourmed uppmaningen kl[e -postskyddad]: ~ $ då
av -h --tröskel= 12K dirOnedär 12K betyder 12 kilobytes, kommer inte att visa raden för någon katalog vars diskanvändning är mindre än 12K.
–Exclude = MÖNSTER
Det här alternativet och värdet kan utelämna katalograder som användaren inte vill ha i listan.
För att utelämna raden för den sista katalogen, dirFour av sökvägen
/Hem/john/säga/dirTwo/dirThree/dirFourkommandot ska vara:
av -h --utesluta= säga/dirTwo/dirThree/dirFour dirOneResultatet blir ungefär,
4.0K dirOne/dirTwo/dirThree8.0K dirOne/dirTwo
12K dirOne
Obs! Storlekarna har inte inkluderat storleken på sökvägens sista nivåkatalog (dirFour).
Om du bara vill ha storleken på de övre djupkatalogerna och deras underträd har du inte de nedre djupkatalogerna i alternativet. Så med kommandot,
av -h --utesluta= säga/dirTwo/dirThree dirOneutgången kommer att vara ungefär,
4.0K dirOne/dirTwo
8K dirOne
Obs! Storlekarna har uteslutit storlekarna på trädets nedre spakkataloger.
Tänk igen, den absoluta länken,
/Hem/john/säga/dirTwo/dirThree/dirFourFöljande kommando hämtar endast diskanvändningen av dirTwo -katalogen, som är en katalog inom sökvägen. Kommandot är:
av -h --utesluta=/Hem/john/säga/dirTwo/ * /Hem/john/säga/dirTwoArgumentet har alla föregående kataloger ner till den i fråga. Värdet av att utesluta har alla föregående kataloger, som slutar med *, strax efter den aktuella. * betyder alla underkataloger på den nivån (och deras underträd). Resultatet blir ungefär,
5.0K/Hem/john/säga/dirTwoSlutsats
Att försöka veta storleken på en katalog med kommandot ls -s är vilseledande. Med det erhålls endast metadata från katalogen. För att känna till diskanvändningen i en katalog bör du -kommandot användas. När de används med alternativet -h är storleken på katalogerna läsbara. Den skenbara storleken kan erhållas med alternativet skenbar storlek. Utan något alternativ och argument visar du -kommandot bara storleken på alla underkataloger i den aktuella katalogen, inklusive den för den aktuella katalogen. Argumentet till du är vägen, som kan börja från roten. Alternativ och några av deras värden avgör exakt vilka kataloger som adresseras. Kommandot sudo ger de vanliga användarens superanvändarprivilegier som standard.