Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Are there any good tutorials or resources I can read so that I am not confused by basic things like 'how to search all files in a directory and below for a given string', or 'how to find out how much memory is allocated to php'

Basically what should I know for daily interaction with a Linux system and what are good resources to learn it.

( I'd like this to be kind of a faq for good introductory resources to Linux as an OS, so server tips are good, but it shouldn't have to be server only. Online, dead tree, and other suggestions welcome )

share|improve this question

closed as too broad by Braiam, slm, Ramesh, jasonwryan, devnull May 14 at 3:41

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

You're probably better off looking up specific things when they come up. Linux is hard to just "catch up on" without using it since it's all memorizing commands basically –  Falmarri Oct 19 '10 at 22:48

7 Answers 7

Specific things you might want to look into is:

  • Shell scripting
    Being able to use bash is a must for anyone thats going to get intimate on the command line

  • Services
    You will have to understand the services your webserver will be running. If your running PHP and MYSQL. You'll want to read about LAMP.

As Falmarri says, solving individual problems when they arise will help you learn a lot quicker than studying up a book or doing all the theory.

If you need to know the unix basics, get a unused PC at home and play with it. Install and use distro's that doesn't do everything for you, Arch Linux has the perfect installation wiki for this. Slackware is another good one.

Also, to solve those individual problems, ask questions here on Unix SE or Serverfault :)

share|improve this answer
Little old, but Is LAMP supposed to link to archlinux.org? :O –  mathepic Feb 21 '11 at 17:42
no, it should link to the lamp wiki on archlinux.. fixed.. and nice catch. –  Stefan Feb 22 '11 at 15:29

You can read some of the various online linux-for-newbies resources, and they might be some help. Going through the documentation for your distribution is worthwhile — both Ubuntu and Fedora have teams producing professional-quality documentation, at https://help.ubuntu.com/ and http://docs.fedoraproject.org/ respectively. If you're a book learner, there's plenty of books.

But the only real way to learn is to get your hands dirty. Therefore, I recommend setting up your system to dual-boot rather than just putting Linux in a VM. And then, boot into Linux and stay there even when it gets difficult or annoying or frustrating. (In fact, I might go so far as to say just put Linux on there as the primary OS — you can always put the other one back if need be.)

When you get stuck, come back here (or to other similar sites, but, y'know, I recommend this one) and ask questions.

Malcolm Gladwell has this thing called "the 10,000 hour rule", which he puts forth as the time you need to really master any particular skill. Of course, you can become competent with Linux (or many other things) far more quickly than that, but it really is about putting in the hands-on time.

share|improve this answer
I'd suggest not dual-booting. Put Linux on your system and put Windows in a VM. There are some things that you may need Windows for (such as collaborating on a PowerPoint file). If you boot into Windows to do this, it can sometimes be easier to just stay there. If you have Windows in a VM, it's much easier to flip back-and-forth since you can just pause and resume the virtual machine. –  Shawn J. Goff Mar 8 '11 at 1:17
@Shawn — note that the OP has a MacBook. Not that that precludes MS Windows in a vm, but... –  mattdm Mar 8 '11 at 1:26
This answer made a lot more sense when it was attached to unix.stackexchange.com/questions/8783/resources-to-learn-linux –  mattdm Mar 8 '11 at 13:48

A good general starting point for Linux administration is this book:

It is about a lot of the basics and also has a chapter about web.

Besides the points already mentioned, this things might come handy:

  • perl/python or another scripting language for automating tasks
  • sed and awk are always useful (IBM has some good tutorials, search for sed by example and awk by example)
  • make yourself comfortable with the logs (webserver and system logs)
  • cron and at are your friends for repeating and timed tasks
  • monitoring is always useful (system + web). there are too much tools to give any advice here, just as starting point: sar, nagios, cacti, ...

For some more inspiration, take a look at these posts on serverfault:

They will give you a lot starting points. Don't feel overwhelmed. Try to pick the topics you currently need the most to get the job done.

share|improve this answer

The Linux Documentation Project (TLDP) is a useful resource; some of the information is old, but lots of it is still very applicable.

Especially useful is the Introduction to Linux - A Hands on Guide from the TLDP guides.

share|improve this answer

Running Linux Should be a good book for novices. I think it covers a little bit of everything. The chapter on Gnome and KDE is certainly out of date. But still, this book should be a good general guide to Linux.

FYI, I have never read this book, I was an advanced user before I found this book. I learned by DIY.

share|improve this answer

For an excellent introduction to, and explanation of, the foundations of Unix (and therefore Linux) read The Unix Programming Environment.

Written in 1984 by Brian Kernighan and Rob Pike, it covers the basic philosophy of Unix and introduces many of the small, "one thing well"–type programmes that are still present (and invaluable) in contemporary systems.

As the authors noted:

The UNIX system can’t last forever, but systems that hope to supersede it will have to incorporate many of its fundamental ideas.
share|improve this answer

If you are a book learner, I found the Linux Command Line (amazon link) to be a very nice book. I have read it myself, and have found it highly informative, precise, short and very easy to read.

share|improve this answer

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