- 1 lsblkコマンドとは?
- 2 検証環境
- 3 オプション一覧
- 4 ASCIIコードで表示する方法(-i)
- 5 ファイルシステムを表示する方法(-f)
- 6 デバイスのパスを表示する方法(-p)
- 7 SIZEカラムをバイト単位で表示する方法(-b)
- 8 デバイスのオーナ、グループ、モードを表示する方法(-m)
- 9 デバイスのトポロジを表示する方法(-t)
- 10 表示するカラムを指定する方法(-o)
- 11 指定したメジャー番号のデバイスを表示する方法(-I)
- 12 指定したメジャー番号以外のデバイスを表示する方法(-e)
- 13 各項目を識別子=値で表示する方法(-P)
- 14 SCSIデバイスを表示する方法(-S)
- Z 参考情報
1 lsblkコマンドとは?
利用可能なブロックデバイスの情報を表示するコマンドです。
2 検証環境
CentOS版数は以下のとおりです。仮想マシンは最小限の構成で作成しました。
[root@server ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
カーネル版数は以下のとおりです。
[root@server ~]# uname -r 3.10.0-1160.el7.x86_64
3 オプション一覧
オプション一覧は以下のとおりです。
[root@server ~]# lsblk -h Usage: lsblk [options] [<device> ...] オプション: -a, --all print all devices -b, --bytes print SIZE in bytes rather than in human readable format -d, --nodeps don't print slaves or holders -D, --discard print discard capabilities -e, --exclude <list> exclude devices by major number (default: RAM disks) -I, --include <list> show only devices with specified major numbers -f, --fs output info about filesystems -h, --help usage information (this) -i, --ascii use ascii characters only -m, --perms output info about permissions -l, --list use list format output -n, --noheadings don't print headings -o, --output <list> output columns -p, --paths print complate device path -P, --pairs use key="value" output format -r, --raw use raw output format -s, --inverse inverse dependencies -t, --topology output info about topology -S, --scsi output info about SCSI devices -h, --help display this help and exit -V, --version output version information and exit Available columns (for --output): NAME device name KNAME internal kernel device name MAJ:MIN major:minor device number FSTYPE ファイルシステムの種類 MOUNTPOINT where the device is mounted LABEL filesystem LABEL UUID filesystem UUID PARTLABEL partition LABEL PARTUUID partition UUID RA read-ahead of the device RO read-only device RM removable device MODEL device identifier SERIAL disk serial number SIZE size of the device STATE state of the device OWNER user name GROUP group name MODE device node permissions ALIGNMENT alignment offset MIN-IO minimum I/O size OPT-IO optimal I/O size PHY-SEC physical sector size LOG-SEC logical sector size ROTA rotational device SCHED I/O scheduler name RQ-SIZE request queue size TYPE device type DISC-ALN discard alignment offset DISC-GRAN discard granularity DISC-MAX discard max bytes DISC-ZERO discard zeroes data WSAME write same max bytes WWN unique storage identifier RAND adds randomness PKNAME internal parent kernel device name HCTL Host:Channel:Target:Lun for SCSI TRAN device transport type REV device revision VENDOR device vendor For more details see lsblk(8).
4 ASCIIコードで表示する方法(-i)
-iは、lsblkの出力をASCIIコードで出力するオプションです。このオプションを付けないと、文字化けするので、これ以降、すべて-iオプションを付けて実行します。
[root@server ~]# lsblk -i NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk |-sda1 8:1 0 256M 0 part /boot |-sda2 8:2 0 128M 0 part [SWAP] `-sda3 8:3 0 19.6G 0 part / sdb 8:16 0 1G 0 disk sr0 11:0 1 4.4G 0 rom
5 ファイルシステムを表示する方法(-f)
-fは、デバイスに作成されているファイルシステムを表示するオプションです。なお、sdbにはファイルシステムを作成していないので、ファイルシステムの情報を表示する欄(FSTYPE)は空白になっています。
[root@server ~]# lsblk -fi NAME FSTYPE LABEL UUID MOUNTPOINT sda |-sda1 xfs 07a46e14-3ea4-4798-afe3-9ccf7e31504c /boot |-sda2 swap 91ae1a05-4341-4273-ba3e-09cd49167d9d [SWAP] `-sda3 xfs c8364498-e846-4d3d-a3bd-32d5233612cb / sdb sr0 iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00
6 デバイスのパスを表示する方法(-p)
-pは、デバイスのフルパスを表示するオプションです。
[root@server ~]# lsblk -ip NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda 8:0 0 20G 0 disk |-/dev/sda1 8:1 0 256M 0 part /boot |-/dev/sda2 8:2 0 128M 0 part [SWAP] `-/dev/sda3 8:3 0 19.6G 0 part / /dev/sdb 8:16 0 1G 0 disk /dev/sr0 11:0 1 4.4G 0 rom
7 SIZEカラムをバイト単位で表示する方法(-b)
-bは、SIZEカラムをバイト単位で表示するオプションです。
[root@server ~]# lsblk -bi NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 21474836480 0 disk |-sda1 8:1 0 268435456 0 part /boot |-sda2 8:2 0 134217728 0 part [SWAP] `-sda3 8:3 0 21071134720 0 part / sdb 8:16 0 1073741824 0 disk sr0 11:0 1 4712300544 0 rom
8 デバイスのオーナ、グループ、モードを表示する方法(-m)
-mは、デバイスのデバイスのオーナ、グループ、モードを表示するオプションです。
[root@server ~]# lsblk -im NAME SIZE OWNER GROUP MODE sda 20G root disk brw-rw---- |-sda1 256M root disk brw-rw---- |-sda2 128M root disk brw-rw---- `-sda3 19.6G root disk brw-rw---- sdb 1G root disk brw-rw---- sr0 4.4G root cdrom brw-rw----
9 デバイスのトポロジを表示する方法(-t)
-tは、デバイスのトポロジを表示するオプションです。
[root@server ~]# lsblk -it NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME sda 0 512 0 512 512 1 deadline 128 4096 32M |-sda1 0 512 0 512 512 1 deadline 128 4096 32M |-sda2 0 512 0 512 512 1 deadline 128 4096 32M `-sda3 0 512 0 512 512 1 deadline 128 4096 32M sdb 0 512 0 512 512 1 deadline 128 4096 32M sr0 0 2048 0 2048 2048 1 deadline 128 128 0B
10 表示するカラムを指定する方法(-o)
-oは、表示するカラムを指定するオプションです。
NAME列を表示してみます。
[root@server ~]# lsblk -i -o NAME NAME sda |-sda1 |-sda2 `-sda3 sdb sr0
次に、NAMEとSIZEを表示してみます。
[root@server ~]# lsblk -i -o NAME,SIZE NAME SIZE sda 20G |-sda1 256M |-sda2 128M `-sda3 19.6G sdb 1G sr0 4.4G
最後に、NAME,SIZE,TYPE,UUIDを表示してみます。
[root@server ~]# lsblk -i -o NAME,SIZE,TYPE,UUID NAME SIZE TYPE UUID sda 20G disk |-sda1 256M part 07a46e14-3ea4-4798-afe3-9ccf7e31504c |-sda2 128M part 91ae1a05-4341-4273-ba3e-09cd49167d9d `-sda3 19.6G part c8364498-e846-4d3d-a3bd-32d5233612cb sdb 1G disk sr0 4.4G rom 2020-11-04-11-36-43-00
11 指定したメジャー番号のデバイスを表示する方法(-I)
-Iは、指定したメジャー番号のデバイスだけを表示するオプションです。まず、メジャー番号が8だけのデバイスを表示してみます。
[root@server ~]# lsblk -iI8 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk |-sda1 8:1 0 256M 0 part /boot |-sda2 8:2 0 128M 0 part [SWAP] `-sda3 8:3 0 19.6G 0 part / sdb 8:16 0 1G 0 disk
ループバックデバイスを作成します。そして、メジャー番号が7と8のデバイスを表示してみます。ループバックデバイスのメジャー番号は7であることがわかります。なお、ループバックデバイスの作成方法は、losetupコマンドの使い方 - hana_shinのLinux技術ブログを参照してください。
[root@server ~]# lsblk -iI7,8 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk |-sda1 8:1 0 256M 0 part /boot |-sda2 8:2 0 128M 0 part [SWAP] `-sda3 8:3 0 19.6G 0 part / sdb 8:16 0 1G 0 disk loop0 7:0 0 1M 0 loop
12 指定したメジャー番号以外のデバイスを表示する方法(-e)
-eは、指定したメジャー番号以外のデバイスを表示するオプションです。メジャー番号が8以外のデバイスを表示してみます。
[root@server ~]# lsblk -ie8 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.4G 0 rom loop0 7:0 0 1M 0 loop
13 各項目を識別子=値で表示する方法(-P)
[root@server ~]# lsblk -iP NAME="sda" MAJ:MIN="8:0" RM="0" SIZE="20G" RO="0" TYPE="disk" MOUNTPOINT="" NAME="sda1" MAJ:MIN="8:1" RM="0" SIZE="256M" RO="0" TYPE="part" MOUNTPOINT="/boot" NAME="sda2" MAJ:MIN="8:2" RM="0" SIZE="128M" RO="0" TYPE="part" MOUNTPOINT="[SWAP]" NAME="sda3" MAJ:MIN="8:3" RM="0" SIZE="19.6G" RO="0" TYPE="part" MOUNTPOINT="/" NAME="sdb" MAJ:MIN="8:16" RM="0" SIZE="1G" RO="0" TYPE="disk" MOUNTPOINT="" NAME="sr0" MAJ:MIN="11:0" RM="1" SIZE="4.4G" RO="0" TYPE="rom" MOUNTPOINT="" NAME="loop0" MAJ:MIN="7:0" RM="0" SIZE="1M" RO="0" TYPE="loop" MOUNTPOINT=""
14 SCSIデバイスを表示する方法(-S)
-Sは、SCSIデバイスを表示するオプションです。以下は、iSCSIの環境構築手順 - hana_shinのLinux技術ブログで作成したiSCSIデバイスです。
[root@initiator ~]# lsblk -S NAME HCTL TYPE VENDOR MODEL REV TRAN sdb 3:0:0:0 disk LIO-ORG lun0 4.0 iscsi
Z 参考情報
私が業務や記事執筆で参考にした書籍を以下のページに記載します。
Linux技術のスキルアップをしよう! - hana_shinのLinux技術ブログ