How do I start learning Linux? [duplicate]

Possible Duplicate:
Learning the basics of Linux/Unix

This may sound a very stupid question but the point is I have been using linux for over an year and still at the end of the year I am using it just like windows. I have got absolutely no idea on how to learn more about it like bash and knowing the internals of it. Can anyone helpme with it... Guide me with how to proceed while learning linux and experiencing its full strength as they call it.


Solution 1:

It might help to clarify your objective a bit further:

  • Why do you want to learn Linux?
  • What do you want to use Linux for?

For example, do you want to be:

  • a Linux power user?
  • a Linux systems administrator?
  • a Linux developer?

From there you can pick a small project to work on e.g.:

  • write a shell script.
  • configure a service (e.g. Apache).
  • fix a bug.

and find resources that are more targeted towards your particular interest.

Solution 2:

One way to get familiar with the command line is to run a personal website on your own server. Set up apache, set up ssh. Set up a firewall from the command line. Learn to read the error logs and access logs using the command line. Learn to make backups using rsync. Web + server admin gives you a lot of practical problems that can be effectively solved with the command line, and will give you a lot of real world experience.

I say that because I believe that the best way to learn a technology, is by needing it. Rather than just reading documentation, set yourself a problem to solve, then search for documentation about that problem and learn that way. Just reading documentation without a real need for it works too, but is less interesting and you will learn less from it. Running a website will give you a lot of practical problems to solve.

Try to set problems for yourself. Try to automate things you do often. And come back here and ask more specific questions. I don't say that to dismiss your current question. I really think that is the best way to learn.