How to start learning linux ?
what steps should i do ?
IMHO, try a Ubuntu derivative. You can do straight Ubuntu, or there's a bunch of variations. Personally, I would recommend Mint as it comes with all the media codecs, flash plugin, etc pre-installed (so you can hit up YouTube, synch your iPod, play a DVD etc straight off the bat), Ubuntu excludes these by default as it is against their philosophy to include proprietary software - although you can still install them easily enough.
Now, how will you run the Linux OS? Do you have a dedicated machine, do you want to dual boot with your current OS, or use a virtual machine to run it inside your current OS? The latter would be my recommendation, you can keep using your current OS and just alt-tab over to the Linux OS like you would with an application. I use VirtualBox (VMWare is nice(r) but it costs).
Oh I should mention that a lot of Linux distributions offer a Live CD which means you can boot the OS straight from the CD and use it without installing. It's slow, due to CD-ROM I/O, but it's painless.
As for learning the OS, you just have to jump in! It helps if you have "something to do", for example, setting up a Java development environment, or a file/web server, or .. well anything really. The first thing I always do is configure the desktop environment and install a graphics driver.
There's plenty of resources on the web, a great place to start is Ubuntu Forums, there's a wealth of information there, and a lively community that's willing to help, and not just with Ubuntu although that's obviously their focus. You'll also want to get familiar with "man(ual) pages", and the command line in general. It's not necessary for a lot of things, but it is very powerful. Type, for example "man grep" in a terminal for the manual page on the grep utility (grep searches files for a given text).
It's a great OS, if you have an interest, I'm sure you'll enjoy the learning!
I disagree. If you wish to learn Linux (Read: UNIX-Based systems), Ubuntu is a terrible choice. Avoid any distro that purposely abstracts the inner machinery from the user. Ubuntu is a prime candidate of this. In such cases, you learn the distribution, not Linux.
I recommend starting with Slackware. I used it for years and it gets a terrible reputation for not being beginner friendly. This is not the case. Slackware is highly intuitive and comes with excellent documentation. Yes, you typically end up compiling your own software (through the wonderful SlackBuilds system) and handling your own dependencies. You will sometimes also be editing config files rather than using a GUI. But Slackware insists, where possible, upon vanilla packaging (Ubuntu, Debian, Red Hat all modify and patch their packages), so by learning Slackware, you learn UNIX.
Note: Slackware may initially (for the time it takes you to start the installer) seem difficult, but follow the instructions and you will find that the installer for Slackware is actually easier and more powerful than those you may find in other distributions.
The best advice though is to obtain VirtualBox and try many distributions. Just do not give up on one if it does not immediately click. Linux != Windows, things are done very differently, so whatever distribution you choose, please do not drop it because it doesn't function like Windows.
I've never tried Slackware, maybe I should give it a crack. :)
Join an ubuntu forum,browse threads, ask questions.
I, personally, found Slackware to be the single most elegant and beautiful Linux Distribution. I love that with Slack, the user is in control of the software, dependencies and most importantly removal of software with almost zero interference from the operating system. HAve you ever tried to remove a minor (such as Ekiga in Debian) component from the OS and had apt want to take the entire gnome-desktop metapackage with it? No such silliness in Slackware.
Separate names with a comma.