Lshw

From Free Geek Seattle

lshw is a command that lists the hardware that the kernel can see. It provides copious output, either machine-parseable (XML or JSON) or human-readable (HTML). It emits applicable uuids where they exist.

It is not provided in Ubuntu by default but can be installed from the default repositories.