Saya mencoba menemukan ukuran disk saya, jadi saya menjalankan perintah di bawah ini
$ sudo fdisk -s /dev/sda
976762584
Itu menunjukkan seperti di atas. Saya pikir ukuran ( 976762584
) dari disk ditampilkan dalam kilobyte. Bagaimana cara mengonversi nilai menjadi megabita atau gigabita melalui terminal untuk pemahaman yang lebih baik?
command-line
Avinash Raj
sumber
sumber
df -h /
. Tampilkan ukuran/
dalam-h
format yang dapat dibaca uman.blockdev --getsize64
Jawaban:
Shell melakukan aritmatika integer tetap-lebar tanpa memeriksa limpahan. Jadi, ketika melakukan perhitungan yang mungkin melibatkan sejumlah besar atau fraksi,
bc
adalah pilihan yang baik. Untuk mendapatkan megabita:Untuk mendapatkan gigabyte:
Tugas
scale=2
memberitahubc
untuk menampilkan dua tempat desimal.sumber
bc <<<"scale=2; $(sudo fdisk -s /dev/sda6) / 1024^2"
numfmt
(bagian dari GNU Coreutils ) dapat digunakan di sini:sumber
Dalam awk
Untuk menemukan ukuran disk dalam Megabita,
Untuk menemukan ukuran disk dalam Gigabytes,
sumber
sudo fdisk -s /dev/sda
Anda dapat menggunakandf | grep ^\/dev.*/\$
sudo fdisk
adalah ruang lingkup proyek yang ditentukan dalam pertanyaan.Jika ukuran diberikan dalam Kilobyte, Anda perlu menghitung melalui ekspresi bawaan Bash. Dengan asumsi ukuran blok = 512B, Anda harus mengetik:
Ini akan menunjukkan ukuran disk dalam KiB. Untuk melangkah lebih jauh, cukup tambahkan
/1024
ke akhir ekspresi:Ini akan menunjukkan ukuran disk dalam MiB dan sebagainya.
sumber
$[...]
formatnya sudah usang dan, sepertiman bash
dikatakan, "akan dihapus dalam versi yang akan datang." Format yang saat ini disukai untuk aritmatika shell adalah$((...))
.sudo
tidak ada. Juga satuan ukuran tidak dicetak.echo $((($(cat /sys/block/sda/size)*512)/1024**3))GB
Anda dapat melakukan ini secara native dengan Bash dan angka pseudo-floating point. Tentukan fungsi ini di Anda
~/.bashrc
dan buka kembali terminal Anda:Sekarang ujilah:
sumber
Ada alat yang disebut unit, yang dapat digunakan untuk konversi satuan:
Ini tersedia sebagai paket via
apt install units
.Ini adalah alat yang cukup standar, yang dapat ditemukan diinstal secara default pada berbagai sistem seperti UNIX lainnya (misalnya, FreeBSD ). Perlu diingat bahwa unit (1) sintaksis mungkin berbeda di seluruh implementasi yang tersedia di berbagai sistem operasi. Berikut konversi yang sama tetapi kali ini dengan unit FreeBSD (1) :
sumber