Slashdot Mirror


Think Unix

Jon Lasser is the author of ThinkUnix a new learning UNIX/how-to. While Danny Yee of dannyreviews actually wrote the review, I've read the book as well. It's good -- it's different from other learning Unix books because he really wants you to learn the concepts behind Unix -- to grok it. ThinkUnix author Jon Lasser pages 294 publisher Que 2000 rating 8 reviewer Danny Yee ISBN 0-7897-2376-x summary Rather than trying to be a detailed guide to a particular system, a comprehensive reference work, or a source of answers to particular problems, Lasser tries to teach the fundamental concepts of Unix and the Unix way of thinking.

In a world full of volumes like Linux: The Complete Reference, Debian GNU/Linux 2.1 Unleashed, Corel Linux for Dummies and so forth, Lasser's Think Unix is a breath of fresh air. Rather than trying to be a detailed guide to a particular system, a comprehensive reference work, or a source of answers to particular problems, Lasser tries to teach the fundamental concepts of Unix and the Unix way of thinking. He also captures something of the way in which Unix is a way of life and a culture, not just an operating system, with a good leavening of humour, history, and hackish lore. One consequence of this approach is that Think Unix will date far less quickly than most operating system books. I recommend it to computer science students, techies coming from non-Unix backgrounds, or anyone more interested in understanding the underlying ideas of Unix than solving particular problems.

Lasser starts with a chapter on documentation, explaining how to use "man" to read manual entries and touching on other forms of documentation. He then introduces the building blocks of Unix - files and processes and redirection and pipes. A brief look at TCP/IP networking, showing how to interact directly with some common network services using telnet, is followed by an introduction to vi and sed and basic regular expressions. Four chapters then deal with shell scripting in more detail, touching on differences between shells, variables and quoting, control structures, and aliases, functions, and scripts. A quick look at X explains its general design, something of the variety of window managers and desktops available, and basic configuration of startup, resources, and fonts.

Obviously a lot is left out of this (there is nothing about system administration, for example), but it provides solid foundations for further learning. And a number of topics sneak in "in passing": a mention of ssh (and associated legal issues) and a little bit about termcap and terminfo, among other things. Some practice problems are included, simple exercises to test understanding and help learning; answers to these are provided in the appendices, along with a short glossary (which includes pointers to other resources).

