列出FreeBSD中所有已连接的设备


28

什么是Linux lsblk和的FreeBSD变体blkid

我想要提供与lsblk以下示例相同类型的信息的东西:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0 465.8G  0 disk 
├─/dev/sda1   8:1    0  1007K  0 part 
├─/dev/sda2   8:2    0   256M  0 part /boot
├─/dev/sda3   8:3    0   9.8G  0 part [SWAP]
├─/dev/sda4   8:4    0  29.3G  0 part /
├─/dev/sda5   8:5    0  29.3G  0 part /var
├─/dev/sda6   8:6    0 297.6G  0 part /home
└─/dev/sda9   8:9    0  16.3G  0 part 
/dev/sr0     11:0    1  1024M  0 rom  

我试过运行像man -k blk和这样的命令apropos dev。有devinfo,但我不确定这是否是我真正要寻找的东西,因为它似乎没有给我/dev/<DEVICE>列出设备的路径。

我什至尝试过devstat,但这似乎同样无济于事

编辑:

真正需要知道的是/dev/<DEVICE>每个连接的设备的路径,也许还有该设备的标签(如果有);无论它们是否已安装。


1
我想我可能已经想通了...我想camcontrol devlist可能是我想要的。
Alexej Magura 2014年

lsblk这是非常必要的,而FreeBSD站真的考虑对其进行调整。
neverMind9

Answers:



17

据我所知,camcontrol devlistlsblkFreeBSD 的变体最接近。我不是100%肯定这是最好的方法,但是lsblk如果您只关心/dev/<DEV-PATH>设备名称,它的输出将非常接近您提供的输出:

$ camcontrol devlist
<VBOX HARDDISK 1.0>   at scbus0 target 0 lun 0 (ada0,pass0)
<VBOX CD-ROM 1.0>     at scbus1 target 0 lun 0 (pass1,cd0)

/dev/DEV-PATH在输出中的位置camcontrol devlist似乎有所不同。例如,在FreeBSD Wiki上,camcontrol devlist页面之一上的示例输出devpath以相反的顺序列出了CD-ROM驱动器的:(cd0,pass0)而不是(pass1,cd0)

我不确定这种差异的意义或意义是什么。因此,如果您对devpaths* BSD 不熟悉,则可能需要对其进行一些尝试才能使其工作。


9

添加到trasz的答案中,geom part list显示了FreeBSD中的分区。类似地,geom md list您将获得“内存磁盘”设备(类似于Linux中循环挂载的某些用法,这些挂载也由列出lsblk(8)-换句话说,就是阻止由mdconfig(8)FreeBSD和losetup(8)linux 创建的设备)。请参阅geom(8)以获取类列表(如果加载了geom类,则可以列出每个类)。

lsblk(8)blkid(8)Linux中提供的体验不太一样,但是提供了许多相同的信息。有没有直接的联系,从geom(4)实例和供应商目前的挂载点在FreeBSD下(参见,mountpoint(1)findmnt(8)在Linux上)。


4

pciconfkldstat一试。


1
不,我什么都不知道,但是我似乎都不想要它们。这可能只是我不熟悉* BSD用于设备的命名约定的一种情况,但我对此表示怀疑。
Alexej Magura 2014年

1
日志文件还应该列出检测到的设备,但不确定是否可以帮助您。您想实现什么?
Uriel 2014年

1
使用pciconf -lpciconf -lv
Yvon

3

我认为gpart list是最接近的东西lsblk。它将向您显示所有设备及其分区(以及许多其他信息)。


0

所有的FreeBSD工具都是“不可读的”,该脚本很好地模仿了lsblk:https ://forums.freebsd.org/threads/lsblk-8-command-for-freebsd.56008/

wget https://forums.freebsd.org/attachments/lsblk-sh-txt.3085/
cp index.html /usr/lsblk.sh
chmod +x /usr/lsblk.sh
alias lsblk=/usr/lsblk.sh

您是什么意思“不可读”,它们以什么方式不可读?
Alexej Magura

1
我注意到该帖子实质上是指向包含附件的表单帖子的链接。您是否可以在此处张贴该脚本的内容,以便您的答案是独立的?谢谢。
杰夫·谢勒

lsblk具有显示驱动器层次结构的可读形式,只需查看问题即可。我知道人们不想看df / mount和其他令人讨厌的工具输出,到目前为止,这是最好的选择。
user533385
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.