/dev/sda
파티션 장치 이름 (예 :)이 주어진 부모 블록 장치 이름 (예 :)을 얻는 휴대용 방법을 찾고 /dev/sda1
있습니다. 마지막 캐릭터를 버릴 수는 있지만 어떤 경우에는 작동하지 않습니다.
- MMC 카드 리더기는 일반적으로 이름이 같은
/dev/mmcblk0
반면 파티션의 이름은/dev/mmcblk0p1
(추가에 유의하십시오p
)입니다. - 선택 사항 : 일부 블록 장치에는 파티션 테이블이 없으며 단일 파티션으로 포맷됩니다. 이 경우 파티션 장치와 상위 블록 장치가 동일합니다.
LVM 볼륨은 완전히 다른 물고기 주전자입니다. 지금 지원할 필요는 없지만 고려할 때 약간의 추가 노력이 필요하면 괜찮습니다.
답변
리눅스를 사용한다면 lsblk
(의 일부 util-linux
)를 사용할 수 있습니다 :
lsblk -no pkname /dev/sda1
답변
장치가 다른 장치의 파티션 인 경우 (콘텐츠는 파티션 번호) /sys/class/block/$dev
라는 파일이 포함됩니다 partition
.
이 경우 다음을 사용하여 상위 장치의 이름을 얻을 수 있습니다.
basename "$(readlink -f "/sys/class/block/$dev/..")"
또는과 zsh
:
echo /sys/class/block/$dev(:A:h:t)
예:
$ dev=sda1
$ basename "$(readlink -f "/sys/class/block/$dev/..")"
sda
$ dev=nbd0p1
$ basename "$(readlink -f "/sys/class/block/$dev/..")"
nbd0
LVM 볼륨은 완전히 다릅니다 . 물리적 PV의 연속적인 매핑 인 특별한 경우를 제외하고는 파티션 이 아닙니다 linear
.
이 경우 PV를 사용하여 다음과 같은 이름을 얻을 수 있습니다.
ls "/sys/class/block/$dev/slaves"
어디 $dev
같은 것입니다 dm-2
(당신이에서 얻을 수있다 "$(basename "$(readlink -f /dev/VG/LV)")"
).