This may sound a very stupid question, but I have been using Linux for over an year and I am still using it just like Windows. I have absolutely no idea on how to learn more about bash or other Linux internals. Can anyone help me with it? Guide me with how to proceed with learning more about Linux and experiencing its full strength as they call it.

  • 2
    Is there something wrong with using it 'just like windows'? After all, a great deal of effort went into making the UI enough like Windows that it seems familiar. If you really wanted to learn some of the things that Linux does differently, you have had ample time to find out. Maybe you don't have any reason to learn "its full strength"
    – pavium
    Feb 2, 2010 at 9:45
  • 4
    In more than a year you never thought to Google for some of the millions of Linux tutorials, or buy a book or two? If you won't help yourself you really can't expect us to do it for you. Feb 2, 2010 at 11:17
  • The question may be a bit generic, but someone needs to start somewhere, which will sometimes be serverfault.
    – Tobu
    Feb 2, 2010 at 15:23
  • And when they start at serverfault, they will be told that this is not the place to start, as they would have known had they read the text on what to ask/not to ask here.
    – Jenny D
    Mar 13, 2014 at 14:11

5 Answers 5


You need some quick and high return projects to work on.

If you'd like to learn about the behind the scenes aspects let me suggest that you install a server version of *nix. Ubuntu 9.10 Server edition is a solid choice. Then choose projects to work on that aren't overly complicated and will provide you with a high yield of experience in a short period of time.

Here are the projects that I typically suggest when I hire new staff members who have little or no experience with Linux (in order of complication):

  1. install and configure ssh with a banner and limited user access
  2. install and configure vsftpd, verify it works for local users
  3. install a Lamp environment and set up two virtual hosts
  4. create a user that has sudo privileges to restart apache and mysql
  5. create a bash script that will backup and gzip you database files.
  6. study your log files (install and config Logwatch for help)

As for bash specifics there are oddles of books and sources on the topic. Try the following projects:

  1. find the first 100 prime numbers
  2. organize a flat file with dates - remove slashes and split into columns
  3. create a bash script and echo the results to an email address using a cron.

Final point, be creative with your projects. You'll learn more if you pick what seems fun rather than hard. Eventually the hard projects will be fun because the learning curve will be low from all of your previous experience.

  • 1
    I think the approach of practical projects as exercises is a great way to avoid feeling overwhelmed. Trying to learn everything about Linux is quite daunting. This also helps you learn which commands do I need learn every little bit about, and which do I need to just know they exist.
    – zenWeasel
    Oct 2, 2011 at 14:05
  • I'd propose (maybe for later) setting up a mail and jabber server, a simple blog, dynamic DNS and such. For home - dlna, transmission + web interface, samba/nfs. Mar 12, 2014 at 3:37

You need to generate ideas about what do you want to do from the command line. Think about the applications (like building a media server/mail server ) or something that would expose you to the finer details of the linux system.

Secondly you can hang around in linux forums (like ubuntu forums ) and try to solve the problems posted there, thereby learning and helping the cause at the same time.I am not saying you'll be able to understand/do everything that is posted in these forums, but you'll learn in the process - our primary motive.


You could start here for example. Honestly, if you just type "Linux command line" in Google, you'll get tons of interesting things to look at. Also, I think this question would be better asked on superuser.


I'd recommend magazines to get a feel for what happens in linux land, though I don't know where you live. LWN is available everywhere.

For administration specifically, I recommend following some of the tutorials on debian administration.


There are already some good answers on Server Fault on this topic. Here are two post that give you resources to learn from:

And here is a post which expresses some difficulties when changing from Windows to Linux:
As a Windows administrator, what were the issues you encountered with trying to learn a linux distro?

This might give you some hints about where to start learning.

Not the answer you're looking for? Browse other questions tagged or ask your own question.