Saya mengalami kesulitan memahami apa cara yang benar untuk membaca ukuran file karena setiap perintah memberi Anda hasil yang berbeda-beda. Saya juga menemukan posting di http://forums.devshed.com/linux-help-33/du-and-ls-generating-inconsistent-file-sizes-42169.html yang menyatakan sebagai berikut;
du memberi Anda ukuran file saat berada di sistem file. (IE akan selalu memberi Anda hasil yang dapat dibagi oleh 1024).
ls akan memberi Anda ukuran file yang sebenarnya.
Apa yang Anda lihat adalah perbedaan antara ukuran aktual file dan jumlah ruang pada disk yang dibutuhkan. (juga disebut efisiensi sistem file).
Apa perbedaan antara ia berada pada sistem file dan ukuran aktual dari file tersebut
du
menunjukkan kepada Andad
isku
bijak, itu melihat ruang yang diambil pada drive saat ini, dan dengan demikian itu menunjukkan kepada Anda ukuran penduduk.df -h
?df
melaporkan jumlah blok yang tersisa * ukuran blok sistem file. Dalam hal ini akan lebih sepertidu
, karena bahkan blok yang digunakan sebagian dianggap sepenuhnya dialokasikan.df
pada dasarnya menerjemahkan statvfs , sehingga Anda bisa melihat panggilan sistem untuk mendapatkan ide yang lebih baik tentang apa yang terjadi.Ada opsi lain di sini, yang belum dicakup - file jarang . Dalam hal ini,
du
akan menunjukkan ukuran yang lebih kecil daripada yang sederhanals -l
, karenals
melaporkan "ukuran" file sebagai ukuran nyata (jumlah byte yang bisa Anda baca, jika Anda ingin banyak sekali nol), sementaradu
akan terus menggunakan jumlah sebenarnya blok disk yang digunakan.Trik menyenangkan: Buat banyak file jarang yang besar, lalu buat teman-teman Anda terkesan dengan berapa banyak ruang disk yang Anda miliki ("lihat, saya menyimpan file 1TB trilyun-trilyun di hard drive saya!"). OKE, mungkin tidak begitu menyenangkan.
sumber
Sistem file terdiri dari blok. File tidak harus rapi masuk ke blok. Jika sebuah file berukuran 1024 byte, ukurannya adalah ls dan du akan menjadi 1024. Jika ukuran file adalah 1025 ukurannya akan menjadi 1025 di ls dan 2048 di du.
Perhatikan contoh di atas mengasumsikan ukuran blok 1024. Ukuran blok yang lebih besar adalah norma hari ini e, g,
sumber
Masih ada satu alasan lagi mengapa mereka berbeda. du -h tahu kapan ia melihat file yang sama dengan nama lain (hard link, sebagai lawan symlinks) dan akan melaporkan setiap file untuk ukurannya, tetapi hanya menambahkan ukuran satu kali ke direktori induk umum.
sumber