I was also searching for stat vs lstat vs fstat and although there is already an answer to this question, I’d like to see it formatted like that:
lstat()is identical tostat(), except that if pathname is a symbolic
link, then it returns information about the link itself, not the file
that it refers to.
fstat()is identical tostat(), except that the file about which
information is to be retrieved is specified by a file descriptor
(instead of a file name).
http://man7.org/linux/man-pages/man2/stat.2.html