시스템에 설치된 모든 블록 장치를 나열해야 합니다. lsblk
모든 블록 장치 표시라는 명령이 있습니다 .
[kni@hist ttyid:0 pią kwi 13 17:56:26 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 16G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 13,5G 0 part
├─fedora_211829-root 253:0 0 10G 0 lvm /
├─fedora_211829-swap 253:1 0 1,5G 0 lvm [SWAP]
└─fedora_211829-home 253:2 0 2G 0 lvm /home
sr0 11:0 1 55,3M 0 rom /run/media/kni/VBox_GAs_5.2
[knis@hist ttyid:0 pią kwi 13 17:56:31 ~]$
lsblk
이것은 내 시스템에서 명령을 실행한 결과입니다. 디스크가 sda
내 시스템의 유일한 물리적 장치입니까? 파티션과 lvms는 디스크의 논리적 부분입니다. 내가 맞나요?
물리적 블록 장치를 인쇄하는 다른 방법이 있습니까?
답변1
정말 보고 싶다고 가정하면물리적모든 블록 장치뿐만 아니라 장치:
내 제안은 다음과 같습니다
lsblk -a -d -e 230
왜?
매뉴얼 페이지에서 이러한 명령줄 옵션의 기능을 검토해 보겠습니다.
-a, --all
Also list empty devices. (By default they are skipped.)
이상하게 lsblk
도 노트북의 DVD 버너가 비어 있음에도 비어 있는 것으로 표시되지만 -a
보관해도 문제가 없을 것 같습니다.
-d, --nodeps
Do not print holder devices or slaves. For example, lsblk
--nodeps /dev/sda prints information about the sda device only.
즉, 장치의 파티션은 볼 수 없고 장치 자체만 볼 수 있습니다.
-e, --exclude list
Exclude the devices specified by the comma-separated list of
major device numbers. Note that RAM disks (major=1) are
excluded by default. The filter is applied to the top-level
devices only.
-e 230
마지막으로 이 메이저 번호를 사용하는 ZFS zvol을 제외 하곤 했습니다 . 이는 완전히 논리적 블록 장치이지만 ZFS 드라이버를 사용하면 lsblk
물리적 디스크 장치와 동일하게 표시됩니다. ZFS를 사용하는 경우 를 사용하여 표시에서 zvol을 제외할 수 있습니다 -e 230
.
[root@dalaran ~]# lsblk -a -d -e 230
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 894.3G 0 disk
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 477G 0 disk
그래요아니요-S
NVMe 장치가 표시되지 않을 수 있으므로 이 옵션을 사용하는 것이 좋습니다 .
쉘 스크립트를 작성하려는 경우 매뉴얼 페이지에 lsblk
출력을 기계에서 더 쉽게 읽을 수 있도록 하는 몇 가지 다른 옵션이 있습니다. 예를 들어 -n
및 -o
또는 -P
.
답변2
정보 가져오기(파티셔닝 없이):
$ lsblk -a -d
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
sdb 8:16 0 40G 0 disk
sr0 11:0 1 55.3M 0 rom
-a print even empty devices (if disk is not loaded in CD/DVD device)
-d discard print slaves
답변3
ls -l /sys/block/ | awk '$11 != "" && $11 !~ "^../devices/virtual" { print $9; }