With the advent of OS X Mac users are facing something they have never faced before – UNIX, along with Terminal windows and Home directories. It’s going to take some getting used to, for some. For others, those who know UNIX, the transition will be much easier.
Of course I am assuming that the Mac user will want to take advantage of UNIX’s (BSD’s) power that lies underneath the system. Many won’t because Terminals and commands scare them. But once you enter a command in the Terminal and see it do its stuff, you could get hooked and become a UNIX hobbyist.
But there are dangers. If you don’t know what you are doing you could do serious damage to your Mac; it is the mere possibility of this that will keep some away from the Terminal window in fact. But if the bug bites you, you’ll need help, and lots of it. Where can you go?
You go where the programmers themselves go, namely, to large books full of code. Well, almost anyway. For the UNIX neophytes out there, look at the programmers and see what they are doing. What have they always done? They read O’Reilly books. O’Reilly has a reputation for writing standard books on the technical aspects of computing, like their Perl series which has become divine revelation for some. But don’t worry if you are new to UNIX, for if you do it right you can learn UNIX, or enough UNIX, to get you by and do some cool things in OS X, thanks to a series of Books from O’Reilly. Over the next month or so we will look at each of these books and lead you through the world of UNIX from O’Reilly’s simplest book to its most advanced one on this topic.
The books we will look at, the ones that will prove most helpful to OS X users, either new or old to UNIX, are listed below. I list them in an order such that reading them in that order makes the most sense to a newbie (at least to me, the newbie-est of the newbies!). The recommended reading is…
Learning the UNIX Operating System 4/e. This book will give any neophyte a general introduction to the structure of the UNIX system and allow him to do certain simple tasks, and organize his system better. It assumes very little UNIX know-how on the part of the reader and so provides a good starting place for newbies. Some chapters will not be helpful, and we will show you which when we do our review. It includes an appendix on some commands and their meaning, and a handy Reference Card you can keep by your keyboard. A nice little intro to UNIX if you just want to get your feet wet.
UNIX in a Nutshell 3/e. But what if you want to jump in as well? the “Nutshell” is a classic from what people have told us. This book is not a reader per se, it is a handbook and desktop reference for UNIX commands. If you need to find a command you can find it here, and it does include some BSD compatibility codes which is helpful. Each chapter has a brief overview of system parts that is helpful as well. For example, it has short introductions to the vi Editor, the C and korn shells, Emacs and so on, and then a list of helpful commands. This helpful if you hear terms like”vi Editor” and “X Windows” (no, not THAT windows!), thrown around and are not sure what they mean.
Essential System Administration 2/e. Okay, so most will never, ever be “System Administrators,” but whether you realize it or not, if you own the Mac that is running OS X and have administrative privileges, you already are a SA! But don’t let the name fool you, this book is chock full of information you can use, and includes BSD specific information, a very helpful thing for OS X users. Moreover, it explains some of the concepts in the “Learning the UNIX OS” (above) and so serves as a good follow up to that book.
Learning the vi Editor 6/e. The vi Editor is a powerful text editor included within the UNIX OS, and you can get to it through the Terminal in OS X. There is a great deal you can do with this little editor and this book has acquired the reputation of a classic among UNIX gurus. It is written in a friendly manner and covers anything you could do with the vi Editor. It’s now Word or anything, but if you want to go in an customize your Terminal settings, the vi Editor is one of the best ways to go. a wonderful book with a great writer.
Using csh & tcsh. The shell is, I guess, the “Finder” of UNIX. It is the command line you work with when you are in the Terminal. Two are important for OS X users, the csh and tcsh shells. OS X comes with tcsh shell as default, along with many of its commands. (You can see this, and change it, by looking at the directory for the shell which shows up in the Terminal window.) This book, also written in the same friendly style of “Learning the vi Editor,” will introduce you to all the things you can do with your shell. You’d be surprised what lies within your control in the shell.
UNIX Power Tools This is a heavy duty book for heavy duty users. Its 1073 pages (including Index) has so many tips and tricks that it is hard to imagine anyone working through all of them! This is fine, for it means that if it can be done in UNIX, you’ll find it here. It too is written is a lively and friendly style which shows that programmers can, sometimes anyway, have a sense of humor! It also has what might be called a kind hyperlink organization which is very intuitive to follow. Start one place and you’ll never know where you end up. But do not attempt to start with this book or you will be lost. Some other usefull stuff can be find on Web Development Resources Blog
But before you do anything, you need to know some history of UNIX. UNIX in fact comes in several flavors, and Mac OS X uses one of them. This makes a difference in some commands and the way some elements of the OS are put together. Next time I will give a brief history of UNIX and BSD (the flavor of UNIX OS X is based on), to give some content. Then we will look at each of these books in detail.