Jak získat velikost souboru nebo adresáře v Linuxu

Když použijete příkaz Linux du, získáte jak skutečné využití disku, tak skutečnou velikost souboru nebo adresáře. Vysvětlíme, proč tyto hodnoty nejsou stejné.

Skutečné využití disku a skutečná velikost

Velikost souboru a místo, které zabírá na vašem pevném disku, jsou jen zřídka stejné. Místo na disku je alokováno v blocích. Pokud je soubor menší než blok, je mu stále přidělen celý blok, protože souborový systém nemá k použití menší jednotku nemovitosti.

Pokud velikost souboru není přesným násobkem bloků, místo, které využívá na pevném disku, musí být vždy zaokrouhleno nahoru na další celý blok. Pokud je například soubor větší než dva bloky, ale menší než tři, jeho uložení stále zabere tři bloky místa.

  Jak přizpůsobit tlačítka myši na iPadu

Ve vztahu k velikosti souboru se používají dvě měření. První je skutečná velikost souboru, což je počet bajtů obsahu, který soubor tvoří. Druhým je efektivní velikost souboru na pevném disku. Toto je počet bloků systému souborů nezbytných k uložení tohoto souboru.

Příklad

Podívejme se na jednoduchý příklad. Přesměrujeme jeden znak do souboru a vytvoříme malý soubor:

echo "1" > geek.txt

The geek.txt” v okně terminálu.‘ width=”646″ height=”57″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Nyní použijeme dlouhý formát výpisu, ls, abychom se podívali na délku souboru:

ls -l geek.txt

The

Délka je číselná hodnota, která následuje po položkách dave dave, což jsou dva bajty. Proč jsou to dva bajty, když jsme do souboru poslali pouze jeden znak? Pojďme se podívat na to, co se děje uvnitř souboru.

  Jak zkontrolovat, zda je k dispozici aktualizace Fall Creators

Použijeme příkaz hexdump, který nám poskytne přesný počet bajtů a umožní nám „vidět“ netisknutelné znaky jako hexadecimální hodnoty. Použijeme také volbu -C (kanonická), abychom přinutili výstup zobrazovat hexadecimální hodnoty v