badblocks scans a block device for bad sectors. It can run in read-only or destructive read-write modes.
lsblk before running.
sudo badblocks /dev/sdX
sudo badblocks -v /dev/sdX
sudo badblocks -w /dev/sdX
sudo badblocks -n /dev/sdX
sudo badblocks -b 4096 /dev/sdX
sudo badblocks -v /dev/sdX > badblocks.txt
sudo e2fsck -l badblocks.txt /dev/sdX1
sudo badblocks /dev/sdX1
sudo badblocks -wsv /dev/sdX
sudo smartctl -a /dev/sdX