Slashdot Mirror


Learning Unix for Mac OS X Panther

Spencerian writes "Learning Unix for Mac OS X Panther is a good tool for those who are experienced with the original Mac OS or Mac OS X, but not the Unix command line. Most of the content would not interest the traditional programmer, Linux, BSD, or other UNIX jockey, however." For Spencerian's take on why, read on for the rest of his review. Learning Unix for Mac OS X Panther author Dave Taylor and Brian Jepson pages 168 publisher O'Reilly Publishing rating 8 reviewer Kevin Spencer ISBN 0596006179 summary Learning Unix for Mac OS X Panther is a good tool for those who are generally comfortable with the original Mac OS or Mac OS X, but not the Unix command line. Most of the content would not interest the traditional programmer, Linux, BSD, or other UNIX jockey, however. The Finder can't do it all, and it's a good idea to realize that today's Mac OS has more ways to force it to work than its original version. This 3rd edition of the book has a better audience focus than previous editions.

This book focuses on those of us in the Mac OS professional world who have become Unix system admins by default with the introduction of OS X, and could stand to have a handy UNIX reference nearby, particularly if the Finder freezes in Apple's latest version of their BSD/OpenStep blend of a UNIX operating system.

As the authors explain in the book, the best justification for understanding and using the UNIX components present is Mac OS X is the same as in any other UNIX-family operating system: power and control. The Finder (Mac OS X's graphical desktop manager) can't do everything, so this book provides information to help power users and technicians resolve issues, install software, or create an optimized experience, all through the Terminal.

Chapters 1 and 2 provide a very helpful tutorial on the Mac OS X Terminal application, from showing the benefits of customizing the Terminal, the concept of shells, UNIX command syntax, and other obscure but useful settings that strengthen the power of the application when accessing the BSD innards of Mac OS X. Arguably, these two chapters are the strongest guide on Mac OS X's Terminal application (as it relates to its UNIX roots) that I have seen in any Mac OS X book to date.

Chapters 3 and 4 handle understanding of the UNIX filesystem, administration and superuser access, privileges, handling external volumes, file and directory names and the like. Mac OS X, while a BSD at heart, doesn't map out everything in a traditional UNIX-style directory format--at least, not from the Finder's view. Through the Terminal, a user can see the underlying, otherwise-hidden UNIX directories. The authors go through some basic but very helpful situations such as changing file and owner permissions, which can be changed from the Finder with greater ease in Panther, but not with the same finesse as done from a command line.

The file management chapter moves readers through the classic commands for moving, editing, and copying files from the command line, which can be very helpful for administrators of Mac OS X systems who must attempt repairs by SSH, for instance, and don't have access to the usual graphical elements that generally make Mac OS usage so easy. The authors don't pick sides in the vi vs. pico debate, and just offer the basic instructions on how to use either for your editing.

The book continues with the same level of complexity that local system admins or power users require in issues such as printing via CUPS, handling processes that the Finder doesn't show, using the X11 application, using Fink (a Debian-style installation application) installing OpenOffice and GIMP, using FTP and secure shell, using Pine and Lynx, and more.

For a book of just 168 pages, the authors pack quite a bit on making a Mac OS X system work from its Terminal roots. New Mac OS X system administrators will find this book most useful, particularly if their UNIX experience is lacking or radically different from what Mac OS X presents. Experienced *NIX users who bought a new Mac may find the book a good intermediary to demonstrate how Mac OS X Panther differs from the *NIX boxen they've used in the past.

You can purchase Learning Unix for Mac OS X Panther from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

31 of 284 comments (clear)

  1. The Finder by Anonymous Coward · · Score: 5, Funny

    The Finder (Mac OS X's graphical desktop manager) can't do everything...

    "Yes it can."
    -Steve Jobs

    1. Re:The Finder by Frymaster · · Score: 5, Informative
      The Finder (Mac OS X's graphical desktop manager) can't do everything...

      and neither can terminal.app! lord, it's the worst terminal program i've ever used. there are, however, some good replacements.

      • iterm - fast and light with tabs and other neat things. my current favourite.
      • glterm - it uses opengl to render fonts. no, really. results in way better performance (although at some window sizes the text is fuzzy)

    2. Re:The Finder by Sigh+Phi · · Score: 5, Informative
      lord, it's the worst terminal program i've ever used.

      This is unnecissarily hyperbolic. Apple's Terminal.app is fairly no-frills, but it still has some nice features, such as transforming a folder or file dropped from the Finder (or any title bar avatar) into a pathname. You can drag and copy and paste just like any other app. You can change fonts (even to non-monospace fonts). It'll emulate a number of terminals (e.g. VT-100, xterm-color, etc.) You can customize the title bar display. Set the transparency of the window itself (eye-candy). It has an unlimited scrollback buffer. It'll handle multibyte scripts (e.g. Kanji or Chinese), as well as handle a number of character encodings. It has customizable command keys.

      It's leaps and bounds beyond cmd.exe. But perhaps you've had the good fortune never to have encountered that.

  2. Re:Apple already provides an excellent tool by edalytical · · Score: 4, Insightful

    How does that help you if you don't know what command you need to use.

    --
    Win a signed Stephen Carpenter ESP Guitar from the Deftones: http://def-tag.com/?r=0008781
  3. "vi vs pico" debate... by Anonymovs+Coward · · Score: 5, Funny

    That's a new one to me. I must find some pico users to have flamewars with over that one...

    1. Re:"vi vs pico" debate... by Graff · · Score: 5, Insightful
      I must find some pico users to have flamewars with over that one...

      Heh, I'm a pico user but I'm not a zealot over it. I use pico when I want to do some simple, quick editing in the command-line environment. For anything more complex I use BBEdit, which does pretty much everything that vi or emacs does except with a nice GUI.

      But hey, use whatever works for you. Vi is certainly powerful enough. I just can't be bothered to take the time to learn all the commands, vi has a pretty high learning curve.
  4. what about Mac OS for *nix geeks? by Stanza · · Score: 5, Interesting


    I've gotten a shiny new iMac with OS X.3 on it, and I'm still learning the ropes. I'm slightly amazed at all the wierdnesses I can do with it, you can script almost anything with Applescript, and there's a million little details that do wierd shit, or behave as I'm not used to. So where is the Learning Mac OS X for the unix geek? The unix and mac world is so divided on the machine, yet works together seemlessly.

    I haven't had my coffee yet, I'll ramble on about my experiences with Mac OS X elsewhere. But my question remains: what are good books/resources for the person who is already a unix geek?

    1. Re:what about Mac OS for *nix geeks? by mblase · · Score: 5, Informative

      So where is the Learning Mac OS X for the unix geek?

      It just so happens it's available from O'Reilly as well. The Panther edition is due out in June.

  5. why buy by stonebeat.org · · Score: 4, Informative
    1. Re:why buy by mblase · · Score: 4, Informative

      Using the Mac OS X Terminal (HTML) or Using the Mac OS X Terminal (PDF)

      Helpful for newbies, but let's face it -- those links you provided cover maybe one-half of the first chapter of O'Reilly's book.

  6. Re:Apple already provides an excellent tool by Kenja · · Score: 5, Funny
    man mount
    man finger
    man touch
    man slurp
    man unzip

    I find it best to unzip first.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
  7. Anybody seen a hardcore unix book for Mac admins? by DrewBeavis · · Score: 4, Interesting

    I've seen a few of these introductory unix books for Mac admins, but what if you need something more? If you have trouble configuring Apache, the Apache website doesn't help much because OS X has files in different locations. I know how to use ls... does this or any other book get into a deeper level?

  8. Useful information, but to whom? by 32bitwonder · · Score: 5, Interesting

    I recall being at an Apple seminar once where they had demo of a then preproduction version of MacOS X. The audience consisted of local Mac support techies as well as casual users. There were many glitches throughout the demo, and many explanations from the presenter as to why MacOS loaded so slowly etc etc. He used this time to explain to the audience that the MacOS kernel is based on Unix. I wasn't sure at the time how many people in the audience would grasp that concept, but it became painfully clear near the end of the presentation when he finished things off by opening up a terminal window. I looked around and saw nothing but stunned, confused looks on people's faces. The presenter followed by explaining how you could now use familiar unix applications like telnet and vi all within MacOS X. After then explaining to someones question regarding just what telnet and vi were, someone else followed with the question, "So...if someone on the Internet wanted to hack my computer, could they open up one of these 'terminals' and use 'telnet' to hack into my Mac?". Needless to say the presentation ended late that day, and I got the impression most of the audience left feeling rather uncertain about what just happened.

    I think a Unix for MacOS publication would be useful for those migrating to Apple from some (any) other platform. For casual Mac users? No way is this going to be of any use to them. If they were so inclined, they'd already have some experience on another OS by now.

    1. Re:Useful information, but to whom? by saha · · Score: 5, Insightful
      Interesting. Although, not all Mac users are what you describe above. There where a decent amount users who used Unix and classic Mac OS before OSX came out. For those users who where strictly from the OS9 and previous versions this book would be useful.

      In my experience I've seen two types of large Mac user communities
      (1) Mac users who want a simple OS, that is easy to use. They are not computer savvy and just want to use their machine to get the job done
      (2) Unix / Mac users who hated Microsoft Windows for being neither powerful/stable nor simple/elegant to use.

      Many of the people in the category (2) probably gravitated towards OSX quickly when it came out. People in category (1) waited for all their essential applications to be ported, before being forced to upgrade.
      -Diganta

    2. Re:Useful information, but to whom? by switcha · · Score: 5, Insightful
      As anecdotal as your refutal of this book is, I'll anecdotally tell you how this is exactly what I need.

      I've been using Mac OS since 7, and never really used anything else (natch...I've always been in design or print production). I had to plink around in some VERY basic UNIX commands for a general computer science class in college, so I know some basic navigation and a few commands.

      I have no interest in running anything but a Mac system, even just for fun, because I don't find the thought of not knowing how to do anything fun. But I'm not so stupid as to think that I can do everything I need to do in Mac OS. I've read enough tips and cool hacks and neat ways to make things work by using Terminal, that I know it would behoove me to know something beyond to basics.

      If they were so inclined, they'd already have some experience on another OS by now.

      So, I say BS to this. I'm inclined to learn some rudimentary stuff, but no way in hell do I care to, no imagine I could be productive in, anything else. This book sounds perfect.

      --
      You know what? ... A little club soda *did* get that out!
  9. Re:I can be more piddly than you! by grub · · Score: 5, Funny


    I use nano, and I flame the pico users!

    Pfff. Real men cat > filename and do it right the first time.

    --
    Trolling is a art,
  10. Re:very useful by Graff · · Score: 4, Insightful
    Personally I'd recomment that a mac user NEVER touch terminal.

    In the end, the terminal is just another tool on your system. Just because someone works mainly with a GUI doesn't mean that they are not able to comprehend the command-line. Yes, the first couple of times that someone uses the command-line they are going to make some dumb mistakes but if they have a decent guide then those mistakes can be kept to a minimum and have minimal negative impact.

    You might as well say that it's not worth if for a person who has never programmed to learn BASIC or C. If they don't take the first steps then how do they learn in the first place? If you are going to do anything on a computer you have to start somewhere, no matter if you are used to a GUI or not.
  11. Re:very useful by Dark+Paladin · · Score: 5, Insightful

    Then how are they suppose to learn if we don't teach them?

  12. Re:Here, for free by kurosawdust · · Score: 4, Funny

    I personally like the ones with homoerotic overtones: man touch man perl man unzip man units man curl man flex man tcl man gawk man paste man mount Why do I have the sudden urge to write a program called "chowder"?

  13. Re:very useful by Anonymous Coward · · Score: 5, Interesting

    > In the end, the terminal is just another tool on your system.
    > Just because someone works mainly with a GUI doesn't mean
    > that they are not able to comprehend the command-line.

    How true!. I've been a mac girl for 15 years or more, a choice I made from the sheer superiority of the mac gui when I started in prepress, in the 1980s. Nothing touched it then, though many other OSs have caught up and are just as usable today. It's experience that kept me employed, well paid and doing what I love. I got hold of OS X and nutted through cli stuff for a few years now, and use it sometimes and the gui sometimes. You're right, they're both tools that do a job, some can be done best in one, some best in either, and some don't matter one way or the other.

    I hadn't touched a cli since DOS days, and even then I knew little more than dir, copy, cd and format. Now I co-admin my employer's non-X crippled linux servers. Most people are intelligent enough, and to me what counts more than experience is interest. I think if someone's interested enough to open terminal.app and poke around then it's just a matter of learning.

    That's what brains are for, and we all have them!

  14. Re:very useful by Graff · · Score: 4, Informative
    Thankfully apple's project builder don't provide as much support for creating command line tools as gui ones

    Uh, sure it does. Go to File->New Project then scroll down and choose Standard Tool. Boom, a project is all set up for you to build a basic C-based command-line tool. You can also choose C++ Tool, CoreFoundation Tool, CoreServices Tool, or Foundation Tool for different libraries and programming languages.
  15. Re:Info on vi and pico..... by Anonymous Coward · · Score: 4, Insightful

    What is wrong with paying a few bucks to replace a brand new mouse that came with the system you just paid a couple of thousand dollars for?

  16. Re:very useful by PeterHammer · · Score: 4, Insightful
    GUI users raised and born and bred on a GUI shouldn't be mucking about in a terminal

    That statement would ensure the death of the command line wouldn't it? I don't see many schools these days offering anything but Windows and Macs for students to learn on.

  17. Re:very useful by steeviant · · Score: 5, Insightful

    Well done, mister tar-everybody-with-the-same-brush. I fucking hate people trying to categorize me based on the fact that I use a Mac.

    I don't own one because I want to join some elitist club of "creative professionals", I don't own a Mac because I think that it's somehow screwing Microsoft, I don't own a Mac because it has a candy-coated GUI, I own it because it has a solid and proven operating system derived from openstep and because it came properly set up for the hardware inside. Which for me is a prime consideration when buying a laptop.

    Maybe the next laptop I buy will be x86 and Linux based again (this machine has had more than it's share of hardware failures) but OS X has always been rock solid for me, and the drivers and power management have always worked as they should, which is more than you can say for most x86 laptops even when running the OEM setup.

    To me, it's just another Unix system on another flavour of hardware. Would you be telling me that I shouldn't be playing with the command line if I'd bought a SPARC laptop?

  18. Re:Mac users from way back by Kibblet · · Score: 4, Insightful

    It's only after years of experience with other operating systems, other computers, that I made the decision to switch to a Mac. Mac users I find can be very technical, just 'differently technical'. Technical doesn't mean "knows *nix". Maybe here, but not in the rest of the big wide world. . .

  19. Authors read /. too by d1taylor · · Score: 5, Insightful
    Just a quick note to say "Thanks" Kevin for your fair and unbiased review, and for the rest of you slashdotters to check out the sample chapter from the book on the O'Reilly site before you conclude that the man pages (which are quite typically incomprehensible, as they've been for years and years) are sufficient for folks to get up to speed on the command line.

    Curious about other writing I've done? There's some useful free info online at 404 error page, particularly for Apache admins, and another book that slashdotters will appreciate is my Wicked Cool Shell Scripts. And, yes, Virginia, the latter includes specific scripts for Mac OS X too.

  20. Re:The BSD Command Line by Kupek · · Score: 4, Insightful

    I think it's important that MAC OS X users learn to use the UNIX command line. Even if they don't like it, they need to respect it. If it wasn't for OS X being powered by UNIX, it would not be anywhere near as stable as it is right now. I'm not "dissing" OS X, because I use it and love it, but any user shouldn't be without the knowledge required to run the UNIX command line.

    Why? Why would my parents, who only do application level stuff (web browsing, word processing, email, games), need to learn the "power of Unix"? They're non-technical end-users. They aren't concerned with harnessing the power of their machine, and nor should they have to be.

  21. Re:Too bad by MoneyT · · Score: 4, Insightful

    Just so you know, the convention of /Applilcations and /Users is from NeXT, and makes logical sense when you think about it. All the unix tools are located in their standard directories (/usr/bin etc etc) but a good chunk of users aren't going to use them, they're going to use their GUI apps and such. Why would you want to put all your terminal apps in the same folder that your GUI apps are?

    I have 644 items in /usr/bin, if I added them to my Applications folder, I'd have 700 items in my folder. Now as a (hypotheticaly) non CLI familiar user, why would I want to have 700 items in my folder where I put my programs when I don't use most of them? I wouldn't. So maybe I might start deleteing them, or maybe I'll make folders to organize them, or move them. And then what? What happens when I install an app that calls those programs?

    That's why there's a user level set of folders that aren't the standar UNIX convention.

    --
    T Money
    World Domination with a plastic spoon since 1984
  22. Re:Anybody seen a hardcore unix book for Mac admin by Phroggy · · Score: 4, Informative

    If you have trouble configuring Apache, the Apache website doesn't help much because OS X has files in different locations.

    Apache's files are in different places on different flavors of UNIX or Linux distributions - and they're different still if the administrator compiled from source.

    On Mac OS X 10.3, configuration files are in /etc/httpd, log files are in /var/log/httpd, DocumentRoot is /Library/WebServer/Documents, and ScriptAlias /cgi-bin is /Library/WebServer/CGI-Executables.

    On Slackware 8.1, configuration files are in /etc/apache, log files are in /var/log/apache, DocumentRoot is /var/www/htdocs, and ScriptAlias /cgi-bin is /var/www/cgi-bin.

    On RedHat 9, configuration files are in /etc/httpd/conf, log files are in /var/log/httpd (symlinked at /etc/httpd/logs), DocumentRoot is /var/www/htdocs, and ScriptAlias /cgi-bin is /var/www/cgi-bin.

    By default on most systems, if you've compiled from source and haven't changed any paths, configuration files are in /usr/local/apache/conf, log files are in /usr/local/apache/logs, DocumentRoot is /usr/local/apache/htdocs, and ScriptAlias /cgi-bin is /usr/local/apache/cgi-bin.

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  23. Re:Transitioning from OS9 - XP or OSX? Easiest? by Trurl's+Machine · · Score: 4, Interesting

    Tell your SO that the command line in MacOS X is required only to perform tasks he/she wouldn't want to do anyway. It's for all those computer nerds who just enjoy doing these *things*. But whatever he/she does on OS 9, he/she can also do in OS X, without never ever clicking on the Terminal icon. Tell him/her, that in OS 9 there was also something that computer nerds needed to do *things*, it was called ResEdit. Did he/she ever had to use it? Is he/she even aware of its very existence? No? Good. The same will be with the Terminal in MacOS X.

    But just in case, buy him/her a book like this for next birthday or valentine. Maybe he/her will finally like it? Just imagine this kind of foreplay: you and your SO together in bed, doing *things* on two powerbooks connected via Airport...

  24. Renaissance people DO exist by fiannaFailMan · · Score: 5, Insightful

    Where does this perverse notion come from that GUI users are inhernetly incapable of using a command-line?

    There's a deeper cultural thing going on here. On this site it's not uncommon to see programming-types bash (pardon the pun) users of more graphically-oriented tools (like Flash) with incredible zeal. It's as if there's some sort of Berlin Wall between creative and techinical people, and any attempt to bridge the two is doomed to failure or must be opposed.

    This is nonsense.

    This seperation of arts & humanities from the sciences is a relatively recent phenomonon. It's when people work with both sides of their brains that beautiful things really start to happen. Look at Leonardo Da Vinci if you want the best example. Look at the power of tools like Flash when you get people working on it to use its more powerful features like XML parsing with ActionScript, remoting, video etc. Look at musicians who can manipulate their creations electronically. Look at the animators who produce beautiful work on the big screen like Finding Nemo, Babylon 5 etc.

    A lot of creative Mac people will benefit from having a deeper understanding of the way their command-line works, and if they're approaching it from a different angle than traditional Unix fans then so what? Isn't a fresh persective a good thing? Likewise I think that a lot of Unix fans could do well to visit more art galleries and explore their creative side a bit more. It may make better programmers out of them.

    For the record, I work on both sides of the fence and do an equal amount of creative and technical work.

    --
    Drill baby drill - on Mars