TweetFollow Us on Twitter

Jun 02 Section 7

Volume Number: 18 (2002)
Issue Number: 06
Column Tag: Section 7

Some Basic Commands

by Rich Morin

Learn these first; the others can wait!

Before we look at any specific commands, we need to look at some fundamental differences between BSD terminal sessions and the ordinary Mac OS X (OSX) experience. Each interface has its advantages and disadvantages; by understanding these, you'll be able to use both interfaces more effectively!

  • Applications vs. Commands OSX applications tend to be highly interactive, providing customized environments for accomplishing particular tasks. BSD commands, in contrast, are generally run in "batch mode". The user issues the command, giving all of the needed information, waits for the result, and goes on.
  • Documents vs. Files OSX documents are generally encoded in an application-specific data format. Consequently, it is only by extra effort that other applications can make use of them. BSD files are expected to be useful to a wide range of commands. As a result, they are often formatted as ASCII text files, using white space (blanks, spaces, and newlines) to delineate internal data elements.
  • Subjects vs. Verbs In OSX, the user double-clicks on the icon for a document (subject) and the appropriate application (verb) starts up. Alternatively, s/he drags the document icon (subject) over to the application icon (verb). In BSD, the user types in the name of a command (verb), followed by assorted file names (subjects) and flags (adverbs).
  • Mice vs. Keyboards OSX employs a graphical user interface (GUI), using the mouse (trackball, ...) for nearly every action. Keyboard "shortcuts" are provided in some cases, but they are never required. In BSD, the situation is exactly reversed. The keyboard is used for everything; mouse "shortcuts" are used only occasionally.
  • Windows vs. Sessions OSX applications often put up multiple windows; actions taken in one window are expected to have ramifications in all of the other windows. Each BSD terminal session, in contrast, is expected to be independent of all of the other sessions.
  • Aqua vs. The Shell Aqua (including the Dock and the Finder) allows the user to navigate through the file system, manipulate documents and folders, and start up commands. The BSD "shell" (assisted by some common commands) provides equivalent capabilities, plus others (e.g., scripting, session logging). Of course, the user interfaces vary substantially!

Navigation Commands

As noted above, BSD command lines start with a verb, followed by some number of subjects and adverbs. Last month, we used the "man" command to view manual pages; let's use it again, trying out some variations.

[localhost:~] rdm% man 2 sync
[localhost:~] rdm% man 8 sync
[localhost:~] rdm% man sync

The sync(2) manual page describes a system call; sync(8), in contrast, is a system maintenance command. By specifying the section number, we can tell man which part of the manual to search. In most cases, there is no conflict, so the section number can be left off.

None of man's "arguments" are actually file names. Instead, they are hints that allow man to search assorted directories. The actual list of directories that man examines is specified by MANPATH, a BSD "environment variable". Environment variables and control files perform many of the functions of OSX preferences:

[localhost:~] rdm% echo $MANPATH
/Users/rdm/man:/usr/local/share/man:/usr/share/man

This tells us that man looks first under /Users/rdm/man (the user's personal man pages), /usr/local/share/man (this machine's "local" man pages), and /usr/share/man (OSX man pages). Let's wander over to the latter directory and take a look:

[localhost:~] rdm% cd /usr/share/man
[localhost:/usr/share/man] rdm% ls -F
man1/      man3/      man5/      man7/      whatis.db
man2/      man4/      man6/      man8/

The cd(1) command sets /usr/share/man as the "current directory" for this terminal session. This can save a lot of typing! For convenience, the shell puts the name of the current directory in the command line's "prompt string".

The ls(1) command provides a directory listing, appending slashes to directory names (as directed by the -F option). So far, the Finder seems a lot more convenient, but hang on a bit! Let's find out which directories have "sync" man pages:

[localhost:/usr/share/man] rdm% ls */sync*
man2/sync.2  man8/sync.8

The asterisk "wild cards" tell the shell to look through every subdirectory, looking for files whose names begin with "sync". Hmm; looks like the shell has some advantages when lots of items are involved. How many pages might that be, anyway?

