Seperti yang dikatakan subjek; Saya ingin tahu mengapa setiap direktori memiliki ukuran sama dengan 4K bahkan jika mereka berisi file dengan ukuran lebih besar dari 4K.
Silakan lihat di bawah ini: -
$ ls -lh
total 2.0M
drwxr-xr-x 4 ankit ankit 4.0K Sep 11 07:28 Desktop
$ ls -lrh Desktop/
-rw-rw-r-- 1 ankit ankit 9.1M Aug 4 11:15 sophosthreatsaurusaz.pdf
-rw------- 1 ankit ankit 107K Dec 27 2010 KP 3 0.pdf
drwxrwsr-x 9 ankit ankit 4.0K Sep 10 19:26 eclipse
PS: Saya tahu du -sh
utilitas baris perintah.
Sunting: Saya mengasumsikan direktori sebagai wadah untuk file.
filesystem
files
Ankit
sumber
sumber
Jawaban:
ls
menunjukkan ukuran tautan itu , bukan total ruang yang ditempati oleh isi direktori.sumber
Untuk memahami ini, Anda sebaiknya memiliki pengetahuan dasar tentang hal berikut (sistem file):
Pada
ext4
sistem file tipikal (apa yang kebanyakan orang gunakan),inode
ukuran default adalah 256 byte, ukuran blok 4096 byte.Direktori hanyalah file khusus yang berisi array nama file dan nomor inode. Ketika direktori dibuat, sistem file mengalokasikan 1 inode ke direktori dengan "nama file" (sebenarnya nama dir). Inode menunjuk ke satu blok data tunggal (overhead minimum), yaitu 4096 byte. Itu sebabnya Anda melihat 4096 / 4.0K saat menggunakan
ls
.Anda bisa mendapatkan detailnya dengan menggunakan
tune2fs
&dumpe2fs
.Contoh
sumber
Sumber
sumber