Think Unix has an unfortunate number of typos, including a few in code examples. And there are a few things I might have done differently (I'd have ditched most of the grainy greyscale half-page screenshots of different window managers and desktop environments, for example). Overall, however, it's a great book and the biggest problem it poses me is working out which of my "clueful but not Unix-literate" friends to pass my review copy on to.

Purchase this book at ThinkGeek.

A book review by Danny Yee <editor@dannyreviews.com>
Reviews of more than five hundred other books: Subjects | Titles | Authors | Latest

18 of 51 comments (clear)

  1. Two schools of thought by Anonymous Coward · · Score: 3
    There are two ways of looking at how to bridge the gulf between users and a computer system (HW and/or SW). There's the Apple way, which involves doing a lot of work to hide or automate or make palatable system details. This can work very well, but it often has the dreaded "dumbing down" effect that makes a system harder to customize or even understand below the UI level.

    The other approach is the Unix one, which says that it's the user's responsibility to learn the system, warts and all. This is exactly the mentality that created the "Unix wizard" syndrome in the first place (people have to work hard to learn how to use the system effectively, and then they don't want it simplified for others, which would only devalue their accomplishment), and sadly, there seems to be little going on in the Linux world to counteract that.

    In the short run, books like the one reviewed here are probably a good thing, but I would love to see more serious work being done to make them less needed.

    1. Re:Two schools of thought by Vladinator · · Score: 3

      Bravo! I couldn't agree more. BTW: Another good book on the topic is AEleen Frich's "Essential System Administration" from ORA. It's not the MOST user friendly book, but it's the best one I've read yet. It helped me MUCH, but we STLL need something like "Unix in a Nutshell" translated more into english.


      Fawking Trolls!

      --

      "Going to war without France is like going deer hunting without your accordion." - Jed Babbin

    2. Re:Two schools of thought by Bob+Uhl · · Score: 2
      Unix wizards do not oppose simplification because it devalues their efforts; they oppose it because they have learned the value of complexity. One can simply do more given more options. I can customise my desktop to a much greater extent with fvwm2 than I can with Windows. I can fiddle with stuff to my heart's content. I cannot do that with a simplified tool because many of my favourite twiddly bits will have been removed.

      BTW, don't you love English? `Will have been removed' is such a nice long verb...

  2. Unix is *very* user friendly by Tony · · Score: 3

    It's just particular about its friends.

    - Tony "Yes, it's paraphrased" Taylor

    --
    Microsoft is to software what Budweiser is to beer.
  3. Stupid! by redhog · · Score: 2

    You luserish stupid!
    That command will, on a Linux system, only erase every file/directory in the root beginning wiuth a character ASCIIbeticaly prior to 'p'. After doing so, it will get stuck into an endless loop in /proc. The reason thereof is left as an exercise for the reader.
    Next time you try to educate users, please write commands that at least _terminates_, that is, either returns or core-dumps.

    --
    --The knowledge that you are an idiot, is what distinguishes you from one.
  4. Re:It is nice to get back to "grass roots" by disappear · · Score: 2
    Try using a real UNIX for a couple of months, then tell me Linux is the same.

    Well, I'm a professional Unix sysadmin (And the author of the book. :-)). We're a Solaris/IRIX/Linux shop. Linux is the same. Or at least as much as either Solaris or Irix is.

    We've moved many of our central AFS servers to Linux from Irix because Linux is much more stable. (Solaris does well too as an AFS fileserver, but why pay more when you don't get more?)

    We've moved most of our labs from Irix boxes to Linux boxes. We're down to two labs with Irix boxes, which will probably be replaced in the next year or so with Linux boxes and decent 3D cards.

    About one-third to one-quarter of our central servers (for around 20,000 active accounts) are Linux boxes.

    Linux is Unix.

  5. Re:So it covers X Windows? by disappear · · Score: 2
    Too bad, since X Windows is not an integral part of Unix. I was about to recommend this book to a couple of MacOS X newbies, but this serious flaw made me reconsider.

    The book has eleven chapter. The last two chapters are about X. X is a major Unix subsystem that most people have significant problems with, so it needed to be covered.

    Put another way, the book is has 242 pages of main text. Pages 1 through 196 don't have a damned thing to do with X; pages 197-242 are about X. Nothing before page 197 cares whether or not you have X, so not having X shouldn't stop anyone from getting through the majority of the book..

  6. Re:Typos not a minor point by disappear · · Score: 3

    Hey, I'm the author of the book. This is a fair criticism, but...:

    1. There's an errata for the book. It is, as far as I'm aware, entirely complete and up-to-date. It's over here (the address is listed in the book, yes). You can determine how many of these have any impact whatsoever on the content.
    2. There are two typos I know of (one of which Danny Yee reported, and both of which are in the errata) in 'code examples' (that is, anything that looks like a transcript of a session). One of those is in the output of a command (the wrong quotes are displayed as output), and the other is a case where the point is that a certain thing doesn't work. (In talking about $0-$9, I show that $10 doesn't work. Only it was shown as 10 rather than $10 in the example.) This one should be clear from the context, but the point is that it doesn't work anyway.
    3. I am anal-retentive. But things get messed up in the editing phase, as documents are passed back and forth among half a dozen people and file formats change, etc.
    4. It's also a first printing. Some stuff will be fixed in the second printing. Everything will be fixed in the third printing. The second edition of the Llama book's first printing was horrendous. Especially the code examples.
    Correctness is important to me. But I'd have to say that it's pretty darned good. Check the errata and decide for yourself before making a comment like this, please.
  7. This sounds like it's EXACTLY what a newbie needs. by Vladinator · · Score: 2

    I've been playing with Linux/Unix/BSD since 1994, and am mostly self taught. Most of my friends think I'm a guru, but I have to tell you, I haven't even earned my benie yet - much less a wizards hat. The system can be so complex, and user hostile at times, that it defy's description. While I'm sure it will never be as easy to use as say DOS 4.0 was, I'm hopeful that one day, it won't be so needlessly complex! That, and we need to loose the attitude "It was hard for me to learn, so bend over and take it like a man!" that we get from the veterens.


    Fawking Trolls!

    --

    "Going to war without France is like going deer hunting without your accordion." - Jed Babbin

  8. Re:This sounds like it's EXACTLY what a newbie nee by Vladinator · · Score: 2

    Yes, sorry. I should have made that clear. I have no real use for X, as most of the games I like to play (when I have time) don't run yet on X. If StarCraft and Diablo II would run under wine, I'd be alright - but they don't. Also, I've noticed that the distributed.net client doesn't work as well in the GUI as it does in CLI mode on Linux. My old system (Athlon 500 128M ram) which was Slackware 4.0.0 got 1.2Mkeys/sec CLI but only 350~Kkeys/Sec under X. The performance hit was totally unacceptable. Maybe X 4.0.0 will be loads better, but somehow I doubt this. I don't need a GUI to get work done - I'm a lan/wan specialist for DaimlerChrysler. I use PING more than anything else these days, mainly to find IP addresses that contractors steal without permission. One quick DOS on that IP and suddenly I get a call for support. "Hey, I can't see the file server anymore!" "Really? What's your IP address, and who asigned it to you?" He he he.

    From the intuitive standpoint, I don't think X is anywhere near up to being as good as it's competition, HOWEVER I think it's strength lies in it's flexability. I was showing the PFS guy at work all the different GUI's that come with Mandrake 7.1 and he was astonished. Too bad it slows the system down so bad. But again, perhaps this is my fault - if it wasn't so hard to learn how to configure things, maybe I could get X to run better. I dunno. I'm going to buy this book (I'm such a sucker for books) and see if it teaches me anything I don't already know.


    Fawking Trolls!

    --

    "Going to war without France is like going deer hunting without your accordion." - Jed Babbin

  9. Re:This sounds like it's EXACTLY what a newbie nee by Vladinator · · Score: 4

    Sigh. The point in a way is that most things from M$ work about the same - not so in Linux. I've found TAR to be user hostile at times. Now that I understand TAR, it isn't anymore - you lack the perspective of struggling to learn something that is initially difficult. You're "There" You have "Arrived" and you "Grok" it. As a result, you don't understand why others have a hard time with it. It's no different than when I was studying medicine in the service - AFTER I had been to school, I always wondered why people had a hard time "getting it" so to speak. I've had good friends and close realitives give me that "deer in the headlights" stare when I talk computers with them - It's all about the level you're at, and how much the person or people you're trying to learn from are willing to share information in a way that you will understand. Case in point: DOS 5 had an EXCELLENT help system. Unix has MAN. I am JUST NOW starting to get useful information from MAN pages - they were TOTALLY incomprehensible to me at first. This is why sites like Linuxnewbie make NHF's (Newbieized Help Files) for people like me - MAN pages don't cut it if you don't already speak the language.


    Fawking Trolls!

    --

    "Going to war without France is like going deer hunting without your accordion." - Jed Babbin

  10. The UNIX philosophy by pixelbeat · · Score: 3

    I think Mike Gancarz' book:
    The unix philosophy
    is better, from the "Think UNIX" title perspective

  11. Hasn't anyone heard of... by toofani · · Score: 3

    The Unix Programming Environment, by Brian Kernighan and Rob Pike? It was first published in 1983 but is still very relevant.

  12. Another book for Unix programmers by dsplat · · Score: 2

    The Unix Philosophy is a good book for examining some of the underlying concepts in what makes a good program. It cuts to the heart of why so many people love Unix. It distills what makes shells and pipes and I/O redirection such powerful concepts and warns against many of the things that happen in creeping featurism.

    --
    The net will not be what we demand, but what we make it. Build it well.
  13. Sounds like my first book by Mark+F.+Komarinski · · Score: 2

    "Linux Companion: For Users and system Administrators". Mostly about converting MS-DOS concepts (hey, it was 1995ish) into UNIX-speak. Unfortunately, it was my first book and wasn't quite as clearly written as some of my later works. Also, Linux wasn't quite as popular in 1995 as it is now. Might even be in print still....I should check..

    --
    -- Ever notice that fast-burning fuse looks exactly the same as slow-burning fuse? I didn't... (Edgar Montrose)
  14. Underlying Concepts by zpengo · · Score: 3
    I think this would be a great book for many people out there who are somewhat new to the scene. *nix isn't just about memorizing commands; The real power is when you understand what goes on when you type the commands, so that you can put them together in strange and wonderous ways.

    --


    Got Rhinos?
  15. It is nice to get back to "grass roots" by Ron+Harwood · · Score: 4

    When you get right down to it - a core set of UNIX skills would be good for any linux enthusiast... They're portable between distributions - and heck you never know when you are going to be in front of a "linux-like" (that's a "Maddog" quote) operating system like AIX, HP/UX, Solaris or some BSD deriviative...

  16. Typos not a minor point by fm6 · · Score: 2
    I'm on the lookout for a book like this. I'm involved in documenting a Linux product that's supposed to attract a lot of non-Linux programmers, and we desperately need some kind of Linux tutorial we can point users to -- perhaps even through in the box with the product. So of course I read reviews like this one very closely.

    It bothers me when the reviewer gives a book a positive rating, but then goes on to say, "but there are a lot of typos, and some of the code examples don't work." Imagine that you're a Unix/Linux newbie, and you copy a shell command from a book, and get some obscure syntax error. Unless you have the shell background to figure out what's wrong (and of course you don't, you're a newbiew) you're stuck. You'll probably put the book down and never pick it up again.

    Good technical communication is written by the anal-retentive. Sad, but true.