Kā iegūt direktorija lielumu Linux

How Get Size Directory Linux



Zināt direktorija lielumu Linux nav tik vienkārši, kā izklausās. Komanda ls -s uzskaitīs failus un apakšdirektorijus ar to izmēriem. Tomēr katalogiem norādītie izmēri (aptuveni 4096 baiti) nav diska izmantošana. Katalogā redzamais izmērs ir direktorija metadatu lielums.

Metadati ir dati par datiem. Šķietamais lielums ir to datu lielums, kas ir svarīgi parastajam datora lietotājam. Lietotāja vēstuļu, attēlu, videoklipu utt. Saturs (teksts) veido šķietamo lielumu. Šie dati netiek patvaļīgi glabāti datorā. Šķietamā lieluma dati ir jāglabā kontrolētā veidā. Tam jābūt identificējamam. Tam jābūt pilnīgam. Tam ir arī citas prasības. Lai sasniegtu šīs papildu prasības, ir nepieciešami daži papildu dati, un šie papildu dati ir metadati.







Atcerieties, ka sējumā ir tikai viens direktorijs. Pārējie ir apakšdirektoriji. Saknes direktorijā rodas apakšdirektoriji, kas izraisa citu apakšdirektoriju samazināšanos. Tomēr apakšdirektorijus parasti sauc vienkārši par direktorijiem. Un tā, ir tikai viens direktoriju koks.



Tātad, ls -s nav lietderīgi iegūt direktorija lielumu. Kura komanda tad ir noderīga? - Du komanda. du apzīmē diska izmantošanu. Tas izdrukā direktorija diska izmantošanu.



Šajā rakstā ir izskaidrotas dažādas du komandas funkcijas Linux, kas nodrošina dažādus programmētāju veidus, kā uzzināt direktoriju un to apakšdirektoriju izmērus. Bash ir apvalks, ko izmanto šī raksta koda paraugiem.





Raksta saturs

du bez izvēles vai argumentiem

Pašreizējais darba katalogs ir direktorijs, kurā lietotājs pašlaik strādā. Uzvedne parasti parāda pašreizējo darba direktoriju. Ierakstiet du bez jebkādām iespējām un argumentiem, piemēram:



no

un pēc tam nospiežot taustiņu Enter, tiks parādīts diska lietojums visām pašreizējā darba direktorija apakšdirektorijām. Šī informācija tiks parādīta pašreizējā darba direktorija apakškokam. Punkts displejā apzīmē pašreizējo darba direktoriju.

Katrs apakškoka ceļš displejā ir attēlots rindā. Katra rinda sākas ar direktorija lielumu (kas ir uzvārds ceļā). Displejs var būt šāds:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

divdesmit./dir1

Ņemiet vērā, ka nav skaidrs, vai lielums ir baiti vai kilobaiti, vai megabaiti vai gigabaiti. Kilobaiti simbola, K nozīmē 1024 baitus; Megabaiti simbola, M nozīmē 1 048 576 baiti; Gigabaiti simbola, G nozīmē 1 073 741 824 baitus. Lai norādītu daudzkārtņus, jāizmanto opcija -h (slēdzis) šādi:

no -h

Displejs izskatītos šādi:

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

12K./dir1/dir2/dir3

16K./dir1/dir2

20K./dir1

Ja tiek izmantota opcija -h, izmēri ir lasāmi.

Piezīme: izmantojot opciju –all, komanda du arī nodrošinās diska izmantošanu failiem; tomēr šajā rakstā netiks aplūkota diska izmantošana failiem.

Citu direktoriju lielums

Tipisks absolūtais ceļš Linux sējumam ir šāds:

/mājas/Džons/saki/dirTwo/dirThree/dirFour

Pirmais / ir saknes direktorijs. Šajā direktorijā ir tūlītēji apakšdirektoriji, ieskaitot mājas direktoriju. Mājas direktorijā ir lietotāja direktorijs. Ja lietotāja vārds ir Jānis, viņš var nosaukt lietotāja direktoriju Džons. Lietotāja direktoriju identificē ar ~. Tātad, lietotājs var izmantot komandu cd ~, lai sasniegtu savu direktoriju no jebkura direktorija. dirOne ir lietotāja izveidots direktorijs. Lietotājs var izveidot arī citus direktorijus šajā līmenī. dirTwo, dirThree un dirFour ir lietotāju iepriekš izveidoto direktoriju apakšdirektoriji.

Lietotājs var zināt jebkura cita direktorija un tā apakšdirektoriju (apakškoka) lielumu no jebkura direktorija, apejot absolūto ceļu kā argumentu. Piemēram, ja ir nepieciešams izmantot disku,

/mājas/Džons/saki/dirTwo

tad komanda būtu šāda:

no -h /mājas/Džons/saki/dirTwo

vai

no -h~/saki/dirTwo

kur ~ apzīmē lietotāja direktoriju.

Lai izmantotu relatīvo ceļu, lietotājam jau jābūt atbilstošajā vecāku direktorijā. Piemēram, ja tiek parādīta uzvedne,

Džons@saimnieks: ~/sakiet $

tas nozīmē, ka lietotājs atrodas direktorijā/home/john/dirOne, tad šī komanda sniegs tādu pašu rezultātu kā iepriekš minētā komanda:

no -hdirTwo

Ceļi joprojām būtu relatīvi. Lai parādītu to pašu informāciju par pašreizējo direktoriju, neizmantojiet nevienu argumentu vai izmantojiet punktu.

Šo shēmu var izmantot, lai iegūtu tikai viena direktorija lielumu, pēdējo ceļu (pirms ceļa). Ceļa vidū ir iespējams iegūt direktorija lielumu - skatīt exclude = PATTERN zemāk.

