Před chvílí jsem nastavil místní souborový server pomocí PSiTransfer . Při používání mého souborového serveru jsem chtěl otestovat limit nahrávání, maximální velikost nahrávání a rychlost stahování souborů/složek. Za tímto účelem jsem potřeboval soubory různé velikosti. Na pevném disku mám soubory různé velikosti. Ale chci, aby byl soubor přesně 100 MB ve velikosti. Po chvíli hledání na webu jsem zjistil, jak vytvořit soubory určité velikosti v Linuxu a systémech podobných Unixu.
Vytvářejte soubory určité velikosti v Linuxu
Existuje několik způsobů, jak vytvořit soubory s danou velikostí. Všechny je ukážu na praktických příkladech.
Všechny příkazy uvedené v této příručce jsou součástí GNU coreutils , takže je nemusíte instalovat. Tyto příkazy jsou standardně předinstalované.
1. Vytvořte soubory určité velikosti pomocí příkazu zkrátit
Chcete-li vytvořit soubor specifické velikosti, například 5 MB, pomocí truncate
příkaz, spusťte:
$ truncate -s 5M ostechnix.txt
Výše uvedený příkaz vytvoří soubor s názvem ostechnix.txt
o velikosti přesně 5MB
.
Další podrobnosti o tomto příkazu naleznete v části truncate
manuálové stránky.
$ man truncate
2. Vytvořte soubory určité velikosti pomocí příkazu fallocate
Dalším příkazem k vytvoření souboru určité velikosti je fallocate
. Upozorňujeme, že velikosti souborů můžete zadat pouze v bajtech pomocí fallocate
příkaz. Chcete-li vypočítat velikost konkrétního souboru, například 5MB
, musíte udělat - 510241024=5242880
. Průhledná? Dobře!
Nyní vytvoříme soubor o velikosti 5 MB pomocí příkazu:
$ fallocate -l 5242880 ostechnix.txt
Jako Luc Van Rompaey navrženo v sekci komentářů, s bash shell můžete provádět inline aritmetiku, takže nebudete muset počítat, kolik bajtů jde do 5 MiB
předem.
Můžeme to tedy použít, jak je uvedeno níže:
$ fallocate -l $((5*1024*1024)) ostechnix.txt
Pro více podrobností o tomto příkazu vám doporučuji projít fallocate
manuálové stránky.
$ man fallocate
3. Vytvořte soubory určité velikosti pomocí příkazu head
Používáme head
příkaz pro výstup první části souborů, že? Tento příkaz můžeme také použít k vytvoření souboru určité velikosti.
Chcete-li vytvořit soubor s 5MB
velikost pomocí head
příkaz, spusťte:
$ head -c 5MB /dev/urandom > ostechnix.txt
Výše uvedený příkaz vytvoří 5MB
velikost souboru naplněného náhodnými daty. Můžete také vytvořit soubor s 0s
jak je uvedeno níže.
$ head -c 5MB /dev/zero > ostechnix.txt
Další podrobnosti o head
naleznete v manuálových stránkách příkaz.
$ man head
4. Vytvořte soubory určité velikosti pomocí příkazu dd
Už jsme věděli, že můžeme převést a zkopírovat soubor pomocí dd
příkaz. Příkaz dd také používáme k vytvoření spouštěcího disku . Tento příkaz však můžeme použít i k vytvoření souborů určité velikosti.
Chcete-li vytvořit soubor o velikosti 5 MB, spusťte:
$ dd if=/dev/urandom of=ostechnix.txt bs=5MB count=1
Ukázkový výstup:
1+0 records in 1+0 records out 5000000 bytes (5.0 MB, 4.8 MiB) copied, 0.0402477 s, 124 MB/s
Příkaz vytvoří ostechnix.txt
soubor o velikosti 5MB
s náhodnými daty.
Chcete-li vytvořit soubor vyplněný 0s
, můžete použít:
$ dd if=/dev/zero of=ostechnix.txt bs=5MB count=1
Jako obvykle podrobnosti o tomto příkazu naleznete v dd
příkazové manuálové stránky.
$ man dd
A to je vše. Nyní víte, jak vytvořit soubor s určitou velikostí. Jak můžete vidět na výše uvedených příkladech, generování souborů konkrétní velikosti není žádný velký problém. Doufám, že to pomůže.
Doporučeno:
- Jak zjistit velikost adresáře v systému Linux
- Výukový program příkazu mktemp s příklady pro začátečníky