8Sep
Сви ми повремено трчимо преко "ситуације" на нашим рачунарима који нас остављају потпуно збуњени, као што је датотека која има величину нула, али како је то чак и могуће?Данашњи СуперУсер К & амп; Пост има одговоре на збуњено читачко питање.
Питање дана & амп;Сесија одговора долази нам захваљујући СуперУсер-у подскупу Стацк Екцханге-а, групације К & ама;
Питање
СуперУсер читач Еугене С жели знати како величина датотеке може бити нула:
Ово је нешто у шта сам налетела и нисам могла мислити на одговарајуће објашњење.Ако на рачунару креирам празну *. ткт датотеку , а затим погледам његову величину, она приказује величину нуле.Како је то могуће?Мислим, чак и ако је датотека сама празна, она ипак мора имати одређену величину( чак и ако је само за чување сопственог имена).Како се то може објаснити?
Како је могуће да датотека има величину нуле?
Одговорност
СуперУсер сарадници Давид Сцхвартз и Цорт Аммон имају одговор за нас.Прво горе, Давид Сцхвартз:
Могуће је јер стварно нема датотеке.Постоји само унос директорија са именом и власником.Унос директорија логички се разликује од датотеке.На пример, иста датотека може имати више од једног имена у више директоријума.
Нажалост, изразна датотека се не користи увек да значи исту ствар.Али логика величине датотеке долази из модела у коме директоријум уноси датотеку у директоријум, тада се имена датотека и сродних мета података чувају у директоријуму.
Следи одговор од Цорт Аммон:
Семантичко значење величине датотеке разликује се од оног који користите.
Постоји много величина фајлова који су значајни.Најчешћи и онај који овде видите је број бајтова у датотеци.Ако је датотека празна текстуална датотека, она заиста може садржавати нула бајтова.Овај број је важан за програмера, јер често морамо отворити датотеку, прочитати све податке и затворити.Морамо знати колико бајтова података ће бити у датотеци, како бисмо могли да планирамо унапред.
Још једно значење произлази из начина на који већина датотека датотека чува податке.Већина датотека система чува податке у блоковима.На пример, датотечни систем може сачувати податке у 64 кБ блоковима, што значи да никада неће додијелити било шта што није чак и више од 64 кБ.Ово звучи неефикасно, али може учинити књиговодство прилично једноставније, а често једноставнији значи брже.
Треће значење, на којег се тугујете, биће стварни број битова потребних на чврстом диску да би се описало присуство датотеке.Ово укључује информације које се обично чувају одвојено од датотеке.На пример, у Линуку, концепт имена датотеке је сачуван у иноде за директоријум који садржи датотеку.[ На основу уноса из других коментара, ово се( технички) чува у подацима директорија.Када сам ово написао, размишљао сам о случају малих директоријума.Подаци мањи од 156 бајтова могу се чувати директно у иноде.] Ово није уобичајено коришћено значење јер је страшно тешко одредити без познавања изузетно дубоког унутрашњег рада вашег датотечног система( као што је обрачунавање простора потребног за чување свих дозвола у датотеци).Међутим, ако имате 1.000.000 бајтова хард диска и желите знати колико се величина датотеке може уклапати на тај чврсти диск, ово ће вам бити врло важно значење!
Имате ли нешто да додате објашњењу?Звучи у коментарима.Желите да прочитате више одговора од других корисничких корисника Стацк Екцханге?Овде погледајте комплетну тему.