Како добити величину директоријума у ​​Линуку

How Get Size Directory Linux



Познавање величине директоријума у ​​Линуксу није тако једноставно као што звучи. Команда лс -с ће исписати датотеке и поддиректоријуме са њиховим величинама. Међутим, величине (око 4096 бајтова) дате за директоријуме нису употреба диска. Величина која се види за директоријум је величина метаподатака директоријума.

Метаподаци су подаци о подацима. Привидна величина је величина података који су важни обичном кориснику рачунара. Садржај (текст) писама корисника, слика, видео записа итд. Чине привидну величину. Ови подаци се не чувају произвољно у рачунару. Подаци привидне величине морају се држати на контролни начин. Мора бити идентификован. Мора бити потпуна. За то постоје и други захтеви. За постизање ових додатних захтева потребни су неки додатни подаци, а ови додатни подаци су мета-подаци.







Запамтите, у свесци постоји само један директоријум. Остатак су поддиректоријуми. Из коријенског директорија настају поддиректорији, који доводе до пада осталих поддиректорија. Међутим, поддиректоријуми се обично једноставно називају директоријуми. Дакле, постоји само једно стабло директоријума.



Дакле, лс -с није корисно за добијање величине директоријума. Која је онда наредба корисна? - Команда ду. ду означава употребу диска. Штампа употребу директоријума на диску.



Овај чланак објашњава различите функције команде ду у Линуку, која пружа различитим програмерима начине да сазнају величине директоријума и њихових поддиректоријума. Басх је љуска која се користи за узорке кодова овог чланка.





Садржај чланка

ду без опције или аргумента

Тренутни радни директоријум је директоријум у којем корисник тренутно ради. Одзивник обично приказује тренутни радни директоријум. Куцање ду без икакве опције и аргумента, овако:



оф

а затим притиском на тастер Ентер приказаће се употреба диска за све поддиректоријуме тренутног радног именика. Он ће приказати ове информације за подстабло тренутног радног именика. Тачка на екрану представља тренутни радни директоријум.

Свака путања подстабла је представљена у линији, на екрану. Сваки ред почиње величином директоријума (који је презиме у путањи). Екран може бити нешто попут:

8./дир1/дир2/дир3/дир4

12./дир1/дир2/дир3

16./дир1/дир2

двадесет./дир1

Имајте на уму да није јасно да ли је величина у бајтовима или килобајтима или мегабајтима или гигабајтима. Килобајта симбола, К значи 1024 бајта; Мегабајти симбола, М значи 1.048.576 бајтова; Гигабајти симбола, Г значи 1.073.741.824 бајта. Да би се вишеструке вредности приказале, требало би користити опцију -х (прекидач), на следећи начин:

оф

Екран би тада изгледао овако:

8.0К./дир1/дир2/дир3/дир4

12К./дир1/дир2/дир3

16К./дир1/дир2

20К./дир1

Када се користи опција -х, каже се да су величине у читљивом облику.

Напомена: са опцијом –алл наредба ду ће такође користити диск за датотеке; међутим, употреба диска за датотеке неће бити обрађена у овом чланку.

Величина осталих именика

Типична апсолутна путања за Линук волумен је следећа:

/кућа/јохн/рецимо/дирТво/дирТхрее/дирФоур

Први / је основни директоријум. Овај директоријум има непосредне поддиректоријуме, укључујући и матични директоријум. Матични директоријум има директоријум корисника. Ако је корисничко име Јохн, тада може именовати корисников именик, Јохн. Кориснички именик је означен са ~. Дакле, корисник може користити наредбу цд ~ за приступ свом директорију из било којег директорија. дирОне је директоријум који је креирао корисник. Корисник такође може да креира друге директоријуме на овом нивоу. дирТво, дирТхрее и дирФоур су поддиректоријуми њихових претходних директоријума, које је креирао корисник.

Корисник може знати величину било којег другог директорија и његове поддиректорије (подстабло) из било којег директорија, заобилазећи апсолутну путању као аргумент. На пример, ако је потребно коришћење диска,

/кућа/јохн/рецимо/дирТво

онда би наредба била:

оф /кућа/јохн/рецимо/дирТво

или

оф ~/рецимо/дирТво

где ~ представља именик корисника.

Да би користио релативну путању, корисник мора већ бити у одговарајућем родитељском директоријуму. На пример, ако се одзив приказује,

јохн@домаћин: ~/рецимо $

што значи да је корисник у директоријуму,/хоме/јохн/дирОне, онда ће следећа команда дати исти резултат као горња команда:

оф дирТво

Путеви би и даље били релативни. Да бисте приказали исте информације за тренутни директоријум, не користите аргумент или користите тачку.

