물리적 블록 장치 표시

물리적 블록 장치 표시

시스템에 설치된 모든 블록 장치를 나열해야 합니다. 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 

그래요아니요-SNVMe 장치가 표시되지 않을 수 있으므로 이 옵션을 사용하는 것이 좋습니다 .


쉘 스크립트를 작성하려는 경우 매뉴얼 페이지에 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; }

관련 정보