Dapatkan ukuran total hard drive saya di Linux, menggunakan baris perintah, tanpa izin root?

15

Saya mencoba mencari tahu ukuran total dari hard drive saya df -h, tetapi ia mencetak ukuran setiap partisi dan membutuhkannya sudo.

Apakah ada cara untuk mendapatkan ukuran total hard drive saya menggunakan baris perintah, tanpa memerlukan izin root?

HVNMencintai
sumber
5
Catatan: Penggunaan dftidak tepat jika disk memiliki ruang yang tidak dipartisi, tidak semua partisi dipasang (misalnya, beberapa partisi Windows pada drive yang sama) atau beberapa partisi tidak dipasang secara langsung tetapi secara tidak langsung melalui RAID, LVM atau LUKS (enkripsi). Itu juga akan melewatkan partisi swap. Jadi saya sarankan untuk tidak menggunakan dfuntuk mengetahui ukuran HDD.
Philipp Wendler

Jawaban:

12

Cara hacky adalah untuk memotong kebutuhan sudodengan membaca log sistem dengan:

dmesg | grep blocks

Harap perhatikan bahwa ini mungkin tidak ideal, jadi jarak tempuh Anda mungkin berbeda ...

Sirex
sumber
4
cat /sys/block/sda/size

Tetapi ukurannya dalam unit berbasis blok
saya menemukan jawaban ini di sini .
Solusi lain di sini .

Atau Anda dapat mencoba udisks

udisks --show-info /dev/sda | egrep "^[[:space:]]*size" | awk '{print $2}'
Gery
sumber
4

Jika Anda ingin ukuran dalam byte dan hanya nilai misalnya untuk skrip:

lsblk -b --output SIZE -n -d /dev/sdX
12220202

-b : Output dalam byte.
-n : Tidak ada judul. Kami hanya ingin nilai angka murni.
--ukuran UKURAN : Hanya cetak kolom ukuran.
-d / dev / sdXn : Perangkat yang ukurannya ingin kita ketahui. X adalah eg d, n adalah eg, 1 untuk partisi pertama disk d.

Keuntungan:

  • root privilege tidak diperlukan
  • grep tidak diperlukan
  • lsblk tersedia di sebagian besar sistem linux
Sean Loony
sumber
3

Jika Anda ingin menggunakan informasi itu dalam skrip misalnya, gunakan

sudo blockdev --getsz /dev/sda

mungkin lebih mudah daripada fdisk atau hdparm karena hanya memberi Anda informasi yang relevan (hanya kalikan dengan 512). Namun, itu juga membutuhkan sudo.

Anda tentu saja dapat mengubah konfigurasi sudo sehingga memungkinkan untuk mengeksekusi perintah khusus ini tanpa meminta kata sandi (saya kira blockdev --getszcukup aman bahkan ketika dieksekusi oleh pengguna biasa yang tidak memiliki hak istimewa).

Ini akan dilakukan dengan menambahkan baris berikut ke /etc/sudoers:

ALL ALL= NOPASSWD:/sbin/blockdev --getsz /dev/*

Saat Anda mengedit file ini, pastikan untuk menggunakan perintah sudo visudodan bukan editor Anda yang biasa. Kalau tidak, sangat mudah untuk membuat kesalahan sintaks, yang akan mengakibatkan tidak dapat menggunakan sudo lagi (Anda harus reboot ke mode penyelamatan untuk memperbaikinya).

Philipp Wendler
sumber
1
Dari halaman manual: --getsize64 Print device size in bytes.. Juga disini .
Sparhawk
1

Saya tidak di kotak Linux saya sekarang, tetapi Anda dapat mencoba:

hdparm -I /dev/sda

atau

fdisk -l

yang mungkin juga membutuhkan sudo.

Saya belum melihat di mana pun bahwa df membutuhkan root. Itu aneh.

CaseyB
sumber
Mungkin "df" tidak ada dalam PATH. HVNSweeting, coba "sudo yang df" dan kemudian coba itu sebagai pengguna.
Milan Babuškov
hai, inilah yang saya dapatkan: hvnsweeting @ hvnbox: ~ $ blockdev --getsz / dev / sda / dev / sda: Izin ditolak hvnsweeting @ hvnbox: ~ $ hdparm -I / dev / sda / dev / sda: Izin ditolak hvnsweeting @hvnbox: ~ $ fdisk -l hvnsweeting @ hvnbox: ~ $
HVNSweeting
1
Segala sesuatu yang mengakses perangkat secara langsung (yaitu, / dev / sda) akan membutuhkan sudo.
Philipp Wendler
1

Anda memiliki instalasi yang buruk atau sysadmin paranoid yang tidak masuk akal. Saya belum pernah mendengar tentang dfmembutuhkan hak akses root sebelumnya. Dan saya telah bekerja dengan beberapa rasa berbeda dari sistem operasi unix / unix-like.

Bagaimanapun, ini akan memberi Anda ukuran total semua partisi disk ( dfkolom pertama adalah /dev/hd...atau /dev/sd...) di blok (kB):

df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s}'

atau dalam GB:

df | grep '^/dev/[hs]d' | awk '{s+=$2} END {print s/1048576}'
Dave Sherohman
sumber
0

Memeriksa Ruang Disk Dari Gnome dan Kubuntu

Disk Usage Analyzer adalah aplikasi berbasis menu grafis yang melaporkan penggunaan disk di lingkungan Gnome dan Kubuntu. DUA (Disk Usage Analyzer) dapat memindai seluruh hierarki sistem file atau direktori individual, baik lokal maupun jarak jauh. DUA juga dinamis, karena akan melaporkan secara real time semua perangkat yang dipasang dan dilepas.

Untuk mengakses Disk Usage Analyzer di Gnome, klik pada: Applications \ Accessories \ Disk Usage Analyzer sesederhana itu.

Ricky
sumber