List all connected devices in FreeBSD

Use geom disk list. This will show all disk-like devices (technically, every instance of GEOM "DISK" class).

For more information: geom | FreeBSD Manual Pages


From what I can tell, camcontrol devlist is the closest thing to a lsblk variant for FreeBSD. I'm not 100% sure that this is the best method, but its output is very close to what lsblk gives you, if you only care about /dev/<DEV-PATH> and device names:

$ 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)

The position of the /dev/DEV-PATH in the output of camcontrol devlist seems to vary. For example, on the FreeBSD wiki, the example camcontrol devlist output on one of the pages lists the devpath for the CD-ROM drive in the opposite order: (cd0,pass0) instead of (pass1,cd0).

I'm not sure if or what the significance of this difference is. So if you aren't familiar with devpaths in *BSD you may need to play around with it a bit in order to get it to work.


Adding to trasz' answer, geom part list shows the partitions in FreeBSD. Similarly geom md list will get you the "memory disk" devices (similar to some uses of loop mounts in linux which are also listed by lsblk(8) - in other words block devices created by mdconfig(8) on FreeBSD and losetup(8) on linux). See geom(8) for a list of classes (each of which can be listed if the geom class is loaded).

This is not quite the same experience that lsblk(8) and blkid(8) provide in linux, but provides much of the same information. There's no direct linkage from geom(4) instances & providers to mountpoint currently in FreeBSD (cf., mountpoint(1) and findmnt(8) on linux).