Saya ingin membuat file dengan nama example.file
. Saya bisa menggunakan
touch example.file
tapi saya ingin ukuran file persis 24MB. Saya sudah memeriksa halaman sentuh, tetapi tidak ada parameter seperti ini. Apakah ada cara mudah untuk menghasilkan file dengan ukuran tertentu?
bash
command-line
files
R_User
sumber
sumber
Jawaban:
Anda dapat menggunakan dd:
atau
atau, di Mac,
sumber
bs=1G count=1
dd if=/dev/zero of=output.dat bs=24m count=1
m
.Di bawah Linux atau Cygwin yang tidak tertanam (atau sistem apa pun dengan GNU coreutils) dan FreeBSD:
Ini menciptakan file yang penuh byte nol. Jika file sudah ada dan lebih kecil, itu diperluas ke ukuran yang diminta dengan byte nol. Jika file sudah ada dan lebih besar, dipotong ke ukuran yang diminta.
Bytes nol tidak mengkonsumsi ruang disk apa pun, file tersebut adalah file yang jarang .
Pada banyak sistem,
head -c 24m </dev/zero >example.file
membuat file non-jarang penuh dengan byte nol. Jikahead
tidak memiliki-c
opsi pada sistem Anda (itu biasa tetapi tidak dalam POSIX), Anda dapat menggunakannyadd bs=1024k count=24 </dev/zero >example.file
sebagai gantinya (ini adalah POSIX-compliant).sumber
Jika Anda tidak peduli dengan isi file, ini jauh lebih cepat daripada menggunakan
dd
:Jelas, menggunakan
dd
untuk file 24MB tidak akan memakan waktu pada sistem modern, tetapi file yang lebih besar bisa terasa lambat.sumber
Anda dapat menggunakan dd:
Atau jika Anda menggunakan Solaris
sumber
-n
untuk membuat file yang jarangsumber
fallocate
bisa menjadi jawaban yang baik, tetapi mengapa semua baris lainnya? Potong jawaban Anda sehingga hanya melakukan apa yang diminta, dan tidak lebih.fallocate -l 10M somefile.dump