Com obtenir la mida d’un directori a Linux

How Get Size Directory Linux



Conèixer la mida d’un directori a Linux no és tan senzill com sembla. L'ordre ls -s llistarà els fitxers i subdirectoris amb les seves mides. Tanmateix, les mides (aproximadament 4096 bytes) donades per als directoris no són ús del disc. La mida d’un directori és la mida de les metadades del directori.

Les metadades són dades sobre dades. La mida aparent és la mida de les dades que són importants per a l’usuari normal de l’ordinador. El contingut (text) de les cartes, imatges, vídeos de l’usuari constitueix la mida aparent. Aquestes dades no es conserven arbitràriament a l'ordinador. Les dades de mida aparent s'han de conservar de manera controlada. Ha de ser identificable. Ha de ser complet. Hi ha altres requisits per fer-ho. Es necessiten algunes dades addicionals per assolir aquests requisits addicionals, i aquestes dades addicionals són les metadades.







Recordeu, només hi ha un directori en un volum. La resta són subdirectoris. El directori arrel dóna lloc a subdirectoris, que donen lloc a la baixada d'altres subdirectoris. No obstant això, els subdirectoris se solen anomenar simplement directoris. Per tant, només hi ha un arbre de directoris.



Per tant, ls -s no és útil per obtenir la mida d’un directori. Quina ordre és útil? - El comandament du. du significa ús del disc. Imprimeix l'ús del disc del directori.



Aquest article explica les diferents característiques de l'ordre du a Linux, que proporciona les diferents maneres del programador de conèixer les mides dels directoris i els seus subdirectoris. Bash és l'intèrpret d'ordres utilitzat per a les mostres de codi d'aquest article.





Contingut de l'article

du sense Opció ni Argument

El directori de treball actual és el directori en què treballa l'usuari actualment. El missatge sol mostrar el directori de treball actual. Escrivint du sense cap opció ni argument, així:



de

i després prement la tecla Retorn es mostrarà l'ús del disc per a tots els subdirectoris del directori de treball actual. Es mostrarà aquesta informació per al subarbre del directori de treball actual. Un punt a la pantalla representa el directori de treball actual.

Cada ruta del subarbre es representa en una línia, a la pantalla. Cada línia comença amb la mida del directori (que és el cognom del camí). La pantalla pot ser com:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

20./dir1

Fixeu-vos que no està clar si la mida és en bytes o kilobytes o megabytes o gigabytes. Kilobytes de símbol, K significa 1024 bytes; Megabytes de símbol, M significa 1.048.576 bytes; Gigabytes de símbol, G significa 1.073.741.824 bytes. Per indicar els múltiples, s’ha d’utilitzar l’opció -h (commutador), de la següent manera:

de -h

La pantalla tindrà un aspecte semblant:

8,0 K./dir1/dir2/dir3/dir4

12K./dir1/dir2/dir3

16K./dir1/dir2

20K./dir1

Quan s’utilitza l’opció -h, es diu que les mides es poden llegir.

Nota: amb l’opció –all, l’ordre du també donarà ús del disc als fitxers; no obstant això, l'ús del disc per als fitxers no s'abordarà en aquest article.

Mida d'altres directoris

Un camí absolut típic per a un volum de Linux és el següent:

/a casa/john/dir/dirTwo/dirThree/dirFour

El primer / és el directori arrel. Aquest directori té subdirectors directes, inclòs el directori inicial. El directori inicial té el directori de l'usuari. Si el nom de l'usuari és John, aleshores pot anomenar john al directori de l'usuari. El directori de l’usuari s’identifica amb ~. Per tant, l'usuari pot utilitzar l'ordre cd ~ per accedir al seu directori des de qualsevol directori. dirOne és un directori creat per l'usuari. L'usuari també pot crear altres directoris en aquest nivell. dirTwo, dirThree i dirFour són subdirectoris dels seus directoris anteriors, creats per l'usuari.

L'usuari pot conèixer la mida de qualsevol altre directori i els seus subdirectoris (subarbre) des de qualsevol directori, saltant el camí d'accés absolut com a argument. Per exemple, si es necessita l'ús del disc,

/a casa/john/dir/dirTwo

llavors l'ordre seria:

de -h /a casa/john/dir/dirTwo

o bé

de -h~/dir/dirTwo

on ~ representa el directori de l'usuari.

Per utilitzar un camí d'accés relatiu, l'usuari ja ha d'estar al directori pare corresponent. Per exemple, si es mostra la sol·licitud,

john@amfitrió: ~/digues $

és a dir, l'usuari es troba al directori, / home / john / dirOne, l'ordre següent donarà el mateix resultat que l'ordre anterior:

de -hdirTwo

Els camins seguirien sent relatius. Per mostrar la mateixa informació per al directori actual, no utilitzeu cap argument ni utilitzeu el punt.

