/ / Како величина датотеке може бити нула?

Како величина датотеке може бити нула?

како-могу-а-датотеке-величина-бити-нула-00

Сви повремено наилазимо на „ситуацију“наши рачунари који нас остављају потпуно збуњујуће, попут датотеке која има величину нула, али како је то уопште могуће? Данашњи СуперУсер-ов одговор на питања садржи одговоре на збуњено читаочево питање.

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

Питање

СуперУсер читач Еугене С жели да зна колико величина датотеке може бити нула:

То је нешто на шта сам наишао и нисам могао да смислим исправно објашњење. Ако направим празан * .ткт датотека на свом рачунару, а затим погледајте његову величинуприказује величину нула. Како је то могуће? Мислим, чак и ако је датотека сама празна, и даље мора имати одређену величину (чак и ако жели само да похрани своје име). Како се то може објаснити?

Како је могуће да датотека има величину нула?

Одговор

Доприноси СуперУсер Давид Сцхвартз и Цорт Аммон имају одговор за нас. Прво, Давид Сцхвартз:

Могуће је јер заиста нема датотеке. Постоји само унос у именик са именом и власником. Унос директорија се логички разликује од датотеке. На пример, иста датотека може имати више од једног имена у више директорија.

Нажалост, термин датотека се не користи увекзначи тачно исто. Али логика величине датотеке долази из модела где унос у именик повезује датотеку у директорију, а затим се имена датотека и повезани мета подаци похрањују у директорију.

Уследио је одговор из Цорт Аммон-а:

Семантичко значење величине датотеке разликује се од оног који користите.

Много је датотека које имају смисла. Најчешћи и онај који овде видите је број бајтова у датотеци. Ако је датотека празна текстуална датотека, заиста може садржати нула бајтова. Овај број је важан програмерима јер често морамо отворити датотеку, прочитати све податке и затворити их. Морамо знати колико ће бајтова података бити у датотеци како бисмо могли планирати унапријед.

Друго значење произилази из начина на који се већина датотекасистеми чувају податке. Већина систем датотека похрањује податке у блокове. На примјер, датотечни систем може похранити податке у блокове од 64 кБ, што значи да никада неће додијелити ништа што није чак и више од 64 кБ. Ово звучи неефикасно, али књиговодство може учинити прилично једноставнијим, а често и једноставнијим средствима бржим.

Треће значење, које ви трзате, бибити стварни број битова потребних на тврдом диску да бисте описали присуство датотеке. Ово укључује информације које се обично чувају одвојено од датотеке. На пример, у Линуку, концепт имена датотеке смештен је у иноде за директориј који садржи датотеку. [На основу података других коментара, ово је(технички) сачувани у подацима директорија. Кад сам ово написао, размишљао сам о случају малих директорија. Подаци мањи од 156 бајта могу се похранити директно у иноде.] Ово није често коришћено значење, јер тоје ужасно тешко одредити без познавања страшно дубоког унутрашњег рада вашег датотечног система (попут рачуноводства простора потребног за чување свих дозвола у датотеци). Међутим, ако имате хард диск од 1.000.000 бајта и желите да знате колико велика датотека може да стане на тај чврсти диск, ово ће вам бити веома важно!


Имате ли шта додати у објашњење? Звук искључен у коментарима. Желите ли прочитати више одговора од осталих корисника Стацк Екцханге-а на техничким потребама? Погледајте целу тему дискусије овде.