รับขนาดทั้งหมดของฮาร์ดไดรฟ์ใน Linux โดยใช้บรรทัดคำสั่งโดยไม่ต้องใช้สิทธิ์รูท


16

ฉันพยายามที่จะหาขนาดรวมของฮาร์ดไดรฟ์ของฉันโดยใช้แต่มันพิมพ์ขนาดของแต่ละพาร์ทิชันและต้องdf -hsudo

มีวิธีใดบ้างที่จะเพิ่มขนาดของฮาร์ดไดรฟ์ของฉันโดยใช้บรรทัดคำสั่งโดยไม่ต้องขออนุญาตรูท


5
หมายเหตุ: การใช้dfนั้นไม่แน่ชัดถ้าดิสก์มีพื้นที่ที่ไม่แบ่งพาร์ติชั่นพาร์ทิชันทั้งหมดจะไม่ได้รับการติดตั้ง (เช่นพาร์ติชัน Windows บางตัวในไดรฟ์เดียวกัน) หรือบางพาร์ติชันไม่ได้ติดตั้งโดยตรง มันจะพลาดการสลับพาร์ติชั่นด้วย ดังนั้นฉันไม่แนะนำให้ใช้dfเพื่อหาขนาด HDD
Philipp Wendler

คำตอบ:


13

วิธีแฮ็กคือการข้ามความต้องการsudoโดยการอ่านบันทึกระบบด้วย:

dmesg | grep blocks

โปรดทราบว่านี่อาจไม่เหมาะดังนั้นระยะทางของคุณอาจแตกต่างกันไป ...


5

หากคุณต้องการขนาดเป็นไบต์และมีเพียงค่าเช่นสำหรับการเขียนสคริปต์:

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

-b : เอาต์พุตในหน่วยไบต์
-n : ไม่มีส่วนหัว เราต้องการค่าจำนวนบริสุทธิ์เท่านั้น
- เอาต์พุตขนาด : พิมพ์เฉพาะคอลัมน์ขนาด
-d / dev / sdXn : อุปกรณ์ที่เราต้องการทราบขนาด X คือเช่น d, n คือเช่น 1 สำหรับพาร์ติชันแรกของดิสก์ d

ข้อดี:

  • ไม่จำเป็นต้องใช้สิทธิ์รูท
  • grep ไม่จำเป็นต้องใช้
  • lsblk มีอยู่ในระบบส่วนใหญ่ของ linux

4
cat /sys/block/sda/size

แต่ขนาดที่อยู่ในหน่วยบล็อกตาม
ผมพบว่าคำตอบนี้ที่นี่
การแก้ปัญหาอื่น ๆที่นี่

หรือคุณสามารถลองudisks

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

3

หากคุณต้องการใช้ข้อมูลนั้นในสคริปต์ตัวอย่างเช่นการใช้

sudo blockdev --getsz /dev/sda

อาจจะง่ายกว่า fdisk หรือ hdparm เพราะให้ข้อมูลที่เกี่ยวข้องกับคุณเท่านั้น (คูณด้วย 512) อย่างไรก็ตามมันจะต้องใช้ sudo ด้วย

แน่นอนคุณสามารถเปลี่ยนการกำหนดค่าของ sudo เพื่อให้สามารถดำเนินการคำสั่งนี้โดยไม่ต้องขอรหัสผ่าน (ฉันเดาว่าblockdev --getszค่อนข้างปลอดภัยแม้เมื่อดำเนินการโดยผู้ใช้ที่ไม่มีสิทธิ์ปกติ)

สิ่งนี้จะทำได้โดยการเพิ่มบรรทัดต่อไปนี้ลงใน/etc/sudoers:

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

เมื่อคุณแก้ไขไฟล์นี้โปรดใช้คำสั่งsudo visudoไม่ใช่ตัวแก้ไขตามปกติของคุณ ไม่อย่างนั้นจะทำให้เกิดข้อผิดพลาดทางไวยากรณ์ได้ง่ายซึ่งจะส่งผลให้ไม่สามารถใช้ sudo ได้อีกต่อไป (คุณต้องรีบูตในโหมดช่วยเหลือเพื่อแก้ไขปัญหานี้)


1
จากหน้าคน: --getsize64 Print device size in bytes.. นอกจากนี้ที่นี่
Sparhawk

1

ฉันไม่ได้อยู่ในกล่อง Linux ตอนนี้ แต่คุณสามารถลอง:

hdparm -I /dev/sda

หรือ

fdisk -l

ซึ่งอาจจะต้องมี sudo ด้วย

ฉันไม่เห็นเลยว่า df ต้องการรูท มันแปลกมาก


อาจเป็น "df" ไม่ได้อยู่ใน PATH HVNS การประชุมลอง "sudo ซึ่ง df" แล้วลองใช้ในฐานะผู้ใช้
Milan Babuškov

สวัสดีนี่คือสิ่งที่ฉันได้รับ: hvnsweeting @ hvnbox: ~ $ blockdev --getsz / dev / sda / dev / sda: การอนุญาตถูกปฏิเสธ hvnsweeting @ hvnbox: ~ $ hdparm -I / dev / sda / dev / sda: การอนุญาตถูกปฏิเสธ hvnsweeting @hvnbox: ~ $ fdisk -l hvnsweeting @ hvnbox: ~ $
HVNSweeting

1
ทุกอย่างที่เข้าถึงอุปกรณ์โดยตรง (เช่น / dev / sda) จะต้องใช้ sudo
Philipp Wendler

1

คุณมีการติดตั้งไม่ดีหรือดูแลระบบหวาดระแวงหวาดระแวง ฉันไม่เคยได้ยินเรื่องที่dfต้องการสิทธิ์รูทมาก่อน และฉันได้ทำงานกับระบบปฏิบัติการยูนิกซ์ / ยูนิกซ์ที่มีรสชาติต่างกันเล็กน้อย

อย่างไรก็ตามสิ่งนี้จะให้ขนาดทั้งหมดของพาร์ติชันดิสก์ทั้งหมด ( dfคอลัมน์แรกคือ/dev/hd...หรือ/dev/sd...) เป็นบล็อก (kB):

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

หรือเป็น GB:

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

0

ตรวจสอบพื้นที่ดิสก์จาก Gnome และ Kubuntu

ตัววิเคราะห์การใช้งานดิสก์เป็นแอปพลิเคชันที่ขับเคลื่อนด้วยเมนูแบบกราฟิกที่รายงานการใช้งานดิสก์ในสภาพแวดล้อม Gnome และ Kubuntu DUA (การวิเคราะห์การใช้งานดิสก์) สามารถสแกนทรีของระบบไฟล์ทั้งหมดหรือแต่ละไดเรกทอรีไม่ว่าจะเป็นแบบโลคัลหรือแบบรีโมต DUA นั้นเป็นแบบไดนามิกซึ่งมันจะรายงานแบบเรียลไทม์อุปกรณ์ใด ๆ ที่ติดตั้งและถอดออก

ในการเข้าถึงตัววิเคราะห์การใช้งานดิสก์ใน Gnome ให้คลิกที่: Applications \ Accessories \ Disk การวิเคราะห์การใช้งานนั้นง่ายมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.