![lsblk 列出一个设备,然后显示“不是设备”](https://linux22.com/image/150694/lsblk%20%E5%88%97%E5%87%BA%E4%B8%80%E4%B8%AA%E8%AE%BE%E5%A4%87%EF%BC%8C%E7%84%B6%E5%90%8E%E6%98%BE%E7%A4%BA%E2%80%9C%E4%B8%8D%E6%98%AF%E8%AE%BE%E5%A4%87%E2%80%9D.png)
我看到一些奇怪的行为:
% lsblk | grep sdb
sdb 8:16 1 114.6G 0 disk
└─sdb1 8:17 1 114.6G 0 part /run/media/ravi/CC49-1FC8
% lsblk /dev/sdb
lsblk: /dev/sdb: not a block device
该设备是新订购的闪迪双 USB-C 128GB我正在跑步f3write
来检查它是否是假的。
为什么会lsblk
这样自相矛盾呢?
对于什么是块设备有不同的衡量标准吗?
答案1
lsblk
其本身将扫描 中的设备sysfs
。许多 Linux 发行版都有一个热插拔处理程序 (hotplug handler udev
),当块设备出现时,它会自动生成相应的节点/dev
,并在设备消失时删除它们。
要么你的系统没有这样的热插拔处理程序,或者更有可能有一个,但它无法处理热插拔事件,所以你最终没有相应的/dev
节点。对于后者,系统日志文件可能有一些关于该故障的指示。