블록 장치의 크기 결정 /dev/sda? 와 같은

/dev/sda? 와 같은 블록 장치의 크기를 어떻게 알 수 있습니까? 달리기 ls -l는 유용한 정보를 제공하지 않습니다.



답변

fdiskLinux를 실행하는 Mac에서 사용되는 파티션 레이아웃이나 PC 이외의 파티션 형식을 이해하지 못합니다. (예, mac-fdisk오래된 Mac 파티션 테이블과 gdisk최신 GPT 파티션 테이블이 있지만 다른 파티션 레이아웃은 아닙니다.)

커널은 블록 장치가 작동 할 때 이미 파티션 레이아웃을 스캔 했으므로 직접 물어 보지 않겠습니까?

$ cat / proc / partitions
주요 부 # 블록 이름

   8 16 390711384 sdb
   8 17 514079 sdb1
   8 18 390194752 sdb2
   8 32 976762584 sdc
   8 33 514079 sdc1
   8 34 976245952 sdc2
   800156290904 sda
   8 1 514079 sda1
   8 2 155774272 sda2
   8 48 1465138584 sdd
   8 49 514079 sdd1
   8 50 1464621952 sdd2


답변

blockdev --getsize64 /dev/sda 바이트 단위의 크기를 반환합니다.

blockdev --getsz /dev/sda 512 바이트 섹터의 크기를 반환합니다.

더 이상 사용되지 않음 : blockdev --getsize /dev/sda섹터 크기를 반환합니다.

blockdev util-linux의 일부입니다.


답변

cat /sys/class/block/sda/size

크기는 512 바이트 블록으로 표시됩니다.


답변

이 간단한 코드입니다. 찾을 수 없습니다 어떤 문서를하지만, 잘 트릭을 수행합니다

#include <linux/fs.h>
...
ioctl(file, BLKGETSIZE64, &file_size_in_bytes);


답변

어때요 :

fdisk -l

그러면 용량, 사용량 등이 담긴 모든 디스크 목록이 표시됩니다.


답변

blockdev --getsize /dev/sda


답변

lsblk 장치 유형 및 마운트 포인트 (있는 경우)를 포함하여 트리보기 및 사람이 읽을 수있는 형식으로 찾고있는 정보를 제공합니다.

장치 유형은 Ganesh Sittampalam의 요청에 따라 CD 드라이브에서 작동 함을 의미합니다.

바이트 단위로 특정 장치의 크기 만 가져 오려면 :

lsblk -rbno SIZE /dev/block-device