yae*_*ael 2 linux filesystems sfdisk disk lsblk
我只想从lsblk捕获磁盘
如图所示,fd0 也出现了,尽管它不是真正可供使用的磁盘
在这种情况下,我们可以只做lsblk | grep磁盘| grep -v fd0
但也许我们错过了一些其他需要通过grep -v过滤它们的设备
lsblk中可能出现的其他磁盘设备 grep 磁盘而不是真正的磁盘?
lsblk | grep disk
fd0 2:0 1 4K 0 disk
sda 8:0 0 100G 0 disk
sdb 8:16 0 2G 0 disk /Kol
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 2G 0 disk
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 150G 0 disk
??sda1 8:1 0 500M 0 part /boot
??sda2 8:2 0 149.5G 0 part
??vg00-yv_root 253:0 0 19.6G 0 lvm /
??vg00-yv_swap 253:1 0 15.6G 0 lvm [SWAP]
??vg00-yv_var 253:2 0 100G 0 lvm /var
sdb 8:16 0 2G 0 disk /Kol
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 2G 0 disk
sr0 11:0 1 1024M 0 rom
Run Code Online (Sandbox Code Playgroud)
如果您只需要由设备主编号标识为 SCSI 的磁盘8,而不需要设备分区,您可以搜索设备主编号而不是字符串“磁盘”:
lsblk -d | awk '/ 8:/'
Run Code Online (Sandbox Code Playgroud)
其中-d(或--no-deps)选项表示不包括设备分区。
对于相当新的 linux 系统,更简单的
lsblk -I 8 -d
Run Code Online (Sandbox Code Playgroud)
正如用户尼克所指出的那样,应该足够了。