X

How to look up Terminal commands for OS X

If you are starting to experiment with the OS X Terminal, you'll want to know what commands are available. Here are some ways to explore your options.

Topher Kessler MacFixIt Editor
Topher, an avid Mac user for the past 15 years, has been a contributing author to MacFixIt since the spring of 2008. One of his passions is troubleshooting Mac problems and making the best use of Macs and Apple hardware at home and in the workplace.
Topher Kessler
4 min read

The OS X Terminal is a very powerful tool for configuring and using a Mac, and can be used to script and program a number of aspects of the computer's operations; however, its text-based interface can be a bit of a cryptic environment to first-timers, especially when it comes to finding out what you can use it for.

There are thousands of Terminal commands available, but when you first launch it you might not have a clue where to look for them. Of course there are basic commands like "ls" for listing directory contents or "cd" for changing directory, but in addition there are text editors, string parsers, expression managers, and numerous other commands that, depending on the purpose, can make the Terminal a hidden but exceptionally powerful tool.

Command lists via Tab completion in OS X
Hitting Tab with no previous text entered will get you a list of all the available commands. Screenshot by Topher Kessler/CNET

If you are just getting started with using the Terminal, you may find it useful to build your command vocabulary. There are many resources such as the BSD Unix command summary that will give you a quick overview of the common commands; another approach is to list all commands available to you and then look up the manual page of each individually to see what its purpose is and how it's used.

There are a number of ways to list all of the commands, but two quick ones are Tab completion and the "compgen" command. For Tab completion, simply type something in Terminal and hit Tab once or twice (and if prompted, confirm that you want the options displayed) and the system will list all available commands based on the text you entered.

If you press the Tab key without having entered any text, then the Terminal will output all possible commands (after you confirm that you want it to do so). If you do this, it helps to make the Terminal window as large as possible. You can then press Enter to display more items that are off the page until you are dropped to the command prompt again, but then you can scroll up and down to review the commands that were listed.

Compgen output redirection in OS X
Using the built-in "compgen" command you can redirect the command list output to a text file for reviewing later on. Screenshot by Topher Kessler/CNET

The second option is to list the commands and aliases available to you using the "compgen" built-in command. Simply type the following command, and you will be given the full alphabetical list of commands available to you in the system:

compgen -ca

You can also redirect the output to a text file on your desktop called "commands.txt" to peruse later:

compgen -ca > ~/Desktop/commands.txt

Referring to this list of commands, you can then look each up using the Terminal commands "man" for the full manual page or "whatis" for a brief synopsis of what it does. For instance, unlike the command "diskutil" it may be difficult to guess what the command "xattr" does from its name, so you can quickly look this up by running the following:

whatis xattr

Note: If the whatis command is not working then run the command "/usr/libexec/makewhatis" in the Terminal.

You can find more information and specifics on how to use the command through its manual page. There are a number of approaches to viewing a manual page for a command, with four that may be most useful:

xman man page browser in OS X
The xman command for those with XQuartz or Apple's X11 installed will bring up a basic man page browser. Screenshot by Topher Kessler/CNET

  1. The man command
    The default way to view a manual page is to use the man command the way the whatis command is used above, which will bring up a formatted instruction manual for the command that you can navigate through with the arrow keys or the F and B keys (for forward and backward). For example, to view the manual page for the xattr command, you would run the following:

    man xattr


    To quit the manual page, simply press the Q key.
  2. The 'xman' command
    If you have XQuartz installed or Apple's provided X11 windowing system for Unix (provided by Apple in OS X Lion and previous versions), then you can run the "xman" command to open up a manual page browser that you can click through. This is a quick and convenient way to not only view the manuals, but also see the available commands.
  3. Onyx man page lookup.
    Tools like OnyX offer man page lookup options that can be quite useful. Screenshot by Topher Kessler/CNET
  4. The Web
    A third resource is various Web sites that contain collections of man pages for commands. An easy approach is to simply do a Web search for "man COMMAND;" however, this may bring up platform-specific manual pages that do not completely pertain to the command in your version of OS X. A more Mac-specific man page collection is Apple's OS X Manual Pages site.
  5. Third-party man page utility
    A final option is to use a third-party manual page tool, such as OnyX, which contains a full man page browser. Like the xman utility, this will give you a quick way to view available commands and study their manual pages. In addition, OnyX provides an option to save the manual pages as PDFs.


Questions? Comments? Have a fix? Post them below or e-mail us!
Be sure to check us out on Twitter and the CNET Mac forums.