Secara default, Linux menyimpan sebagian kecil dari sistem file untuk pengguna root, setidaknya pada ext4 (untuk mencegah pengguna biasa mengisi drive sepenuhnya dan menabrak sistem, dan untuk mengurangi fragmentasi). Namun, df
hanya menampilkan ruang kosong yang terlihat oleh pengguna biasa (bahkan ketika dijalankan sebagai root). Bagaimana Anda menampilkan ruang bebas "nyata", yang dapat diakses untuk melakukan root?
sumber
tune2fs -l /dev/DEVICE | egrep "Block count|Reserved block count"
. Misalnya untuk partisi "penyangga multimedia" saya:Block count: 2621440
danReserved block count: 128449
: 4,9% dari blok yang tersedia (pengaturan konservatif untuk membantu mencegah fragmentasi).cut
perintah: Anda dapat memilih bidangawk
secara langsung. Sebenarnyacut
perintah itu tidak bekerja untuk saya seperti yang diharapkan. Bagaimanapun, saya memberikan jawaban lain yang seharusnya memberikan jawaban yang lebih tepat.tune2fs -m <percentage> <device-name>
untuk mengubah ruang disk yang disediakan hanya untuk penggunaan root.sudo tune2fs -l $(df | grep -E '/$' | cut -d\ -f 1) | egrep "Reserved block count|Block size" | paste -sd\ | awk '{print ($4 * $7 / ( 1024 * 1024 ) ), "MB"}'
tune2fs /dev/sda1
atau bahkan lebih baikstat -f -c '%a blocks free and %f blocks free for root (%S bytes per block)' /
Dengan menggunakan perintah tune2fs (ditemukan di / sbin / tune2fs ), Anda dapat dengan mudah menentukan ruang yang dipesan : (dan banyak lagi!)
Saya akan memberikan info sistem saya untuk referensi, saya akan menghapus garis asing yang tidak penting untuk pertanyaan ini:
Header ... dan nama volume, saya beri label semua drive saya, membuatnya mudah untuk diidentifikasi jika diperlukan.
BENAR-BENAR ingin ini mengatakan "bersih" saat sistem sedang berjalan. Jujur!
Di sinilah informasi kapasitas penyimpanan data dimulai:
Di sini Anda dapat melihat bahwa saya memiliki total 121.179.648 blok ... dengan ukuran blok 4K (4096), yang berlipat ganda menjadi sejumlah besar (462-ish GB). (Ukuran blok tercantum di bawah ini)
Dan blok yang dicadangkan ... dengan melihat angka di atas, dan angka di bawah ini ... Anda harus dapat dengan relatif cepat mengetahui bahwa saya telah memesan 1%. Dalam hal ini (4,62-ish GB)
Berapa banyak ruang kosong yang tersedia saat ini? Disini!
Dan semua ukuran blok penting. Berguna untuk mengalikan.
Baris-baris ini mengatakan SIAPA blok dicadangkan untuk ... pengguna 0, root, dalam hal ini
Ada banyak informasi yang tersedia di sini, tetapi ini akan memberi Anda kemampuan untuk dengan cepat memastikan berapa banyak tersedia, dan berapa banyak lagi yang dicadangkan untuk root. Matematika sederhana.
Semoga ini membantu. Ingat ... halaman manual adalah teman Anda.
sumber
Ini menampilkan ruang kosong dalam byte di partisi yang terkait dengan "/ jalur"
Anda tidak harus menjadi pengguna super untuk menjalankannya.
BTW Saya tidak begitu mengerti apa perbedaan antara
Ukuran blok% s (untuk transfer lebih cepat)
% S ukuran blok dasar (untuk jumlah blok)
dalam penggunaan
stat
.sumber
bc
untuk mendapatkan jumlah byte, atau bahkan digunakan--format='%f*%S/1024/1024/1024' | bc
untuk mendapatkan kilobyte / megabita / gigabita tergantung pada berapa banyak divisi yang Anda pilih.$(( ... ))
melakukan perhitungan, tetapi hanya menghasilkan bagian bilangan bulat dari hasil bagi (jika Anda menambahkan pembagian). Atau maksud Anda shell Anda tidak mendukung ekspansi aritmatika?bc
, sebaliknya, Anda bisa mendapatkan hasil bagi dengan presisi sewenang-wenang, jika Anda membutuhkannya.