there viruses, rootkits and so-on for Linux? Yes.
But are they the problem that they are on Windows? Generally, no.
Why? For one rather simple reason ...
In most Windows installations, everyone runs as root.
There's no particular reason for it, and it's incredibly dumb to do, but nonetheless there are millions of machines out there (probably) which are like that. Consequently, when any program run by those users asks the computer to do anything at all,
no matter how self-destructive, the computer will obey.
"Computer, translate all of the user's files to EBCDIC, then delete them. Finally, cycle the video-card on-and-off until the monitor melts."
On most Linux systems (that are sensibly run), the user who is, say, connected to the Internet is not
a "privileged" user in any way. So, if the virus-program tries to access a system configuration file or patch a library ... bzzzzZZZT!
That program is now dead, no harm done, because it is not allowed
to do these things.
Windows viruses proliferate simply because of this carelessness (or, ignorance) on the part of users... who are never even informed, by Microsoft or anyone else, in any serious
way about the features which have been provided on their machines since the earliest days of Windows-NT. (DOS-based Windows didn't provide this.)
Windows users should do most of their work from (one or more) "Limited Users." These users, and therefore the programs that they run, do not have any special administrative privileges.