GNU/Linux >> Znalost Linux >  >> Linux

Rozdíl ve výpočtu velikosti adresáře?

Potřebuji získat velikost adresáře v terminálu pro účely podepisování. Používám následující příkaz:

du -s /path/to/dir

Výsledek vynásobím tradiční velikostí bloku UNIX (512 bajtů) a získám skutečnou velikost adresáře v bajtech. Dialogové okno „Získat informace“ Finderu však ukazuje velikost o něco menší, než je velikost vypočítaná pomocí příkazu terminálu. A zdá se, že je reprodukovatelné v jakékoli složce/svazku. Co mi chybí?

Přijatá odpověď:

Normálně du zobrazuje informace o využití disku (odtud pochází jeho název). Mějte na paměti, že

disk usage != sum of file sizes

Protože každý soubor zabírá určitý počet bloků na souborovém systému (viz man mkfs.ext2 například). To znamená, že pouze ve velmi ojedinělých případech se využití disku souboru rovná jeho skutečné velikosti – proto musí být velikost přesně násobkem velikosti bloku.

Představte si bloky souborového systému jako krabice, které obsahují části souborů – každý může obsahovat část pouze jednoho souboru.

Pro GNU verzi du , podívejte se na --apparent-size možnost.

Ještě zajímavější situace může nastat, když jsou v souborovém systému nějaké řídké soubory!


Linux
  1. Omezte velikost nahrávaných souborů v NGINX

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

  3. Cheat sheet pro oprávnění k souborům/adresáři pro Linux

  1. Odeberte symbolický odkaz na adresář

  2. Získejte nejnovější soubor v adresáři v systému Linux

  3. Najděte soubor a poté cd do tohoto adresáře v Linuxu

  1. Linux – účel adresáře /net?

  2. Jak najít všechny soubory s velikostí souboru nula (0) bajtů v adresáři rekurzivně

  3. Zmenšit/resetovat velikost adresáře?