システムにインストールされているすべてのブロックデバイスを一覧表示する必要があります。すべてのブロックデバイスを表示するための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
ディスクは私のシステムで唯一の物理デバイスですか?パーティションとlvmはディスクの論理部分です。私は正しいですか?
物理ブロックデバイスを印刷する他の方法はありますか?
すべてのブロックデバイスだけでなく、実際にphysicalデバイスを見たいと仮定します。
私の推奨事項は次のとおりです。
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
を使用して、このメジャー番号を使用するZFSzvolを除外します。これらは完全に論理ブロックデバイスですが、ZFSドライバーにより、物理ディスクデバイスと同じようにlsblk
に表示されます。 ZFSを使用している場合は、-e 230
を使用してzvolを表示から除外できます。
[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
私はnot-S
オプションの使用をお勧めします。これにより、NVMeデバイスが表示されなくなります。
シェルスクリプトを記述したい場合に備えて、lsblk
のマニュアルページには、出力をより機械可読にするためのオプションが他にもいくつかあります。たとえば、-n
および-o
または-P
。
情報を取得する(パーティションなし):
$ 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
ls -l /sys/block/ | awk '$11 != "" && $11 !~ "^../devices/virtual" { print $9; }