Kopsumma

Var izveidot visu iesaistīto direktoriju kopējo apjomu. Iepriekš minētajā situācijā komanda būtu šāda:

no -h --Kopā

šķietamais izmērs

Šķietamais izmērs parasti ir mazāks nekā diska lietojums. Tomēr dažās situācijās šķietamais izmērs ir lielāks nekā diska lietojums; iemesls - skatīt vēlāk. Komanda, lai iegūtu redzamos relatīvā ceļa izmērus, būtu šāda:

no -h -šķietams izmērsdirTwo

Maksimālais dziļums

Ar –max-dziļums = 0, du izdrukā tikai pašreizējā darba direktorija izmēru; ar du –max-dziļums = 1, du izdrukā pašreizējā darba direktorija lielumu un visu tā pirmā līmeņa apakšdirektoriju izmērus; ar –max-dziļums = 2, du izdrukā pašreizējā darba direktorija lielumu un visu tā pirmā līmeņa apakšdirektoriju un visu otrā līmeņa apakšdirektoriju izmērus; ar –max-dziļums = 3, du izdrukā pašreizējā darba direktorija un visu tā pirmā līmeņa apakšdirektoriju, kā arī visu tā otrā līmeņa apakšdirektoriju un visu trešā līmeņa apakšdirektoriju izmērus; tas turpinās, palielinoties maksimālā dziļuma vērtībai. Tās izmantošanas piemērs ir:

no -h -maksimālais dziļums=2

Sudo komanda

Viena no direktorijām, kuras saknes direktorijā ir savi apakšdirektoriji, ir var. Ja lietotājs raksta

no -h /kur

un nospiež Enter, viņš sapratīs, ka dažiem direktorijiem ir liegta atļauja. Tas ir, viņš nevar zināt dažu direktoriju izmērus. Atļauja tiek liegta, jo lietotājs nav virslietotājs. Virslietotājam ir privilēģija redzēt šo direktoriju izmērus (diska lietojumu). Tātad, lai lietotājs iegūtu šo privilēģiju, viņam ir jāizmanto sudo komanda šādi:

sudo no -h /kur

Ja apvalks prasa lietotājam viņa paroli, lietotājam ir jāievada parole un jānospiež Enter. Izmantojot komandu sudo, parasts lietotājs (programmētājs) var redzēt visu direktoriju izmērus direktorijā var un līdzīgos direktorijos.

Izņemot ierakstus pēc lieluma

Opcija –threshold = SIZE neļaus uzskaitīt direktorijus, kuru izmēri ir mazāki par SIZE. Ceļam,

/mājas/Džons/saki/dirTwo/dirThree/dirFour

ar uzvedni plkst[e -pasts aizsargāts]: ~ $, tad

no -h -slieksnis= 12K dirone

kur 12K nozīmē 12 kilobaitus, nerādīs rindu nevienam direktorijam, kura diska lietojums ir mazāks par 12K.

–Izslēgt = PATTERN

Šī opcija un vērtība var izlaist direktoriju rindas, kuras lietotājs nevēlas sarakstā.

Lai izlaistu pēdējā direktorija rindu, dirFour no ceļa

/mājas/Džons/saki/dirTwo/dirThree/dirFour

komandai vajadzētu būt:

no -h -izslēgt= teikt/dirTwo/dirThree/dirFour dirOne

Rezultāts būs kaut kas līdzīgs,

4,0 K dir/dirTwo/dirThree

8,0 K dir/dirTwo

12K diriģents

Piezīme: izmēros nav iekļauts ceļa pēdējā līmeņa direktorija (dirFour) lielums.

Lai būtu tikai augšējo dziļuma direktoriju un to apakškoku izmēri, opcijā nav zemākā dziļuma direktoriju. Tātad ar komandu,

no -h -izslēgt= teikt/dirTwo/dirThree dirOne

rezultāts būs kaut kas līdzīgs,

4,0 K dir/dirTwo

8K diriģents

Piezīme. Izmēri nav izslēguši koka apakšējo sviru direktoriju izmērus.

Vēlreiz apsveriet absolūto saiti,

/mājas/Džons/saki/dirTwo/dirThree/dirFour

Šī komanda iegūs diska izmantošanu tikai direktorijā dirTwo, kas ir direktorijs ceļā. Komanda ir šāda:

no -h -izslēgt=/mājas/Džons/saki/dirTwo/ * /mājas/Džons/saki/dirTwo

Argumentam ir visi iepriekšējie katalogi līdz attiecīgajam. Izslēgšanas vērtībai ir visi iepriekšējie katalogi, kas beidzas ar *, tieši aiz attiecīgā. * nozīmē visus šī līmeņa apakšdirektorijus (un to apakškokus). Rezultāts būs kaut kas līdzīgs,

5,0 tūkst/mājas/Džons/saki/dirTwo

Secinājums

Mēģinājums uzzināt direktorija lielumu ar komandu ls -s ir maldinošs. Ar to tiek iegūti tikai direktorija metadati. Lai uzzinātu direktorija diska lietojumu, jāizmanto komanda du. Ja to izmanto ar opciju -h, direktoriju izmēri ir nolasāmi. Šķietamo izmēru var iegūt, izmantojot šķietamā lieluma opciju. Bez jebkādām opcijām un argumentiem komanda du parāda tikai pašreizējā direktorija visu apakšdirektoriju izmērus, ieskaitot pašreizējā direktorija. Arguments du ir ceļš, kas var sākties no saknes. Iespējas un dažas to vērtības nosaka, kuri katalogi ir adresēti. Komanda sudo pēc noklusējuma piešķir parastam lietotājam superlietotāja privilēģijas.