The Linux manual pages (discussed in Section 2.1, “Manual ("man") pages”) can also be found on the Web; the Wikipedia article on Unix manual pages has a list of repositories.
GNU has a list of manuals for all of its software.
The Linux Documentation Project (TLDP) is a massive source of information, with many guides, HOWTOs, and other documents.
Prof. Norman Matloff at UC-Davis has a Unix and Linux Tutorial Center, with numerous articles on Unix/Linux and programming in C.
LinuxCommand.org has a short tutorial and some information on shell scripting and other topics.
Machtelt Garrels has written an Introduction to Linux.[46]
Google offers a Linux-only special search.
As for books:
Barr, Joe. CLI for Noobies: A Primer on the Linux Command Line. Boston: Prentice Hall, 2008.
Barrett, Daniel J. Linux Pocket Guide. Sebastopol: O'Reilly Media, 2004.
Bovet, Daniel, and Marco Cesati. Understanding the Linux Kernel. 3rd ed. Sebastopol: O'Reilly Media, 2005.
Dalheimer, Matthias Kalle, and Matt Welsh. Running Linux. 5th ed. Sebastopol: O'Reilly, 2006.
Raymond, Eric Steven. The Art of Unix Programming. Boston: Addison-Wesley, 2003. This book can also be found online at the author's website.
Siever, Ellen, et al. Linux in a Nutshell. 5th ed. Sebastopol: O'Reilly, 2005.
Sobell, Mark G. A Practical Guide to Linux Commands, Editors, and Shell Programming. Upper Saddle River: Prentice Hall, 2005.
Stutz, Michael. The Linux Cookbook: Tips and Techniques for Everyday Use. 2nd ed. San Francisco: No Starch Press, 2004.
Binh Nguyen has a TLDP guide on the Linux Filesystem Hierarchy.[46]
You can also learn quite a bit about the file system from man hier
.[47]
[46] The direct link provided is for the "chunked" HTML version of that guide. If you want to pick a different format, check the TLDP's guides section.
[47] Barr, CLI for Noobies, 32.