lsblk lists the block devices that are currently recorded in the sysfs filesystem and/or listed by udev db. If these have not settled, it is a good idea to use 'udevadm settle' before lsblk.
There are a large number of options, controlling output and filtering the desired devices. It is recommended to refer to the man page or the output with the --help option.
Most (all?) Linux distributions incorporate this from the [util-linux] project.