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

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

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

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

    Питање

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

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

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

    Одговор

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

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

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

    Следи одговор Цорт Аммон:

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

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

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

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


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