I keep getting the following error my Linux machine.
It occurs when I try to us commands like
df or change to certain directories on the drive.
Could this be caused by a hard drive failure?
Yes, it could be caused by hard drive failure. Or a bad cable. Or a good cable that isn't fully plugged in. Or bad RAM. Or other things. Is it consistently certain directories? That makes drive failure a more likely explanation.
BACK UP YOUR DATA RIGHT NOW!
OK, you're done with that? Now, boot the system off an Ubuntu, Knoppix, or other LiveCD and run fsck on the partition that has problems. If it's filesystem (as opposed to hardware) problems, fsck should be able to fix it. If you're using ext*, you can run badblocks to check for actual physical damage to the platters (the "-c" flag).
If you're experiencing hardware problems, just go ahead and buy a new disk. Hard drives are really, really cheap these days.