Kako dobiti velikost imenika v Linuxu

How Get Size Directory Linux



Poznavanje velikosti imenika v Linuxu ni tako preprosto, kot se sliši. Ukaz ls -s bo prikazal datoteke in podmape z njihovimi velikostmi. Vendar pa velikosti (približno 4096 bajtov) za imenike niso uporaba diska. Velikost, ki jo vidimo za imenik, je velikost metapodatkov imenika.

Metapodatki so podatki o podatkih. Navidezna velikost je velikost podatkov, ki so pomembni za običajnega uporabnika računalnika. Vsebina (besedilo) uporabnikovih pisem, slik, video posnetkov itd. Predstavlja navidezno velikost. Ti podatki se v računalniku ne hranijo poljubno. Podatke navidezne velikosti je treba hraniti na nadzorni način. Mora biti prepoznaven. Mora biti popolna. Za to obstajajo še druge zahteve. Za dosego teh dodatnih zahtev je potrebno nekaj dodatnih podatkov, ti dodatni podatki pa so metapodatki.







Ne pozabite, da je v nosilcu samo en imenik. Ostali so podimeniki. Korenski imenik povzroči nastanek podimenikov, ki povzročajo znižanje drugih podimenikov. Vendar se podimeniki običajno preprosto imenujejo imeniki. Torej obstaja samo eno drevo imenikov.



Torej, ls -s ni uporaben za pridobitev velikosti imenika. Kateri ukaz je potem uporaben? - Ukaz du. du pomeni uporabo diska. Natisne uporabo imenika na disku.



Ta članek pojasnjuje različne funkcije ukaza du v Linuxu, ki različnim programerjem ponuja načine za poznavanje velikosti imenikov in njihovih podimenikov. Bash je lupina, ki se uporablja za vzorce kod v tem članku.





Vsebina članka

du brez možnosti ali argumenta

Trenutni delovni imenik je imenik, v katerem trenutno dela uporabnik. Poziv običajno prikazuje trenutni delovni imenik. Vnesite du brez možnosti in argumentov takole:



od

in nato s pritiskom na tipko Enter se prikaže uporaba diska za vse podimenike trenutnega delovnega imenika. Prikazal bo te podatke za poddrevo trenutnega delovnega imenika. Pika na zaslonu predstavlja trenutni delovni imenik.

Vsaka pot pod drevesa je prikazana v vrstici na zaslonu. Vsaka vrstica se začne z velikostjo imenika (ki je priimek na poti). Zaslon je lahko nekaj takega:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

dvajset./dir1

Upoštevajte, da ni jasno, ali je velikost v bajtih ali kilobajtih ali megabajtih ali gigabajtih. Kilobajti simbola, K pomeni 1024 bajtov; Megabajti simbola, M pomeni 1.048.576 bajtov; Gigabajti simbola, G pomeni 1.073.741.824 bajtov. Za prikaz večkratnikov je treba uporabiti možnost -h (stikalo), kot sledi:

od -h

Zaslon bi potem izgledal tako:

8,0 tisoč./dir1/dir2/dir3/dir4

12K./dir1/dir2/dir3

16 tisoč./dir1/dir2

20 tisoč./dir1

Ko se uporabi možnost -h, naj bi bile velikosti v berljivi obliki.

Opomba: z možnostjo –all bo ukaz du omogočil tudi uporabo diska za datoteke; uporaba diska za datoteke pa v tem članku ne bo obravnavana.

Velikost drugih imenikov

Tipična absolutna pot za nosilec Linuxa je naslednja:

/doma/Janez/recimo/dirTwo/dirTri/dirFour

Prvi / je korenski imenik. Ta imenik ima takojšnje podimenike, vključno z domačim. Domači imenik ima imenik uporabnika. Če je uporabniku ime John, lahko poimenuje imenik uporabnika john. Imenik uporabnika je označen z ~. Tako lahko uporabnik z ukazom cd ~ pride do svojega imenika iz katerega koli imenika. dirOne je imenik, ki ga ustvari uporabnik. Na tej ravni lahko uporabnik ustvari tudi druge imenike. dirTwo, dirThree in dirFour so podimeniki njihovih prejšnjih imenikov, ki jih je ustvaril uporabnik.

Uporabnik lahko iz katerega koli imenika pozna velikost katerega koli drugega imenika in njegove podimenike (poddrevo), pri čemer zaobide absolutno pot kot argument. Če je na primer potrebna uporaba diska,

/doma/Janez/recimo/dirTwo

potem bi bil ukaz tak:

od -h /doma/Janez/recimo/dirTwo

ali

od -h~/recimo/dirTwo

kjer ~ predstavlja uporabnikov imenik.

Za uporabo relativne poti mora biti uporabnik že v ustreznem nadrejenem imeniku. Če se na primer prikaže poziv,

Janez@gostitelj: ~/recimo $

kar pomeni, da je uporabnik v imeniku/home/john/dirOne, bo naslednji ukaz dal enak rezultat kot zgornji ukaz:

od -hdirTwo

Poti bi bile še vedno relativne. Če želite prikazati iste podatke za trenutni imenik, ne uporabite nobenega argumenta ali uporabite piko.

