Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
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 '10 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. –  John Gardeniers Feb 2 '10 at 11:17
    
The question may be a bit generic, but someone needs to start somewhere, which will sometimes be serverfault. –  Tobu Feb 2 '10 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 at 14:11
add comment

closed as off-topic by kce, Tim Brigham, Jenny D, Dave M, Rex Mar 13 at 15:48

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve." – Tim Brigham, Dave M, Rex
  • "Questions must be relevant to professional system administration. Server Fault is dedicated to professional system and network administrators. End user and enthusiast questions are off-topic (contact your system administrator or hire a professional to help you out). Please see the Help Center for more information." – kce, Jenny D
If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers

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.

share|improve this answer
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 '11 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. –  Roman Grazhdan Mar 12 at 3:37
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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