Untuk beberapa alasan, ketika saya membuat file teks pada OS X, itu selalu minimal 4kB, kecuali jika itu kosong. Kenapa ini? Mungkinkah ada 4.000 byte metadata sekitar 1 byte teks biasa?
filesystems
disk-usage
tkbx
sumber
sumber
:P
Jawaban:
Ukuran blok sistem file harus 4 kB. Ketika data ditulis ke file yang terkandung dalam sistem file, sistem operasi harus mengalokasikan blok penyimpanan untuk berisi data yang akan ditulis ke file.
Biasanya, ketika sistem file dibuat, penyimpanan yang terkandung dalam sistem file tersebut dibagi menjadi blok-blok dengan ukuran tetap. Artikel Wikipedia ini menjelaskan secara singkat proses ini.
Ukuran blok yang mendasari sistem file untuk file ini harus memiliki ukuran blok 4K byte. File ini menggunakan blok 1 4K dan hanya satu byte di dalam blok itu yang berisi data aktual.
sumber
Semua sistem file memiliki ukuran cluster atau blok, atau jumlah ruang disk terkecil yang dapat dialokasikan untuk menyimpan file. Bahkan jika ukuran file yang sebenarnya lebih kecil dari ukuran cluster / blok, masih akan mengkonsumsi satu cluster, atau 4K pada sistem file Anda. Ukuran cluster tergantung pada sistem file, dan opsi sistem file.
Jika berisi nol byte, seperti yang ditunjukkan Gilles , ia menggunakan nol blok / cluster tetapi satu inode pada sistem file * nix khas, yang lebih baik menjawab peringatan, "kecuali itu kosong."
sumber
Sebuah eksperimen kecil untuk membantu menggambarkan hal ini:
Pertama, mari kita lihat apa ukuran blok aktual partisi root ext4 (LVM) saya:
Ini adalah 4096 (4 KiB), seperti yang diharapkan. Sekarang, mari kita buat tiga file: Yang pertama adalah nol byte, yang kedua hanya satu byte, dan yang ketiga adalah 4 KiB (ukuran blok):
Sekarang, kita
ls
direktori. Kami menggunakan-s
opsi untuk melihat ukuran yang dialokasikan (kolom paling kiri), dalam jumlah 1024 byte "blok."(ls tidak tahu ukuran blok sebenarnya adalah 4096 - kita bisa menentukan
--block-size
tetapi skala semua dengan nilai itu, dan kami ingin melihat ukuran file sebenarnya dalam byte juga) .Dua hal dapat dicatat di sini:
File Jarang
File jarang adalah file dengan blok besar angka nol. Karena data diketahui semuanya nol, tidak ada gunanya menyimpannya di disk. Dengan cara ini, ukuran jelas file sebenarnya bisa lebih besar dari ukuran pada disk.
Data sebaris
Perhatikan bahwa beberapa sistem file memungkinkan konten file yang sangat kecil untuk disimpan di inode itu sendiri. Lihat Apakah mungkin untuk menyimpan data secara langsung di dalam inode pada sistem file Unix / Linux? .
sumber