S to shemo lahko dobite velikost samo enega imenika, zadnjega na poti (pred katerim je pot). Velikost imenika je mogoče določiti sredi poti - glej izključi = VZOREC spodaj.

Skupna vsota

Lahko se ustvari velika skupna velikost vseh vključenih imenikov. Za zgornjo situacijo bi bil ukaz naslednji:

od -h -skupaj

navidezna velikost

Navidezna velikost je običajno manjša od porabe diska. Vendar je v nekaterih primerih navidezna velikost večja od uporabe diska; razlog - glej kasneje. Ukaz za pridobitev navideznih velikosti zgornje relativne poti bi bil:

od -h -navidezna velikostdirTwo

Največja globina

Z –max-globina = 0, du natisne velikost samo trenutnega delovnega imenika; z du –max-globina = 1, du natisne velikost trenutnega delovnega imenika in velikosti vseh njegovih podimenikov prve ravni; z –max-globina = 2, du natisne velikost trenutnega delovnega imenika in velikosti vseh njegovih podimenikov prve ravni ter vseh podimenikov druge ravni; z –max-globina = 3, du natisne velikost trenutnega delovnega imenika in vseh njegovih podimenikov prve ravni ter vseh podimenikov druge ravni in vseh podimenikov tretje ravni; to se nadaljuje z naraščajočo vrednostjo max-globine. Primer njegove uporabe je:

od -h -največja globina=2

Ukaz sudo

Eden od imenikov z lastnimi podimeniki v korenskem imeniku je var. Če uporabnik vnese

od -h /kje

in pritisne Enter, bo spoznal, da je dovoljenje za nekatere imenike zavrnjeno. To pomeni, da ne more poznati velikosti nekaterih imenikov. Dovoljenje je zavrnjeno, ker uporabnik ni super -uporabnik. Superuporabnik ima privilegij videti velikosti (uporabo diska) teh imenikov. Zato mora uporabnik za pridobitev tega privilegija uporabiti ukaz sudo na naslednji način:

sudo od -h /kje

Če lupina vpraša uporabnika za geslo, mora uporabnik vnesti geslo in pritisniti Enter. Z ukazom sudo lahko navaden uporabnik (programer) vidi velikosti vseh imenikov v imeniku var in podobnih imenikih.

Izključitev vnosov po velikosti

Možnost –threshold = SIZE ne dovoljuje navedbe imenikov, katerih velikosti so manjše od SIZE. Za pot,

/doma/Janez/recimo/dirTwo/dirTri/dirFour

s pozivom pri[zaščiteno po e -pošti]: ~ $, potem

od -h -prag= 12K dirOne

kjer 12K pomeni 12 kilobajtov, ne bo prikazala vrstice za imenik, katerega uporaba diska je manjša od 12K.

–Izključi = VZOREC

Ta možnost in vrednost lahko izpustita vrstice imenika, ki jih uporabnik ne želi na seznamu.

Če želite izpustiti vrstico za zadnji imenik, dirFour poti

/doma/Janez/recimo/dirTwo/dirTri/dirFour

ukaz bi moral biti:

od -h --izključi= reci/dirTwo/dirTri/dirFour dirOne

Rezultat bo nekaj takega,

4,0K dirOne/dirTwo/dirTri

8,0K dirOne/dirTwo

12K dirOne

Opomba: velikosti niso vključevale velikosti imenika zadnje ravni (dirFour) poti.

Če želite imeti samo imenike zgornjih globin in njihova poddrevesa, v možnosti ne imejte imenikov nižje globine. Torej z ukazom,

od -h --izključi= reci/dirTwo/dirTri dirOne

izhod bo nekaj takega,

4,0K dirOne/dirTwo

8K dirOne

Opomba: velikosti so izključile velikosti spodnjih imenikov drevesa.

Ponovno razmislite o absolutni povezavi,

/doma/Janez/recimo/dirTwo/dirTri/dirFour

Naslednji ukaz bo omogočil uporabo diska samo imenika dirTwo, ki je imenik v poti. Ukaz je:

od -h --izključi=/doma/Janez/recimo/dirTwo/ * /doma/Janez/recimo/dirTwo

Argument ima vse prejšnje imenike do zadevnega. Vrednost izključitve ima vse prejšnje imenike, ki se končajo z *, tik za zadevnim. * pomeni vse podimenike na tej ravni (in njihova poddrevesa). Rezultat bo nekaj takega,

5,0 tisoč/doma/Janez/recimo/dirTwo

Zaključek

Poskus določanja velikosti imenika z ukazom ls -s je zavajajoč. Z njim se pridobijo le metapodatki imenika. Če želite vedeti uporabo imenika na disku, je treba uporabiti ukaz du. Ko se uporablja z možnostjo -h, so velikosti imenikov berljive. Navidezno velikost lahko dobite z možnostjo navidezne velikosti. Brez možnosti in argumentov ukaz du prikaže le velikosti vseh podimenikov trenutnega imenika, vključno z imenikom trenutnega imenika. Argument za du je pot, ki se lahko začne od korena. Možnosti in nekatere njihove vrednosti odločajo, kateri imeniki so naslovljeni. Ukaz sudo privzeto daje navadne uporabniške privilegije superkorisnika.