Is linux free from almost all security vulnerabilities when compared with windows? If there are so, can i install any patches to fix them? Thanks in advance.
Linux is a very secure system, however it isn't full free of vulnerabilities. There are malware known as rootkits that can get to a Unix/Linux system and steal information, destoy data,etc.
However for rootkits being successful the system must be insecure / bad managed, just because a Linux system is as secure as its administrator is aware of security.
These are the most important tasks to keep a Linux distribution secure:
Only install software from the distribution repositories (apt-get, yum...). Avoid downloading pre-packaged (.deb, .rpm) software unless it comes from very known sources.
Learn to use IP Tables and create a configuration that let pass through your system only the traffic that you want to have.
Keep the system updated. The distribution repositories are updated as soon as possible when a vulnerability is discovered.
Understand user permissions and be as restrictive as possible.
Disable SSH passwords and enable login using SSH keys.
Enforce the use of strong passwords.
Lock the root account, so nobody can log as root and whoever needs root permissions will use sudo.
Install and learn to use SELinux. It will increase the basic Linux security.
All software has vulnerabilities. GNU/Linux systems are not different in terms of having bugs or certain configurations that lead to vulnerabilities.
Windows has been in the spotlight because of its much larger desktop install base, which usually is an "easy way in".
Not wanting to start any type of war about which is better, one could argue that because of the Open Source nature of GNU/Linux, there are many more eyes on the code to find bugs which should lead to more secure systems, from that perspective.
What exactly are you trying to do? Using it as a desktop or server system?