Mac OS X Tiger/A Quick Look Under the Hood

Underneath the pretty desktop background, candy-like graphics, and slick effects on the surface of Mac OS X is a UNIX foundation. UNIX handles all of the under-the-hood tasks of managing accounts, files, networking, performance, etc. While Apple's interface is very pretty and easy-to-learn, power users may wish to try out interacting with their Mac through UNIX's more traditional interface: the command line.


To do:
This section can and should be reduced and verified against duplication of content with other existing section, if parts of it get enough traction they should be moved to their own section

Please note that this chapter covers only the very basics of using the command line, and assumes you have no experience with command lines, programming, etc. If you want a more advanced look at UNIX, please view the Advanced Concepts chapter.

As with all versions of Unix, OSX consists of a kernel (as described in history) and some core utils that are available through the bash shell. The kernel and the core utils are open-source, but not the additional pieces of osx such as finder and the various components that make OSX what it is. The UNIX theory consists in providing only basic functionalities (for example, the cp program can only copy files from one location to another) and so this model is fast, bug free, and secure because it's easily maintainable (taken from a Linux kernel programming book); everything is split into small parts for this reason.

Getting to the Command Line edit

To access the command line, you'll use the Terminal Utility. It's in the Applications > Utilities folder.

bash: The UNIX Finder edit

  • ls
  • cp
  • rm
  • rmdir
  • tar
  • mkdir
  • more
  • ps
  • ssh
  • scp
  • man

compiler version edit

Unix environment and programs edit

As in all Unix systems, you can install and run UNIX software (for example X11, .KDe, etc.) on Mac OS X. There is even the Gentoo (Linux distribution) package system that runs under OSX (portage)

The Fink project ( ) maintains a collection of packages that have been ported to OSX and makes them available for download as a coherent distribution. Fink uses Debian tools like dpkg and apt-get to provide powerful binary package management. You can choose whether you want to download precompiled binary packages or build everything from source.

The only caveat is that the fink tools install their own libraries, and development tools, which if not handled carefully, can interfere with normal operation of your osx system.

Limitations edit

the file-system is not case sensitive by default, but this is configurable at install time. Also, unlike other unix variants such as linux, command-line parameters can come only before the main arguments, instead of before or after.

Navigation edit

Previous Page : The Desktop Next Page : The Mac Interface