
Sometimes I don't remember what's in each of my machines. Here's what I use to figure this out: - taking the machine apart (often inconvenient) - dmesg(8) shows the kernel log. If nothing has flooded the log it will still have the messages from the booting. You can see entries from the kernel's discovery of most resources. Downside: it is long and arcane. Upside: you might find some surprises (eg. warnings). - dmidecode(8) "DMI table decoder". The output is a little arcane but useful. The man page says that it can be unreliable. - (new to me) lshw(1) "list hardware". The output seems easier to read that dmidecode's. It uses a variety of sources. It can output in a bunch of formats (but I've ignored that). - /proc/cpuinfo will tell you about the CPU. Apparently lscpu(1) shows pretty much the same thing (I've never noticed it before). - /proc/meminfo will tell you how much RAM you have (MemTotal is roughly the physical RAM, after some overhead has been removed). - /var/log/Xorg.0.log: shows what devices and capabilities X has found. Hard to read but sometimes it's what you need. - lsusb(8): list USB devices (including hubs). - lspci(8): list PCI devices and buses - sdparm(8)/hdparm(8): show (or set!) parameters of disk drive. hdparm seems to be mostly obsolete. This will tell you stuff: sudo sdparm -i /dev/sda - smartctl(8) "SMART Monitoring Tools". SMART == Self-Monitoring, Analysis and Reporting Technology. This is about disk drive issues. This command will pour out a lot of information: sudo smartctl -x /dev/sda