What's in This Book?
Simply put, an introduction to Unix. An introduction that is both broad and deep, and yet assumes no prior Unix experience.
We give you instructions on how to perform dozens of tasks using standard Unix tools. Probably 90 percent of what you will learn from this book applies to other Unix systems, such as GNU/Linux, FreeBSD, and Sun Microsystems' Solaris.
The book consists of 14 chapters, containing several hundred specific tasks that cover everything from the basics of using the Unix command line to Unix system administration and the installation and configuration of Unix software.
An introduction to Unix
We start off by introducing you to Unix itself in Chapter 1, "What Is Unix, and Why Is It Good?" in which we explain what Unix is and describe the relationships between Mac OS X, Unix, Darwin, and Aqua.
The basics of the Unix command-line interface
In Chapter 2, "Using the Command Line," we teach you the basics of the command-line interface. This is the primary interface to Unix, and almost every task in the book is performed using only the keyboard; the mouse is hardly used at all.
In Chapter 3, "Getting Help and Using the Unix Manual," we teach you how to find and read the Unix documentation and how to get more help.
In Chapter 4, "Useful Unix Utilities," we give you instructions for the most common and useful Unix utility programs, including file compression and searching for text, as well as for a few utilities that are unique to Mac OS X. (In the appendix, we provide a list of more than 100 Unix commands that are unique to Darwin/Mac OS X.)
Chapter 5, "Using Files and Directories," provides more detailed instruction in the fundamental Unix skills of moving around your disk, and of viewing, creating, copying, and renaming directories and files ( directory is what Unix calls a folder).
Beyond the basics: Editing, permissions, and programming
Chapter 6, "Editing and Printing Files," is devoted to the use of Unix tools to perform these functions. We teach you how to use the standard Unix editor (called vi ), which is a keyboard-only editor (no mouse!) that is available on virtually every Unix system in the world.
In Chapter 7, "Configuring Your Environment with Unix," we teach you how to create shortcuts ( aliases in Mac-speak) for commands and change settings (called environment variables ) that many Unix programs use.
Chapter 8, "Working with Permissions and Ownership," teaches you how to work with one of Unix's more complex facets. We show you how to view the permission settings on files, how to change them, and what each of the dozens of possible settings means.
Chapter 9, "Creating and Using Scripts," is an introduction to simple Unix programming. We teach you about the fundamental building blocks of all programming and how to use each of them: variables, arguments, expressions, control structures, user input, and functions.
Using the Internet
Chapter 10, "Connecting over the Internet," covers several different methods for interacting with other machines over the Internet. These include logging in to other machines using a command-line interface, and transferring files between machines.
Intermediate skills: System administration and security
Chapter 11, "Introduction to System Administration," is a hefty introduction to managing Unix systems. We show you how to use the all-powerful root account, add and remove users, back up essential files, run commands automatically, monitor system use, and perform some basic repairs using Unix tools.
In Chapter 12, "Security," you'll learn about the security of your machine and how to improve it, and we pay particular attention to measures that can protect your machine from attacks that come across the Internet.
Installing and configuring software
The last two chapters take you deeper into Unix by teaching you about the installation and configuration of Unix software.
Chapter 13, "Installing Software from Source Code," gives instructions on how to download and install the vast collection of Unix software that is available in source code form. This is software for which the underlying programming code is available for download, and that you then turn into usable software though a process called compiling .
Chapter 14, "Installing and Configuring Servers," continues the theme of software installation by concentrating on server software. This is software that runs on your Mac to provide services to other machines over a network (typically over the Internet). Chapter 14 teaches you how to do several useful jobs, all from the command line, of course: set your machine's hostname ; activate and deactivate various built-in servers (including setting up an anonymous FTP server ); configure your Mac to receive incoming e-mail; create and install a CGI script in the Web server; and install, configure, and use the MySQL database server.
Learning Darwin/Mac OS X Commands
Finally, we provide an appendix listing of Unix commands that are found only in Darwin/Mac OS X. For example, the open command lets you "double-click" a file from the command line. (Out of the more than 1100 Unix commands found in Mac OS X, about 100 of them are unique to Darwin.)