Can anyone suggest some good materials for learning more about the Linux filesystem and command line? I have found myself frequently confused as to what programs go where on the Linux filesystem. I would like to learn how the various directories (var, etc, usr …) are used and how to use the commandline more effectively.
I come from the Windows development world (.NET developer) so I am very familiar with Windows system administration. However, when doing more and more work with PHP I found myself lost in the internals of Linux (specifically Ubuntu). For example I was having problems installing PEAR properly on my Ubuntu system and not understanding why it was installed where it was.
All of my interactions with Linux machines is done via SSH so I would like to focus on the command line and the filesystem. Thanks for any suggestions.
Though as with any operating system, you don’t really learn to get truly comfortable with it unless you actually start using it on a daily basis. You can learn the basics from books and online tutorials, but if you want it to feel “natural” you’ll have to jump right in and start actually using it regulary.
A nice way to “wet your feet”, if you don’t want to convert from windows, is by installing Cygwin (http://www.cygwin.com) on your windows machine and start to use it regulary (some discipline is required here, and it’s not the best way to learn – but it’s useful now and then). This also has the added benefit of automatically getting all nice *NIX utilities that can be a lifesaver when you’re a programmer (awk, sed, bash, grep, tail, emacs, the list goes on…).