Saya sedang menulis geektool 3 skrip untuk menunjukkan ukuran mesin virtual VMware Fusion tertentu. Seperti itu .vmwarevm
"file" sebenarnya adalah direktori yang dikemas.
Mendapatkan informasi di Finder mengatakan file tersebut "52.91 GB". Saya menjalankan yang berikut ini du
perintah untuk mendapatkan ukuran file:
> du -hs ~/Documents/Virtual\ Machines.localized/MY-PRECIOUS-7.vmwarevm | awk '{print $1}'
Ini du -hs
perintah mengembalikan ukuran file sebagai "49G". Apa yang menyebabkan perbedaan dari apa yang dilaporkan oleh Finder?
kalau tidak , Saya sudah mencoba mengganti -s
opsi dengan -d
opsi seperti ini:
du -hd ~/Documents/Virtual\ Machines.localized/MY-PRECIOUS-7.vmwarevm | awk '{print $1}'
Ini du -hd
perintah mengembalikan ukuran file sebagai "59G". Apa yang menyebabkan perbedaan antara Finder, du -hd
, dan du -hs
?
Juga ini du -hd
perintah tidak menghasilkan output di geektool 3. Apa yang menyebabkan
Perhatikan juga bahwa "du" mengembalikan ruang disk sebenarnya yang digunakan, sedangkan alat lain akan mengembalikan ruang yang dialokasikan. Di mana Anda memiliki file jarang, 2 nilai ini bisa sangat berbeda - saya punya file yang dialokasikan 2 TB, tetapi hanya menempati sekitar 200 MB ruang disk.
sumber
ls
akan (seperti yang dicakup oleh Stephen).Nifle benar.
du
mengembalikan basis-2, Finder mengembalikan basis-10, dan 49GiB ≈ 52.91GBArgumen -d mengharuskan Anda untuk menentukan kedalaman. Dari bereksperimen barusan, tampaknya jika Anda memberikan sesuatu selain angka untuk kedalaman, itu memakan argumen yang Anda tentukan dan berperilaku seolah-olah Anda melakukannya.
-d 0
. 59G yang Anda dapatkan adalah ukuran direktori saat ini, bukan ukuran file vmwarevm.Inilah eksperimen yang saya jalankan:
Anda mungkin ingin membaca Halaman manual Mac OS X du (1) untuk informasi lebih lanjut.
sumber