Metapodaci su podaci o podacima. Prividna veličina je veličina podataka koji su važni običnom korisniku računala. Sadržaj (tekst) korisnikovih pisama, slika, video zapisa itd. Čine prividnu veličinu. Ti se podaci ne čuvaju proizvoljno u računalu. Podaci prividne veličine moraju se držati na kontrolni način. Mora biti prepoznatljiv. Mora biti potpuna. Za to postoje i drugi zahtjevi. Za postizanje ovih dodatnih zahtjeva potrebni su neki dodatni podaci, a ti dodatni podaci su metapodaci.
Upamtite, u svesku postoji samo jedan direktorij. Ostalo su poddirektoriji. Iz korijenskog direktorija nastaju poddirektoriji, koji dovode do pada ostalih poddirektorija. Međutim, poddirektoriji se obično jednostavno zovu direktoriji. Dakle, postoji samo jedno stablo direktorija.
Dakle, ls -s nije korisno za dobivanje veličine direktorija. Koja je onda naredba korisna? - Zapovjed du. du označava upotrebu diska. Ispisuje korištenje direktorija na disku.
Ovaj članak objašnjava različite značajke naredbe du u Linuxu, koja pruža različitim programerima načine za poznavanje veličina direktorija i njihovih poddirektorija. Bash je ljuska koja se koristi za uzorke koda ovog članka.
Sadržaj članka
- du bez Opcije ili Argumenta
- Veličina ostalih imenika
- prividne veličine
- Sudo naredba
- Izuzimanje unosa prema veličini
- isključiti = UZORAK
- Zaključak
du bez Opcije ili Argumenta
Trenutni radni direktorij je direktorij u kojem korisnik trenutno radi. Odzivnik obično prikazuje trenutni radni direktorij. Upisivanje du bez ikakve opcije i argumenta, ovako:
od
a zatim pritiskom na tipku Enter prikazat će se upotreba diska za sve poddirektorije trenutnog radnog imenika. Prikazat će te podatke za podstablo trenutnog radnog imenika. Točka na zaslonu predstavlja trenutni radni direktorij.
Svaka staza podstabla predstavljena je u retku, na zaslonu. Svaki redak počinje veličinom direktorija (koji je prezime na putu). Zaslon može biti nešto poput:
8./dir1/dir2/dir3/dir412./dir1/dir2/dir3
16./dir1/dir2
dvadeset./dir1
Uočite da nije jasno je li veličina u bajtima ili kilobajtima ili megabajtima ili gigabajtima. Kilobajta simbola, K znači 1024 bajta; Megabajti simbola, M znači 1.048.576 bajtova; Gigabajti simbola, G znači 1.073.741.824 bajta. Da bi se prikazali višekratnici, treba koristiti opciju -h (prekidač), kako slijedi:
od -hZaslon bi tada izgledao ovako:
8,0K./dir1/dir2/dir3/dir412.000/dir1/dir2/dir3
16.000/dir1/dir2
20 tisuća./dir1
Kad se koristi opcija -h, kaže se da su veličine u čitljivom obliku.
Napomena: s opcijom –all naredba du će također upotrijebiti disk za datoteke; međutim, upotreba diska za datoteke neće biti obrađena u ovom članku.
Veličina ostalih imenika
Tipičan apsolutni put za Linux volumen je sljedeći:
/Dom/Ivan/reći/dirTwo/dirTri/dirFourPrvi / je korijenski direktorij. Ovaj direktorij ima neposredne podimenike, uključujući i kućni direktorij. Domaći direktorij ima direktorij korisnika. Ako se korisničko ime zove John, tada može imenovati korisnički imenik, john. Korisnički imenik identificiran je ~. Dakle, korisnik može koristiti naredbu cd ~ za pristup svom direktoriju iz bilo kojeg imenika. dirOne je direktorij koji je stvorio korisnik. Korisnik može stvoriti i druge direktorije na ovoj razini. dirTwo, dirThree i dirFour su poddirektoriji njihovih prethodnih direktorija, koje je stvorio korisnik.
Korisnik može znati veličinu bilo kojeg drugog direktorija i njegove poddirektorije (podstablo) iz bilo kojeg direktorija, zaobilazeći apsolutni put kao argument. Na primjer, ako je potrebno korištenje diska,
/Dom/Ivan/reći/dirTwotada bi naredba bila:
od -h /Dom/Ivan/reći/dirTwoili
od -h~/reći/dirTwogdje ~ predstavlja imenik korisnika.
Da bi koristio relativni put, korisnik mora već biti u odgovarajućem roditeljskom direktoriju. Na primjer, ako se prikazuje upit,
Ivan@domaćin: ~/recimo $što znači da je korisnik u direktoriju,/home/john/dirOne, tada će sljedeća naredba dati isti rezultat kao gornja naredba:
od -hdirTwoPutevi bi i dalje bili relativni. Za prikaz istih podataka za trenutni direktorij ne koristite argumente ili koristite točku.
Ova se shema može koristiti za dobivanje veličine samo jednog direktorija, posljednjeg na putu (kojem prethodi put). Moguće je dobiti veličinu direktorija usred staze - pogledajte exclude = PATTERN ispod.
Ukupno
Može se proizvesti velika ukupna veličina svih uključenih direktorija. Za gornju situaciju naredba bi bila:
od -h --ukupnoprividne veličine
Prividna veličina obično je manja od upotrebe diska. Međutim, u nekim je situacijama prividna veličina veća od upotrebe diska; razlog - vidjeti kasnije. Naredba za dobivanje prividnih veličina za gornju relativnu putanju bila bi:
od -h -prividne veličinedirTwoMaksimalna dubina
S –max-depth = 0, du ispisuje veličinu samo trenutnog radnog imenika; s du –max-depth = 1, du ispisuje veličinu trenutnog radnog imenika i veličine svih njegovih poddirektorija prve razine; s –max-depth = 2, du ispisuje veličinu trenutnog radnog imenika i veličine svih njegovih poddirektorija prve razine i svih poddirektorija druge razine; s –max-depth = 3, du ispisuje veličinu trenutnog radnog imenika i sve njegove poddirektorije prve razine, sve poddirektorije druge razine i sve poddirektorije treće razine; to se nastavlja povećanjem vrijednosti max-dubine. Primjer njegove uporabe je:
od -h --max-dubina=2Sudo naredba
Jedan od direktorija s vlastitim poddirektorijima u korijenskom direktoriju je var. Ako korisnik upiše
od -h /gdjei pritisne Enter, shvatit će da je dopuštenje za neke imenike odbijeno. Odnosno, ne može znati veličine nekih imenika. Dopuštenje se odbija jer korisnik nije superkorisnik. Superkorisnik ima privilegiju vidjeti veličine (korištenje diska) tih direktorija. Dakle, da bi korisnik stekao tu privilegiju, mora koristiti naredbu sudo na sljedeći način:
sudo od -h /gdjeAko ljuska od korisnika traži njegovu lozinku, korisnik mora unijeti lozinku i pritisnuti Enter. Pomoću naredbe sudo obični korisnik (programer) može vidjeti veličine svih direktorija u var direktoriju i sličnih direktorija.
Izuzimanje unosa prema veličini
Opcija –threshold = SIZE neće dopustiti popis direktorija čija je veličina manja od SIZE. Za put,
/Dom/Ivan/reći/dirTwo/dirTri/dirFours upitom na[zaštićena e -pošta]: ~ $, dakle
od -h --prag= 12K dirOnegdje 12K znači 12 kilobajta, neće prikazati redak za bilo koji direktorij čija je upotreba diska manja od 12K.
–Isključi = UZORAK
Ova opcija i vrijednost mogu izostaviti retke direktorija koje korisnik ne želi na popisu.
Za izostavljanje retka za zadnji direktorij, dirFour puta
/Dom/Ivan/reći/dirTwo/dirTri/dirFournaredba bi trebala biti:
od -h --isključiti= reci/dirTwo/dirTri/dirČetiri dirOneRezultat će biti nešto poput,
4,0K dirOne/dirTwo/dirTri8,0K dirOne/dirTwo
12K dirOne
Napomena: veličine nisu uključivale veličinu imenika zadnje razine (dirFour) putanje.
Da biste imali samo veličine direktorija gornje dubine i njihovih podstabala, nemojte imati opcije direktorija niže dubine u opciji. Dakle, s naredbom,
od -h --isključiti= reci/dirTwo/dirTri dirOneizlaz će biti nešto poput,
4,0K dirOne/dirTwo
8K dirOne
Napomena: veličine su isključile veličine donjih direktorija stabla.
Razmotrimo još jednom, apsolutnu vezu,
/Dom/Ivan/reći/dirTwo/dirTri/dirFourSljedeća naredba omogućit će disku korištenje samo direktorija dirTwo, koji je direktorij unutar staze. Naredba je:
od -h --isključiti=/Dom/Ivan/reći/dirTwo/ * /Dom/Ivan/reći/dirTwoArgument ima sve prethodne direktorije do onog u pitanju. Vrijednost izuzimanja ima sve prethodne direktorije, koji završavaju sa *, odmah iza dotičnog. * znači sve poddirektorije na toj razini (i njihova podstabla). Rezultat će biti nešto poput,
5,0K/Dom/Ivan/reći/dirTwoZaključak
Pokušaj da se sazna veličina direktorija pomoću naredbe ls -s dovodi u zabludu. Pomoću njega dobivaju se samo meta-podaci imenika. Da biste znali korištenje direktorija na disku, treba koristiti naredbu du. Kad se koristi s opcijom -h, veličine direktorija su čitljive. Prividna veličina može se dobiti pomoću opcije prividne veličine. Bez ikakvih opcija i argumenata, naredba du samo prikazuje veličine svih poddirektorija trenutnog direktorija, uključujući i onaj trenutnog direktorija. Argument du je put koji može započeti iz korijena. Opcije i neke njihove vrijednosti točno odlučuju kojim će se direktorijima adresirati. Naredba sudo prema zadanim postavkama daje privilegije superusera običnom korisniku.