Gunakan truncate
:
truncate -s 14M filename
Dari 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
Catatan:truncate
mungkin tidak tersedia di sistem Anda, mis. di Mac OS X tidak diinstal secara default (tetapi Anda dapat menginstalnya dengan mudah, menggunakan macports misalnya). Dalam kasus ini, Anda mungkin perlu menggunakan dd
atau head
sebagai gantinya.
EDIT:Cara paling sederhana mungkin adalah truncate
jawaban Ashutosh Vishwa Bandhu, tetapi seperti yang ditunjukkan oleh @ offby1 yang membuat file jarang yang mungkin bukan yang Anda inginkan. Solusi di bawah membuat file normal dan lengkap.
Perintah berikut membuat file 14MB bernama foo
:
-
fallocate
(terima kasih kepada @Breakthrough yang menyarankannya di komentar dan pilih jawaban Ahmed Masud di bawah yang juga menyebutkannya.)fallocate -l 14000000 foo
Perintah ini sangat mengesankan karena secepat
truncate
(seketika) terlepas dari ukuran file yang diinginkan (tidak seperti solusi lain yang akan lambat untuk file besar) namun membuat file normal, bukan yang jarang :$ 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
-
Buat file yang diisi dengan data acak
dd if=/dev/urandom of=foo bs=14MB count=1
atau
head -c 14MB /dev/urandom > foo
-
Buat file yang diisi dengan
\0
s:dd if=/dev/zero of=foo.txt bs=14MB count=1
atau
head -c 14MB /dev/zero > foo
-
Buat file yang berisi data 14 MB pertama dari file lain:
head -c 14MB bar.txt > foo
-
Buat file yang berisi data 14 MB terakhir dari file lain:
tail -c 14MB bar.txt > foo
Dalam semua contoh di atas, file akan menjadi 14*1000*1000
jika Anda ingin 14*1024*1024
, ganti MB
dengan M
. Misalnya:
dd if=/dev/urandom of=foo bs=14M count=1
head -c 14M /dev/zero > foo
fallocate
hanya berurusan dalam byte, jadi Anda harus melakukannya (14*1024*1024=14680064)
fallocate -l 14680064 foo
dd bs=1MB count=14 if=/dev/zero of=<yourfilename>
PERINGATAN dd
diam-diam akan menimpa apa pun Anda memiliki hak untuk menulis, jika Anda menentukannya baik secara sukarela atau tidak sengaja. Pastikan Anda memahami dd
, mis. dengan membaca dd --help
, dan Anda tidak mengacaukan baris perintah dd Anda atau Anda dapat dengan mudah membuat kehilangan data yang tidak dapat diubah - bahkan total .
Sebagai permulaan, if=
adalah berkas masukan dan of=
adalah berkas keluaran . Selalu periksa kembali apakah Anda melakukannya dengan benar, sebelum menjalankan perintah. :)