GNU/Linux >> Znalost Linux >  >> Linux

Jak získat fyzickou velikost souboru v Linuxu?

ls -l vám dá zdánlivou velikost souboru, což je počet bajtů, které by program přečetl, kdyby soubor četl od začátku do konce. du by vám poskytla velikost souboru "na disku".

Ve výchozím nastavení du udává velikost souboru v počtu diskových bloků, ale můžete použít -h získat místo toho jednotku čitelnou pro člověka. Viz také manuál pro du ve vašem systému.

Všimněte si, že s du GNU coreutil (což je pravděpodobně to, co máte na Linuxu), -b získat bajty znamená --apparent-size volba. Toto není to, co chcete použít k získání počtu bajtů skutečně použitých na disku. Místo toho použijte --block-size=1 nebo -B 1 .

S GNU ls , můžete také provést ls -s --block-size=1 na souboru. Získáte stejné číslo jako du -B 1 pro soubor.

Příklad:

$ ls -l file
-rw-r--r--  1 myself wheel  536870912 Apr  8 11:44 file

$ ls -lh file
-rw-r--r--  1 myself wheel   512M Apr  8 11:44 file

$ du -h file
24K    file

$ du -B 1 file
24576   file

$ ls -s --block-size=1 file
24576 file

To znamená, že se jedná o soubor o velikosti 512 MB, který na disku zabere přibližně 24 KB. Je to řídké soubor (většinou nuly, které nejsou ve skutečnosti zapsány na disk, ale jsou reprezentovány jako logické "díry" v souboru). Řídké soubory jsou běžné při práci s předem přidělenými velkými soubory, např. obrazy disků pro virtuální počítače nebo odkládací soubory atd. Vytvoření řídkého souboru je rychlé, zatímco jeho vyplnění nulami je pomalé (a zbytečné).

Viz také manuál pro fallocate na vašem systému Linux.


Dostanu velikost souboru v bajtech takto:

actualsize=$(du -b "${file}" | cut -f 1)

Linux
  1. Linux – jak přimět Sar, aby se ukazovala za předchozí den?

  2. Jak vytvořit soubor s danou velikostí v Linuxu?

  3. Jak získat velikost tar.gz v (MB) souboru v pythonu

  1. Jak používat příkaz Tar v Linuxu

  2. Jak získat cestu k aktuálnímu souboru (pwd) v Linuxu z C?

  3. Jak získat počet fyzických disků v Linuxu?

  1. Jak získat velikost adresáře v Linuxu

  2. Jak zvýšit velikost swapu na Ubuntu Linux

  3. Jak získat velikost adresáře v Linuxu