GNU/Linux >> Znalost Linux >  >> Linux

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

Použijte tento příkaz:

dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS

Chcete-li vytvořit velký (prázdný) soubor, nastavte $INPUT-FILE=/dev/zero .
Celková velikost souboru bude $BLOCK-SIZE * $NUM-BLOCKS .
Nový vytvořený soubor bude mít hodnotu $OUTPUT-FILE .


Prosím, moderní je jednodušší a rychlejší. V systému Linux (vyberte jednu)

truncate -s 10G foo
fallocate -l 5G bar

Potřebuje je třeba uvést, že truncate na souborovém systému podporujícím řídké soubory vytvoří řídký soubor a fallocate nebude. Řídký soubor je takový, kde alokační jednotky, které soubor tvoří, ve skutečnosti nejsou přiděleno až do použití. Metadata pro soubor budou zabírají však značné místo, ale pravděpodobně se neblíží skutečné velikosti souboru. Další informace naleznete ve zdrojích o řídkých souborech, protože tento typ souboru má výhody a nevýhody. Neřídký soubor má své bloky (alokační jednotky) přidělené předem, což znamená, že prostor je rezervován, pokud jej systém souborů vidí. Také fallocate ani truncate nenastaví obsah souboru na zadanou hodnotu like dd , místo toho obsah souboru s přiřazeným fallocate nebo truncate může být jakákoliv odpadní hodnota, která existovala v přidělených jednotkách během vytváření a toto chování může nebo nemusí být žádoucí. dd je nejpomalejší, protože ve skutečnosti zapisuje hodnotu nebo část dat do celého toku souborů, jak je uvedeno v možnostech příkazového řádku.

Toto chování se může potenciálně lišit – v závislosti na použitém souborovém systému a souladu tohoto souborového systému s jakýmkoli standardem nebo specifikací. Proto se doporučuje provést řádný výzkum, aby se zajistilo, že bude použita vhodná metoda.


Pro malé soubory:

dd if=/dev/zero of=upload_test bs=file_size count=1

Kde file_size je velikost vašeho testovacího souboru v bajtech.

Pro velké soubory:

dd if=/dev/zero of=upload_test bs=1M count=size_in_megabytes

Chcete-li navázat na Tomův příspěvek, můžete také použít dd k vytvoření řídkých souborů:

dd if=/dev/zero of=the_file bs=1 count=0 seek=12345

Tím se na většině unixů vytvoří soubor s "dírou" - data se ve skutečnosti nezapíšou na disk ani nezaberou žádné místo, dokud do nich nebude zapsáno něco jiného než nula.


Linux
  1. Jak vytvořit soubor ZIP chráněný heslem v systému Linux

  2. Jak vytvořit swap v Linuxu

  3. Jak vytvořit odkládací soubor v Linuxu

  1. Jak vytvořit nebo zvětšit swapový prostor v Linuxu

  2. Jak vytvořit soubory určité velikosti v Linuxu

  3. Jak oříznout soubor na danou velikost pod Linuxem?

  1. Jak vytvořit systém souborů ZFS pomocí komprese souborů v systému Linux

  2. Jak napsat soubor s C v Linuxu?

  3. Jak mohu vytvořit soubor s určitou velikostí z příkazového řádku?