Ова шема се може користити за добијање величине само једног директоријума, последњег у путањи (којој претходи путања). Могуће је добити величину директоријума на средини путање - погледајте екцлуде = ПАТТЕРН испод.

Гранд Тотал

Може се произвести велика укупна величина свих укључених директорија. За горњу ситуацију, наредба би била:

оф --укупно

привидне величине

Привидна величина је обично мања од употребе диска. Међутим, у неким ситуацијама привидна величина је већа од употребе диска; разлог - видети касније. Наредба за добијање привидних величина за горњу релативну путању била би:

оф -привидна величинадирТво

Максимална дубина

Са –мак-дептх = 0, ду штампа величину само тренутног радног именика; са ду –мак-дептх = 1, ду штампа величину тренутног радног именика и величине свих његових поддиректоријума првог нивоа; са –мак-дептх = 2, ду штампа величину тренутног радног именика и величине свих његових поддиректоријума првог нивоа, и свих његових поддиректоријума другог нивоа; са –мак-дептх = 3, ду штампа величину тренутног радног именика и све његове поддиректорије првог нивоа, све поддиректорије другог нивоа и све поддиректорије трећег нивоа; ово се наставља са повећањем вредности максималне дубине. Пример његове употребе је:

оф --мак-дептх=2

Судо команда

Један од директоријума са сопственим поддиректоријумима у коренском директоријуму је вар. Ако корисник откуца

оф /где

и притисне Ентер, схватиће да је дозвола одбијена за неке директоријуме. То јест, он не може знати величине неких именика. Дозвола је одбијена јер корисник није суперкорисник. Суперкорисник има привилегију да види величине (употребу диска) тих директоријума. Дакле, да би корисник стекао ту привилегију, мора да користи наредбу судо на следећи начин:

судо оф /где

Ако љуска од корисника тражи лозинку, корисник мора уписати лозинку и притиснути Ентер. Помоћу наредбе судо обичан корисник (програмер) може видети величине свих директоријума у ​​директоријуму вар и сличним директоријумима.

Изузимање уноса по величини

Опција –тхресхолд = СИЗЕ неће дозволити унос директоријума чије су величине мање од СИЗЕ. За пут,

/кућа/јохн/рецимо/дирТво/дирТхрее/дирФоур

са промптом на[заштићена е -пошта]: ~ $, онда

оф -праг= 12К дирОне

где 12К значи 12 килобајта, неће приказати ред за било који директоријум чија је употреба диска мања од 12К.

–Искључи = УЗОРАК

Ова опција и вредност могу изоставити редове директоријума које корисник не жели на листи.

Да бисте изоставили ред за последњи директоријум, дирФоур путање

/кућа/јохн/рецимо/дирТво/дирТхрее/дирФоур

наредба треба да буде:

оф --екцлуде= реци/дирТво/дирТхрее/дирФоур дирОне

Резултат ће бити нешто попут,

4.0К дирОне/дирТво/дирТхрее

8.0К дирОне/дирТво

12К дирОне

Напомена: величине нису укључивале величину директоријума последњег нивоа (дирФоур) путање.

Да бисте имали само величине директоријума више дубине и њихових подстабала, немојте имати опције директоријума ниже дубине у опцији. Дакле, са наредбом,

оф --екцлуде= реци/дирТво/дирТхрее дирОне

излаз ће бити нешто попут,

4.0К дирОне/дирТво

8К дирОне

Напомена: величине су искључиле величине доњих директоријума стабла.

Размотримо поново, апсолутну везу,

/кућа/јохн/рецимо/дирТво/дирТхрее/дирФоур

Следећа команда ће обезбедити да диск користи само директоријум дирТво, који је директоријум унутар путање. Команда је:

оф --екцлуде=/кућа/јохн/рецимо/дирТво/ * /кућа/јохн/рецимо/дирТво

Аргумент има све претходне директоријуме до оног у питању. Вредност изузимања има све претходне директоријуме, који завршавају са *, одмах иза дотичног. * означава све поддиректоријуме на том нивоу (и њихова подстабла). Резултат ће бити нешто попут,

5.0К/кућа/јохн/рецимо/дирТво

Закључак

Покушај да се сазна величина директоријума помоћу команде лс -с је погрешан. Помоћу њега се добијају само мета-подаци именика. Да бисте знали употребу директоријума на диску, требало би да користите команду ду. Када се користи са опцијом -х, величине директоријума се могу читати. Привидна величина може се добити коришћењем опције привидне величине. Без икаквих опција и аргумената, команда ду само приказује величине свих поддиректоријума тренутног директоријума, укључујући и онај тренутног директоријума. Аргумент за ду је путања која може почети од корена. Опције и неке њихове вредности одлучују тачно којим директоријумима се обраћају. Команда судо подразумевано даје привилегије суперкориснику обичног корисника.