Aquest esquema es pot utilitzar per obtenir la mida d’un directori, l’últim d’un camí (precedit del camí). És possible obtenir la mida d’un directori al mig d’un camí (vegeu exclude = PATTERN a continuació.

Gran Total

Es pot produir una grandària total de tots els directoris implicats. Per a la situació anterior, l'ordre seria:

de -h --Total

de mida aparent

La mida aparent sol ser menor que l'ús del disc. No obstant això, en algunes situacions, la mida aparent és més gran que l'ús del disc; raó - veure més endavant. L'ordre per obtenir les mides aparents del camí relatiu anterior seria:

de -h --de mida aparentdirTwo

Profunditat màxima

Amb –max-depth = 0, du imprimeix la mida només del directori de treball actual; amb du –max-depth = 1, du imprimeix la mida del directori de treball actual i les mides de tots els seus subdirectors de primer nivell; amb –max-depth = 2, du imprimeix la mida del directori de treball actual i les mides de tots els subdirectors de primer nivell i de tots els subdirectors de segon nivell; amb –max-depth = 3, du imprimeix la mida del directori de treball actual i de tots els subdirectoris de primer nivell i de tots els subdirectors de segon nivell i de tots els subdirectors de tercer nivell; això continua augmentant el valor de la profunditat màxima. Un exemple del seu ús és:

de -h --màxima profunditat=2

L'ordre sudo

Un dels directoris amb els seus propis subdirectors al directori arrel és var. Si l’usuari escriu

de -h /on

i prem Enter, s'adonarà que es denega el permís d'alguns directoris. És a dir, no pot conèixer les mides d'alguns directoris. El permís es denega perquè l'usuari no és el superusuari. El superusuari té el privilegi de veure les mides (ús del disc) d'aquests directoris. Per tant, perquè l'usuari adquireixi aquest privilegi, ha d'utilitzar l'ordre sudo de la següent manera:

suo de -h /on

Si l'intèrpret d'ordres demana a l'usuari la seva contrasenya, ha d'escriure la contrasenya i prémer Retorn. Amb l’ordre sudo, l’usuari normal (programador) pot veure les mides de tots els directoris del directori var i de directoris similars.

Excloent les entrades per mida

L'opció –llindar = SIZE no permetrà llistar directoris amb mides inferiors a SIZE. Pel camí,

/a casa/john/dir/dirTwo/dirThree/dirFour

amb la sol·licitud a[protegit per correu electrònic]: ~ $, doncs

de -h --llindar= 12.000 dirOne

on 12K significa 12 kilobytes, no es mostrarà la línia de cap directori amb un ús de disc inferior a 12K.

–Exclude = PATRÓ

Aquesta opció i aquest valor poden ometre les línies de directori que l'usuari no vulgui al llistat.

Per ometre la línia de l'últim directori, dirFour del camí d'accés

/a casa/john/dir/dirTwo/dirThree/dirFour

l'ordre hauria de ser:

de -h --excloure= dir/dirTwo/dirThree/dirFour dirOne

El resultat serà alguna cosa així,

4,0K dirOne/dirTwo/dirThree

8,0K dirOne/dirTwo

12K dirOne

Nota: les mides no han inclòs la mida del directori de darrer nivell (dirFour) del camí.

Per tenir només les mides dels directoris de profunditat superior i els seus subarbres, no tingueu els directoris de profunditat inferior a l'opció. Així, amb l'ordre,

de -h --excloure= dir/dirTwo/dirTres dirOne

la sortida serà una cosa així,

4,0K dirOne/dirTwo

8K dirOne

Nota: les mides han exclòs les mides dels directoris de palanca inferior de l'arbre.

Penseu de nou en l’enllaç absolut,

/a casa/john/dir/dirTwo/dirThree/dirFour

L'ordre següent obtindrà l'ús del disc només del directori dirTwo, que és un directori dins del camí d'accés. L'ordre és:

de -h --excloure=/a casa/john/dir/dirTwo/ * /a casa/john/dir/dirTwo

L'argument té tots els directoris anteriors fins al que es tracta. El valor d’exclusió té tots els directoris anteriors, acabats amb *, just després del que es tracta. * significa tots els subdirectoris d'aquest nivell (i els seus subarbres). El resultat serà alguna cosa així,

5,0K/a casa/john/dir/dirTwo

Conclusió

Intentar conèixer la mida d’un directori amb l’ordre ls -s és enganyós. Amb ella, només s’obtenen les metadades del directori. Per conèixer l'ús del disc d'un directori, s'ha d'utilitzar l'ordre du. Quan s’utilitza amb l’opció -h, es poden llegir les mides dels directoris. La mida aparent es pot obtenir mitjançant l'opció de mida aparent. Sense cap opció ni argument, l'ordre du només mostra les mides de tots els subdirectoris del directori actual, inclosa la del directori actual. L'argument de du és el camí, que pot començar des de l'arrel. Les opcions i alguns dels seus valors decideixen exactament a quins directoris s’adrecen. L’ordre sudo proporciona privilegis de superusuari a l’usuari normal per defecte.