Kaip gauti katalogo dydį „Linux“

How Get Size Directory Linux



Žinoti katalogo dydį „Linux“ nėra taip paprasta, kaip atrodo. Komanda ls -s išvardys failus ir pakatalogius su jų dydžiais. Tačiau katalogų dydžiai (apie 4096 baitai) nėra disko naudojimas. Rodomas katalogo dydis yra katalogo metaduomenų dydis.

Metaduomenys yra duomenys apie duomenis. Akivaizdus dydis yra duomenų dydis, svarbus paprastam kompiuterio vartotojui. Vartotojo laiškų, vaizdų, vaizdo įrašų ir kt. Turinys (tekstas) yra tariamas dydis. Šie duomenys nėra savavališkai saugomi kompiuteryje. Matomo dydžio duomenys turi būti saugomi kontroliuojant. Jis turi būti atpažįstamas. Jis turi būti baigtas. Tam yra ir kitų reikalavimų. Šiems papildomiems reikalavimams pasiekti reikia papildomų duomenų, o šie papildomi duomenys yra metaduomenys.







Atminkite, kad tome yra tik vienas katalogas. Likusi dalis yra pakatalogiai. Šakninis katalogas sukuria antrinius katalogus, dėl kurių kiti antriniai katalogai mažėja. Tačiau pakatalogiai paprastai vadinami tiesiog katalogais. Taigi yra tik vienas katalogų medis.



Taigi, ls -s nėra naudinga norint gauti katalogo dydį. Kokia komanda tada naudinga? - Du komanda. du reiškia „Disko naudojimas“. Jis spausdina katalogo disko naudojimą.



Šiame straipsnyje paaiškinamos skirtingos „du“ komandos funkcijos „Linux“, kurioje pateikiami skirtingi programuotojų būdai sužinoti katalogų ir jų pakatalogių dydžius. Bash yra apvalkalas, naudojamas šio straipsnio kodo pavyzdžiams.





Straipsnio turinys

du be pasirinkimo ar argumentų

Dabartinis darbo katalogas yra katalogas, kuriame šiuo metu dirba vartotojas. Paprastai eilutėje rodomas dabartinis darbo katalogas. Įveskite du be jokių variantų ir argumentų, pavyzdžiui:



apie

ir paspaudus klavišą Enter, bus rodomas visų dabartinio darbo katalogo pakatalogių disko naudojimas. Ši informacija bus rodoma dabartinio darbo katalogo antrajame medyje. Taškas ekrane reiškia esamą darbo katalogą.

Kiekvienas antrinio medžio kelias rodomas eilutėje ekrane. Kiekviena eilutė prasideda katalogo dydžiu (kuris yra pavardė kelyje). Ekranas gali būti toks:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

dvidešimt./dir1

Atkreipkite dėmesį, kad nėra aišku, ar dydis yra baitais, kilobaitais, megabaitais ar gigabaitais. Kilobaitai simbolio, K reiškia 1024 baitus; Megabaitai simbolio, M reiškia 1 048 576 baitus; Gigabaitai simbolio, G reiškia 1 073 741 824 baitus. Norint nurodyti daugiklius, reikia naudoti parinktį -h (jungiklį):

apie -h

Tada ekranas atrodys taip:

8,0 tūkst./dir1/dir2/dir3/dir4

12 tūkst./dir1/dir2/dir3

16 tūkst./dir1/dir2

20 tūkst./dir1

Kai naudojama parinktis -h, sakoma, kad dydžiai yra skaitomos formos.

Pastaba: pasirinkus –all, du komanda taip pat suteiks failų disko naudojimą; tačiau šiame straipsnyje nebus aptariamas failų disko naudojimas.

Kitų katalogų dydis

Tipiškas absoliutus „Linux“ tomo kelias yra toks:

/namai/Džonas/pasakyti/dirTwo/dirThree/dirFour

Pirmasis / yra šakninis katalogas. Šiame kataloge yra tiesioginiai pakatalogiai, įskaitant namų katalogą. Pagrindinis katalogas turi vartotojo katalogą. Jei vartotojo vardas yra Jonas, jis gali pavadinti vartotojo katalogą, John. Vartotojo katalogą identifikuoja ~. Taigi vartotojas gali naudoti komandą cd ~, kad pasiektų savo katalogą iš bet kurio katalogo. dirOne yra vartotojo sukurtas katalogas. Vartotojas taip pat gali sukurti kitus šio lygio katalogus. „dirTwo“, „dirThree“ ir „dirFour“ yra ankstesnių katalogų antriniai katalogai, sukurti vartotojo.

Vartotojas gali žinoti bet kurio kito katalogo dydį ir jo pakatalogius (antrinį medį) iš bet kurio katalogo, apeidamas absoliučią kelią kaip argumentą. Pavyzdžiui, jei reikia naudoti diską,

/namai/Džonas/pasakyti/dirTwo

tada komanda būtų tokia:

apie -h /namai/Džonas/pasakyti/dirTwo

arba

apie -h~/pasakyti/dirTwo

kur ~ žymi vartotojo katalogą.

Norėdami naudoti santykinį kelią, vartotojas jau turi būti atitinkamame pirminiame kataloge. Pavyzdžiui, jei rodomas raginimas,

Džonas@šeimininkas: ~/sakyk $

tai reiškia, kad vartotojas yra kataloge/home/john/dirOne, tada ši komanda duos tą patį rezultatą kaip ir aukščiau pateikta komanda:

apie -hdirTwo

Keliai vis tiek būtų santykiniai. Norėdami rodyti tą pačią dabartinio katalogo informaciją, nenaudokite jokių argumentų arba naudokite tašką.