[localhost:/usr/share/man] rdm% ls */* | wc -l
    2853

This command "pipeline" ran two commands, directing the "standard output" of one into the "standard input" of the other. The first command listed every file in every subdirectory; the second counted the number of lines in the first command's output. The result (2853) was something which neither base command was "designed" to produce.

This pipeline is actually a minuscule instance of a "shell script". BSD users frequently write scripts to automate repetitive tasks. Next month, we'll look at some more commands and some fancier ways of writing shell scripts.


Rich Morin has been using computers since 1970, Unix since 1986, and Mac-based Unix since 1986 (when he helped Apple create A/UX 1.0). When he isn't writing this column, Rich runs Prime Time Freeware (www.ptf.com), a publisher of books and CD-ROMs for the Free and Open Source software community. Feel free to write to Rich at rdm@ptf.com.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

The beginner's guide to Warbits
Warbits is a turn-based strategy that's clearly inspired by Nintendo's Advance Wars series. Since turn-based strategy games can be kind of tricky to dive into, see below for a few tips to help you in the beginning. Positioning is crucial [Read... | Read more »
How to upgrade your character in Spellsp...
So you’ve mastered the basics of Spellspire. By which I mean you’ve realised it’s all about spelling things in a spire. What next? Well you’re going to need to figure out how to toughen up your character. It’s all well and good being able to spell... | Read more »
5 slither.io mash-ups we'd love to...
If there's one thing that slither.io has proved, it's that the addictive gameplay of Agar.io can be transplanted onto basically anything and it will still be good fun. It wouldn't be surprising if we saw other developers jumping on the bandwagon,... | Read more »
How to navigate the terrain in Sky Charm...
Sky Charms is a whimsical match-'em up adventure that uses creative level design to really ramp up the difficulty. [Read more] | Read more »
Victorious Knight (Games)
Victorious Knight 1.3 Device: iOS Universal Category: Games Price: $1.99, Version: 1.3 (iTunes) Description: New challenges awaits you! Experience fresh RPG experience with a unique combat mechanic, packed with high quality 3D... | Read more »
Agent Gumball - Roguelike Spy Game (Gam...
Agent Gumball - Roguelike Spy Game 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Someone’s been spying on Gumball. What the what?! Two can play at that game! GO UNDERCOVERSneak past enemy... | Read more »
Runaway Toad (Games)
Runaway Toad 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: It ain’t easy bein’ green! Tap, hold, and swipe to help Toad hop to safety in this gorgeous new action game from the creators of... | Read more »
PsyCard (Games)
PsyCard 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: From the makers och Card City Nights, Progress To 100 and Ittle Dew PSYCARD is a minesweeper-like game set in a cozy cyberpunk... | Read more »
Sago Mini Robot Party (Education)
Sago Mini Robot Party 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: -- Children's Technology Review Editor's Choice -- | Read more »
Egz – The Origin of the Universe (Games...
Egz – The Origin of the Universe 1.0.2 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0.2 (iTunes) Description: ►►► Special offer until 2nd may : get the game at 2.99€ instead of 3.99€ ! ◄◄◄ Egz is a mesmerizing mix... | Read more »

Price Scanner via MacPrices.net

Price drops on clearance 12-inch Retina MacBo...
B&H Photo has dropped prices on leftover 2015 12″ Retina MacBooks with models now available starting at $999. Shipping is free, and B&H charges NY tax only: - 12″ 1.1GHz Gray Retina MacBook... Read more
15-inch Retina MacBook Pros available for $20...
B&H Photo has 15″ Retina MacBook Pros on sale for up to $210 off MSRP. Shipping is free, and B&H charges NY tax only: - 15″ 2.2GHz Retina MacBook Pro: $1799 $200 off MSRP - 15″ 2.5GHz Retina... Read more
Target offers Apple Watch Sport for $50 off M...
Target has Apple Watch Sports on sale for $50 off MSRP for a limited time. Choose free shipping or free local store pickup (if available). Sale prices for online orders only, in-store prices may vary... Read more
Apple restocks Certified Refurbished Mac mini...
Apple has restocked Certified Refurbished 2014 Mac minis, with models available starting at $419. Apple’s one-year warranty is included with each mini, and shipping is free: - 1.4GHz Mac mini: $419 $... Read more
15-inch 2.2GHz Retina MacBook Pro on sale for...
Amazon.com has the 15″ 2.2GHz Retina MacBook Pro on sale for $1699.99 including free shipping. Their price is $300 off MSRP, and it’s the lowest price available for this model from any reseller (and... Read more
Apple Beats Microsoft at Own Game; Amazon Pri...
First quarter seasonality combined with an overall disinterested customer base led to an annual decline of 14.7% in worldwide tablet shipments during the first quarter of 2016 (1Q16). Worldwide... Read more
Tablets Had Worst Quarter Since 2012, says St...
The global tablet market began 2016 just as 2015 left off, down. Tablet shipments fell 10% to 46.5 million units during the Q1 2016, according to the new “Preliminary Global Tablet Shipments and... Read more
Clearance 13-inch MacBook Airs, Apple refurbi...
Apple recently dropped prices on certified refurbished 2015 13″ MacBook Airs with 4GB of RAM with models now available starting at $759. An Apple one-year warranty is included with each MacBook, and... Read more
Clearance 12-inch Retina MacBooks, Apple refu...
Apple has dropped prices on Certified Refurbished 2015 12″ Retina MacBooks with models now available starting at $929. Apple will include a standard one-year warranty with each MacBook, and shipping... Read more
Aleratec Releases Mac Software Upgrade for 1...
California based Aleratec Inc., designer, developer and manufacturer of Portable Device Management (PDM) charge/sync products for mobile devices and professional-grade duplicators for hard disk... Read more

Jobs Board

Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Simply Mac *Apple* Specialist- Service Repa...
Simply Mac is the largest premier retailer of Apple products in the nation. In order to support our growing customer base, we are currently looking for a driven Read more
*Apple* Retail - Multiple Positions - Apple,...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Automotive Sales Consultant - Apple Ford Linc...
…you. The best candidates are smart, technologically savvy and are customer focused. Apple Ford Lincoln Apple Valley is different, because: $30,000 annual salary Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.