Použijte truncate
:
truncate -s 14M filename
Od man truncate
:
DESCRIPTION
Shrink or extend the size of each FILE to the specified size
[...]
-s, --size=SIZE
set or adjust the file size by SIZE
Poznámka:truncate
nemusí být ve vašem systému k dispozici, např. na Mac OS X není ve výchozím nastavení nainstalován (ale můžete jej snadno nainstalovat, například pomocí macportů). V těchto případech možná budete muset použít dd
nebo head
místo toho.
EDIT:Nejjednodušší způsob je pravděpodobně truncate
z odpovědi Ashutosh Vishwa Bandhu, ale jak poukázal @offby1, vytváří řídké soubory, které nemusí být to, co chcete. Níže uvedená řešení vytvářejí normální úplné soubory.
Následující příkazy vytvoří 14MB soubor s názvem foo
:
-
fallocate
(díky @Breakthrough, který to navrhl v komentářích a hlasujte pro odpověď Ahmeda Masuda níže, která to také zmiňuje.)fallocate -l 14000000 foo
Tento příkaz je obzvláště působivý, protože je rychlý jako
truncate
(okamžité) bez ohledu na požadovanou velikost souboru (na rozdíl od jiných řešení, která budou u velkých souborů pomalá) a přesto vytvoří normální soubory, nikoli řídké:$ truncate -s 14MB foo1.txt $ fallocate -l 14000000 foo2.txt $ ls -ls foo?.txt 0 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:54 foo1.txt 13672 -rw-r--r-- 1 terdon terdon 14000000 Jun 21 03:55 foo2.txt
-
Vytvořte soubor naplněný náhodnými daty
dd if=/dev/urandom of=foo bs=14MB count=1
nebo
head -c 14MB /dev/urandom > foo
-
Vytvořte soubor s
\0
s:dd if=/dev/zero of=foo.txt bs=14MB count=1
nebo
head -c 14MB /dev/zero > foo
-
Vytvořte soubor naplněný prvními 14 MB dat jiného souboru:
head -c 14MB bar.txt > foo
-
Vytvořte soubor obsahující posledních 14 MB dat jiného souboru:
tail -c 14MB bar.txt > foo
Ve všech výše uvedených příkladech bude soubor 14*1000*1000
pokud chcete 14*1024*1024
, nahraďte MB
s M
. Například:
dd if=/dev/urandom of=foo bs=14M count=1
head -c 14M /dev/zero > foo
fallocate
pouze obchody v bajtech, takže byste museli udělat (14*1024*1024=14680064)
fallocate -l 14680064 foo
dd bs=1MB count=14 if=/dev/zero of=<yourfilename>
UPOZORNĚNÍ dd
tiše přepíše cokoli máte právo napsat, pokud to uvedete dobrovolně nebo náhodou. Ujistěte se, že rozumíte dd
, např. se čtením dd --help
a nepokazíte si příkazové řádky dd, jinak můžete snadno způsobit nevratnou ztrátu dat – dokonce celkovou .
Pro začátek if=
je vstupní soubor a of=
je výstupní soubor . Vždy před spuštěním příkazu dvakrát zkontrolujte, zda jste to udělali správně. :)