Ši schema gali būti naudojama norint gauti tik vieno katalogo dydį, paskutinį kelyje (prieš kurį nurodytas kelias). Galima gauti katalogo dydį kelio viduryje - žr. Exclude = PATTERN žemiau.

Iš viso

Galima sukurti bendrą visų susijusių katalogų dydį. Esant aukščiau aprašytai situacijai, komanda būtų tokia:

apie -h -iš viso

matomo dydžio

Matomas dydis paprastai yra mažesnis nei disko naudojimas. Tačiau kai kuriais atvejais tariamas dydis yra didesnis nei disko naudojimas; priežastis - žiūrėkite vėliau. Komanda, skirta gauti matomus santykinio kelio dydžius, būtų tokia:

apie -h -matomo dydžiodirTwo

Maksimalus gylis

Kai –max-gylis = 0, du spausdina tik dabartinio darbo katalogo dydį; su du –max-gylis = 1, du spausdina dabartinio darbo katalogo dydį ir visų jo pirmojo lygio pakatalogių dydžius; su –max-gylis = 2, du spausdina dabartinio darbo katalogo dydį ir visų jo pirmojo lygio pakatalogių bei visų antro lygio pakatalogių dydžius; su –max-gylis = 3, du spausdina dabartinio darbo katalogo ir visų jo pirmojo lygio pakatalogių, visų antrojo lygio ir visų trečiojo lygio katalogų dydį; tai tęsiasi didėjant maksimaliam gyliui. Jo naudojimo pavyzdys yra:

apie -h -didžiausias gylis=2

Sudo komanda

Vienas iš katalogų, turinčių savo katalogus šakniniame kataloge, yra var. Jei vartotojas įveda

apie -h /kur

ir paspaus Enter, jis supras, kad kai kuriems katalogams leidimas neleidžiamas. Tai yra, jis negali žinoti kai kurių katalogų dydžių. Leidimas atmestas, nes vartotojas nėra supernaudotojas. Valdytojas turi privilegiją matyti tų katalogų dydžius (disko naudojimą). Taigi, kad vartotojas įgytų šią privilegiją, jis turi naudoti komandą sudo taip:

sudo apie -h /kur

Jei apvalkalas prašo vartotojo slaptažodžio, vartotojas turi įvesti slaptažodį ir paspausti „Enter“. Naudodamas komandą sudo, paprastas vartotojas (programuotojas) gali matyti visų katalogų dydžius kataloge var ir panašius katalogus.

Išskyrus įrašus pagal dydį

Parinktis –threshold = SIZE neleis įtraukti katalogų, kurių dydis yra mažesnis nei SIZE. Dėl kelio,

/namai/Džonas/pasakyti/dirTwo/dirThree/dirFour

su raginimu[apsaugotas el. paštas]: ~ $, tada

apie -h --slenkstis= 12 tūkst. Dir

kur 12K reiškia 12 kilobaitų, nerodys eilutės jokiame kataloge, kurio disko naudojimas yra mažesnis nei 12K.

–Neįtraukti = PATTERN

Ši parinktis ir vertė gali praleisti katalogų eilutes, kurių vartotojas nenori įtraukti į sąrašą.

Norėdami praleisti paskutinio katalogo eilutę, nurodykite kelio keturis

/namai/Džonas/pasakyti/dirTwo/dirThree/dirFour

komanda turėtų būti tokia:

apie -h --Neįtraukti= sakyk/dirTwo/dirThree/dirFour dirOne

Rezultatas bus kažkas panašaus,

4,0 tūkst. Dir/dirTwo/dirThree

8,0 tūkst. Dir/dirTwo

12K dir

Pastaba: dydžiai neįtraukė paskutinio kelio katalogo (dirFour) dydžio.

Jei norite turėti tik viršutinio gylio katalogų ir jų poskyrių dydžius, parinktyje neturėkite žemesnio gylio katalogų. Taigi su komanda,

apie -h --Neįtraukti= sakyk/dirTwo/dirThree dirOne

išvestis bus kažkas panašaus,

4,0 tūkst. Dir/dirTwo

8K dirigenas

Pastaba: dydžiai neįtraukė medžio apatinių svirties katalogų dydžių.

Dar kartą apsvarstykite absoliučią nuorodą,

/namai/Džonas/pasakyti/dirTwo/dirThree/dirFour

Ši komanda gaus disko naudojimą tik kataloge dirTwo, kuris yra kelio katalogas. Komanda yra tokia:

apie -h --Neįtraukti=/namai/Džonas/pasakyti/dirTwo/ * /namai/Džonas/pasakyti/dirTwo

Argumentas turi visus ankstesnius katalogus iki atitinkamo. Išskyrimo reikšmė turi visus ankstesnius katalogus, kurie baigiasi *, iškart po atitinkamo. * reiškia visus to lygio pakatalogius (ir jų antrinius medžius). Rezultatas bus kažkas panašaus,

5,0 tūkst/namai/Džonas/pasakyti/dirTwo

Išvada

Bandymas sužinoti katalogo dydį naudojant komandą ls -s yra klaidinantis. Su juo gaunami tik katalogo metaduomenys. Norint sužinoti katalogo disko naudojimą, reikia naudoti komandą du. Naudojant parinktį -h, katalogų dydžiai yra įskaitomi. Matomą dydį galima gauti naudojant tariamojo dydžio parinktį. Be jokių parinkčių ir argumentų komanda du tiesiog parodo visų dabartinio katalogo pakatalogių dydžius, įskaitant dabartinio katalogo dydžius. Argumentas du yra kelias, kuris gali prasidėti nuo šaknies. Parinktys ir kai kurios jų vertės tiksliai nustato, į kuriuos katalogus kreipiamasi. Komanda sudo pagal numatytuosius nustatymus suteikia paprastam vartotojui super vartotojo teises.