General discussion


Getting to know Linux, Any book recommendations?

By John-P ·

I've been using Windows for awhile and am reasonably proficient with its use and maintenance, but have no experience with Linux etc.

Could someone(s) recommend a good book (or two) for someone completely new to all things Linux?


This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

I've never used a book to learn general Linux procedures

by stress junkie In reply to Getting to know Linux, An ...

If you already know general operating system concepts then you may not need a "Learning Linux" type of book. I've never used one. I have purchased several over the years but I've never read any of them. All you really need is to find out how to perform the tasks that you already have learned in Windows. You probably already know about creating user accounts, passwords, home directories, the command window (CMD.EXE), setting up a network card, etc. You perform the same tasks in Linux; you just use different tools or commands. So you really don't need a book that will spend 1200 pages explaining what a user account is or what a file share is.

Different Linux distributions use slightly different methods of performing the same task. These differences become trivial once you are familiar with them but the novice can get frustrated with them. Therefore the documentation that you need depends on which distribution that you are using. Generally the web site for your Linux distribution will have a lot of documentation. This is particularly true if you use one of the big distributions such as Debian, Red Hat, or SuSE.

One thing that is almost always true is that you will have a lot of documentation on your hard disk relating to your distribution. The problem is finding it. Here are some commands that will help you find the documentation on your hard disk. These require that you open a terminal window (which is like the CMD.EXE command on Windows). Once you do that you can enter the following commands.

There are two documentation utilities in Linux. One is called man (for manual pages) and the other is called info. You can find man pages or info pages on your system with the following commands. Note that in these examples <keyword> is a word that describes the subject that you want to research.
man -k <keyword>
info --a <keyword>
man -k account
info --a account
Both of these will search for a subject keyword and list all of the references to that subject. Next you enter the appropriate command with one of the commands listed in the man -k or info --a command.
man useradd
info useradd
The first commnand that you should enter for each of these utilities is:
man man
info info

Note that I personally find the info command to be a pain and generally not useful.

Documentation that is in HTML format can be found using this command.
find / -mount -name *html 2>/dev/null

Documentation that is in text format can be found using the following command.
find / -mount -name *doc -o -name *txt 2>/dev/null
Note that documentation that is in html or text format is most useful if you already know the name of the command or application that interests you.

Between the documentation that is available on the web and the documentation that is available on your hard disk you may never have to purchase a book.

I used a couple of ideas above that you may find helpful. One is the "2>/dev/null" part of some commands. That simply means don't show error messages. When you enter commands or start applications they display information on different imaginary outputs. Output 1 is for the command's normal output. Output 2 is for error messages. The > means send this to another place. /dev/null is an imaginary device that means the bit bucket. So when you put 2>/dev/null at the end of a command it means send error messages to the bit bucket.

Some of the "find" commands have a lot of output. You may want to save the output and look at it in an editor. You can do this as follows:
command > t.tmp
This means to send all of the output from "command" to a new file on disk called t.tmp. This file is created when the command has any output. So a command like
find / -mount /name *html 1>t.tmp
will send the normal output of the command, if any, to a file called t.tmp. Then you can look at the information using a utility called less.
less t.tmp

There is usually a text editor called pico. This text editor is almost exactly like the MS-DOS text editor. You start is like this:
pico <file>
where <file> is the name of a new or existing file that you want to edit.

Lastly if you use the KDE desktop you will have a utility called Konqueror. This does many things. One of the things that it does is list files, just like Windows Explorer. If you want it to look like Windows Explorer you just start Konqueror then select "View" then select "Tree View". You can optionally make this the default view. This is done by selecting "Settings", then selecting "Save View Profile Filemanagement".

Collapse -

May have better luck online than books

by gralfus In reply to Getting to know Linux, An ...

There are quite a few sites devoted to helping beginners in linux. If you use just the gui interface, it will seem pretty similar to Windows, but with different programs. Sometimes, though, the documentation is sorely lacking.

If you use the commandline interface (and you probably should learn it eventually), you may want to look at the DOS/Linux equivalents:

I found that I learned the most by wanting or needing to do something and finding out by searching for it. Old geeks wanted me to read entire manuals to learn every command, because they had to learn that way. I don't think this is conducive to finding what you need in a timely fashion. Doing an internet search will speed things up nowadays.

A couple of books from Amazon that are recommended for beginners:

Test Driving Linux
by David Brickner

Linux for Non-Geeks
by Rickford Grant

Collapse -

as jd said

by Jaqui In reply to Getting to know Linux, An ...

you have most of what you need installed with any linux distro.
I would secifically make sure that the howtos are installed and available. [ easier to look on your system than to read them online ]

for the System Administration Guide ( SAG )
Network Administration Guide ( NAG )
and a fairly complete set of howto documents, check the linux documentation project.
( I have it linked in my tr links area, so you can just click on that to get there. )

there is even a "Linux for Dummies" book available in some bookstores.

to get into the deep core of what is required for linux, and how to configure it, the linux from scratch books are a good read. I do not recommend using any from scratch distro until you are completely comfortable working in console and building applications from sources in console, even then they are better suited for a learning experience than a production machine.

Collapse -

One or two

by CharlieSpencer In reply to Getting to know Linux, An ...

Some of us just absorb knowledge better from dead trees. On-line is great if you already know what you're looking for, but sometimes books will introduce you to options you didn't know existed.

I'm working my way through Marcel Gagne's "Linux System Administration." His style is very loose and converational, and he includes a lot of historical background and Penguinista cultural info. While I'm just getting to the meat of it, I find it is at just the right level for a novice.

For a primer, Google for Paul Sheer's "LINUX: Rute User's Tutorial and Exposition". It's quite dry; think of it as a workbook.

Anything by O'Reilly is usually pretty good, but I'm not sure which of their many Linux books is aimed at the beginner.

If possible, check the table of contents of a book before you buy it. That will tell you if it covers things you are (or are not) interested. If you buying on-line, look for a link to the TOC. If the site doesn't have one, check another vendor.

As stressjunkie says, 'man' and 'info' are always options. Like he, I find 'info' to be cumbersome. I also think the 'man' pages assume a level of knowledge beyond that of the novice user. Just one Windows user's opinion.

Collapse -

I agree about man pages being confusing

by stress junkie In reply to One or two

I remembered that man pages are sometimes quite cryptic after I read your post. Man pages are the worst of the heritage from honest-to-goodness real Unix. I still get stymied by some of them. The GNU man pages are sometimes improved over other Unix man pages by including examples of commands at the end of the man page. There aren't nearly enough with examples though.

Another problem for many people, including me, is the issue of regular expressions. It's sometimes enough to make you want to give up the command line altogether.

As I often say, I'm not really a big fan of Unix or Linux. I just think that they are reasonable alternatives to Windows and they scale better on big iron.

Related Discussions

Related Forums