Saya dapat menggunakan ls -luntuk mendapatkan ukuran logis dari file, tetapi apakah ada cara untuk mendapatkan ukuran fisik file?
Saya dapat menggunakan ls -luntuk mendapatkan ukuran logis dari file, tetapi apakah ada cara untuk mendapatkan ukuran fisik file?
Jawaban:
ls -lakan memberi Anda ukuran yang jelas dari file tersebut, yang merupakan jumlah byte yang akan dibaca oleh program jika membaca file dari awal hingga selesai. duakan memberi Anda ukuran file "pada disk".
Secara default, dumemberi Anda ukuran file dalam jumlah blok disk, tetapi Anda dapat menggunakan -huntuk mendapatkan unit yang dapat dibaca manusia. Lihat juga manual untuk dudi sistem Anda.
Perhatikan bahwa dengan GNU coreutil du(yang mungkin apa yang Anda miliki di Linux), -buntuk mendapatkan byte berarti --apparent-sizeopsi. Ini bukan apa yang ingin Anda gunakan untuk mendapatkan jumlah byte yang sebenarnya digunakan pada disk. Sebaliknya, gunakan --block-size=1atau -B 1.
Dengan GNU ls, Anda juga dapat melakukannya ls -s --block-size=1pada file. Ini akan memberikan nomor yang sama du -B 1dengan file.
Contoh:
$ ls -l file
-rw-r--r-- 1 myself wheel 536870912 Apr 8 11:44 file
$ ls -lh file
-rw-r--r-- 1 myself wheel 512M Apr 8 11:44 file
$ du -h file
24K file
$ du -B 1 file
24576 file
$ ls -s --block-size=1 file
24576 file
Ini berarti bahwa ini adalah file 512 MB yang membutuhkan waktu sekitar 24 KB pada disk. Ini adalah file yang jarang (kebanyakan nol yang sebenarnya tidak ditulis ke disk tetapi direpresentasikan sebagai "lubang" logis dalam file). File jarang adalah umum ketika bekerja dengan file besar yang dialokasikan sebelumnya, misalnya gambar disk untuk mesin virtual atau bertukar file dll. Membuat file jarang cepat, sementara mengisinya dengan nol lambat (dan tidak perlu).
Lihat juga manual untuk fallocatedi sistem Linux Anda.
du akan menunjukkan seberapa banyak data dapat dibaca, sementara lsmenunjukkan sejauh mana sektor disk dialokasikan.
dumenunjukkan jumlah disk yang sebenarnya digunakan oleh file, sedangkan ukuran yang terlihat (ukuran logis) yang ditunjukkan oleh lsadalah berapa banyak byte yang dapat dibaca oleh suatu program. Jika file jarang, beberapa byte baca akan menjadi nol, tetapi mereka masih akan dikirim ke program yang membacanya (tidak hanya dari disk).