Hvordan få størrelsen på en fil eller katalog i Linux

Når du bruker Linux du-kommandoen, får du både den faktiske diskbruken og den sanne størrelsen på en fil eller katalog. Vi skal forklare hvorfor disse verdiene ikke er de samme.

Faktisk diskbruk og sann størrelse

Størrelsen på en fil og plassen den opptar på harddisken din er sjelden den samme. Diskplass er tildelt i blokker. Hvis en fil er mindre enn en blokk, blir en hel blokk fortsatt allokert til den fordi filsystemet ikke har en mindre enhet av eiendom å bruke.

Med mindre størrelsen på en fil er et eksakt multiplum av blokker, må plassen den bruker på harddisken alltid rundes opp til neste hele blokk. For eksempel, hvis en fil er større enn to blokker, men mindre enn tre, tar det fortsatt tre blokker med plass å lagre den.

  Hvordan bruke Pale Moon-nettleseren på Linux

Det brukes to mål i forhold til filstørrelse. Den første er den faktiske størrelsen på filen, som er antall byte med innhold som utgjør filen. Den andre er den effektive størrelsen på filen på harddisken. Dette er antallet filsystemblokker som er nødvendige for å lagre den filen.

Et eksempel

La oss se på et enkelt eksempel. Vi omdirigerer et enkelt tegn til en fil for å lage en liten fil:

echo "1" > geek.txt

De geek.txt»-kommandoen i et terminalvindu.» width=”646″ height=”57″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Nå bruker vi den lange formatlisten, ls, for å se på fillengden:

ls -l geek.txt

De

Lengden er den numeriske verdien som følger dave dave-oppføringene, som er to byte. Hvorfor er det to byte når vi bare sendte ett tegn til filen? La oss ta en titt på hva som skjer inne i filen.

  Hvordan prøve det åpen kildekode Firefox-alternativet LibreWolf på Linux

Vi bruker hexdump-kommandoen, som vil gi oss et nøyaktig antall byte og tillate oss å «se» tegn som ikke skrives ut som heksadesimale verdier. Vi vil også bruke alternativet -C (kanonisk) for å tvinge utdataene til å vise heksadesimale verdier i