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

Galaxy of Trian (Games)
Galaxy of Trian 1.1.0 Device: iOS Universal Category: Games Price: $6.99, Version: 1.1.0 (iTunes) Description: Galaxy of Trian is an exciting, fast paced digital board game based on the highly acclaimed tabletop title. | Read more »
Dead In Bermuda (Games)
Dead In Bermuda 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: | Read more »
The Little Fox (Games)
The Little Fox 1.0.1 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.1 (iTunes) Description: The Little Fox is an alternative perspective on the world-renowned ‘fairy tale for adults', The Little Prince by Antoine de... | Read more »
5 popular free fertility apps
There was a good article this week in The Independent about how more women are using fertility appsas a de facto form of contraception. It's apparently not working too well, leading to numerous unwanted pregnancies. [Read more] | Read more »
How to get more cars in CSR Racing 2
NaturalMotion and Zynga brought a lot of real life cars to the table for CSR Racing 2. From souped up everyday rides made by Nissan and Hyundai to supercars produced by the likes of McLaren and Pagani, there really is something for everyone. [... | Read more »
Crypt of the NecroDancer Pocket Edition...
Crypt of the NecroDancer Pocket Edition 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: Crypt of the NecroDancer is an award winning hardcore roguelike rhythm game. Move to the music and... | Read more »
Gear-grinding puzzle title Inner Circle...
If you saw our post earlier this month announcing the imminent release of ZPlay’s new creation, Inner Circle, you’ll be happy to know that it’s now available on the App Store. Established in 2010, developer and publisher ZPlay have taken the... | Read more »
CSR Racing 2: Your guide to what's...
CSR Racing 2, or CSR2, as it likes to call itself, has finally arrived. The follow-up to the immensely popular drag racing game CSR Racing is the first release from NaturalMotion since the studio's acquisition by Zynga in early 2014. [Read more] | Read more »
Nanuleu (Games)
Nanuleu 1.1 Device: iOS Universal Category: Games Price: $2.99, Version: 1.1 (iTunes) Description: Nanuleu is a strategy game where you take control of ancient magical trees that protect the land from an invading dark force. A... | Read more »
The Slaughter: Act One (Games)
The Slaughter: Act One 1.0.323 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0.323 (iTunes) Description: “The game mixes realism and surrealism to create a story that can cause just as much laughter as fear. A-” -... | Read more »

Price Scanner via MacPrices.net

New App Reminds Us to Put Down Our Phones and...
Mode, a new smartphone app that makes us more mindful of how we use our devices, debuts in the app stores today. The Mode app tracks time spent in different modes of day-to-day life without... Read more
ZuumSpeed Personalized Speedometer + HUD For...
RMKapps has announced the release and immediate availability of ZuumSpeed 1.0, its personalized speedometer plus heads up display for iOS devices. ZuumSpeed gives users over 18 custom fonts available... Read more
Apple refurbished clearance 15-inch Retina Ma...
Apple has Certified Refurbished 2014 15″ 2.2GHz Retina MacBook Pros available for $1609, $390 off original MSRP. Apple’s one-year warranty is included, and shipping is free. They have refurbished 15... Read more
9-inch 128GB Silver iPad Pro on sale for $50...
B&H Photo has the 9.7″ 128GB Silver Apple iPad Pro on sale for $699 including free shipping plus NY tax only. Their price is $50 off MSRP. Read more
Why Use Indie Opera And Vivaldi Instead Of Sa...
For many years my web browser workhorses were various permutations and spinoffs of the Netscape/Mozilla/Firefox Open Source platform, and the Norwegian indie browser Opera, which I took a shine to... Read more
Western Digital Launches Worlds Fastest 256GB...
At the Mobile World Congress in Shanghai Western Digital Corporation this week introduced a new suite of 256 gigabyte (GB) microSD cards, which includes the new 256GB SanDisk Extreme microSDXC UHS-I... Read more
KeyCue 8.1 Integrates With Typinator To Displ...
Ergonis Software has released KeyCue 8.1, a new version of the company’s keyboard shortcut cheat sheet. KeyCue 8 introduced a new way to define a wide variety of triggers, which can be used to... Read more
Save up to $600 with Apple refurbished Mac Pr...
Apple has Certified Refurbished Mac Pros available for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The following... Read more
21-inch 2.8GHz iMac on sale for $1199, save $...
Amazon has the 21″ 2.8GHz iMac (model #MK442LL/A) on sale for $1199.99 including free shipping. Their price is $100 off MSRP, and it’s the lowest price available for this model. Read more
13-inch 2.5GHz MacBook Pro (Apple refurbished...
Apple has Certified Refurbished 13″ 2.5GHz MacBook Pros available for $829, or $270 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook Pros... Read more

Jobs Board

*Apple* Retail - Multiple Positions, Fort Wo...
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
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* iPhone 6s and New Products Tester Ne...
…we therefore look forward to put out products to quality test for durability. Apple leads the digital music revolution with its iPods and iTunes online store, Read more
*Apple* iPhone 6s and New Products Tester Ne...
…we therefore look forward to put out products to quality test for durability. Apple leads the digital music revolution with its iPods and iTunes online store, Read more
*Apple* iPhone 6s and New Products Tester Ne...
…we therefore look forward to put out products to quality test for durability. Apple leads the digital music revolution with its iPods and iTunes online store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.