More UNIX for Dummies


UNIX For Dummies introduced you to the UNIX operating system -- the operating system at the heart of countless World Wide Web and Internet servers, graphics workstations, and corporate and academic mainframes. Now, in MORE UNIX For Dummies, best-selling authors John R. Levine and Margaret Levine Young take you to the next level, showing you how to configure and use the C, Bourne, and Korn shells as well as the Bourne-Again Shell (BASH); get the most out of powerful text editors like vi and emacs; tap the Internet...
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (2) from $58.77   
  • Used (17) from $0.00   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2015

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by
Sending request ...


UNIX For Dummies introduced you to the UNIX operating system -- the operating system at the heart of countless World Wide Web and Internet servers, graphics workstations, and corporate and academic mainframes. Now, in MORE UNIX For Dummies, best-selling authors John R. Levine and Margaret Levine Young take you to the next level, showing you how to configure and use the C, Bourne, and Korn shells as well as the Bourne-Again Shell (BASH); get the most out of powerful text editors like vi and emacs; tap the Internet with e-mail, Usenet, Gopher, and FTP; and write programs in the awk language -- all without requiring you to get a computer science degree.

MORE UNIX for Dummies follows the . . . For Dummies tradition and takes readers on an informative tour of the powerful world of UNIX. Expert author John Levine builds on the success of the first book by expanding the scope of his discussion in a humorous fashion. This style helps to overcome the technical barrier presented by UNIX and increases the reader's understanding.

Read More Show Less

Product Details

  • ISBN-13: 9781568843612
  • Publisher: Wiley, John & Sons, Incorporated
  • Publication date: 5/1/1998
  • Series: For Dummies Series
  • Edition number: 1
  • Pages: 412
  • Product dimensions: 7.35 (w) x 9.23 (h) x 0.99 (d)

Table of Contents

How to Use This Book
Who Are You?
How This Book Is Organized
Part I: Welcome Back!
Part II: UNIX Scripts
Part III: Editors and Mail Programs
Part IV: Pointing and Clicking with Motif
Part V: UNIX and the Internet
Icons Used in This Book
What Now?
Write to Us

Part I: Welcome Back!

Chapter 1: We're Ba-a-a-ck!
What's Old, What's New
Let a Hundred Versions Blossom
Some prehistory
You can't tell the players without a scorecard
Good GNUs and bad GNUs
Who -- Us? Leave Well Enough Alone?
Chapter 2: A Short Refresher Course
Typing Practice
Just in Case
Logging In
The Shell Game
What's on File?
Chapter 3: Far Too Many Versions of UNIX and a Few Too Many Shells
The Shell Game
Your basic shell
Korn gold
Bourne again
See shells
How to tell which shell you have
How much difference does all this make?
You Mean, UNIX Isn't Just UNIX?
Old AT&T-ish systems
Newer AT&T-ish systems
BSD-ish systems
How Much Practical Difference Does It Make?
OK, How Do I Tell Which UNIX I Have?
Let's Be Sneaky

Part II: UNIX Scripts

Chapter 4: An Introduction to Scripts
What Is a Script?
Where Do Scripts Live?
Where the shell looks for programs
Look in my bin!
Writing a Script
Running a Script
Shells and Scripts
Tiresome Arguments
What's an argument?
Arguing with scripts
Environmental Impact
Do's and Don'ts
Chapter 5: The Shell Game: Using Shell Variables
What's in a Variable?
Name that variable!
If you use the Bourne or Korn shell or BASH
If you use the C shell
A variable is born
What good are variables?
Killing variables
Variables You Already Have
If you use the Bourne or Korn shell or BASH
Using predefined variables
If you use the Korn shell
If you use the C shell
The C shell's predefined variables
Environment variables
Chapter 6: Fancy Script Commands
Making Smarter Shell Scripts
Return of the program
Sensitivity training: If this, then that
Or else!
Lots of stuff to do
Testing, testing
File, are you there?
Testing command-line arguments
A star is Bourne
Testing variables
Lots of possibilities!
Asking Questions and Getting Answers
Repeating the Same Commands Over Again One More Time
Give me a break!
Time to downshift!
Coming to the for
Would you like to see the menu?
Handling Errors
Testing and Debugging Scripts
Build them a piece at a time
Put in echo statements
Use the built-in tracing
Chapter 7: Setting Things Up Nice
Bourne Again
Everyone's profile
Your own private profile
She Sells C Shells
Miscellaneous Files
Chapter 8: Down by the Old Text Stream
What to Say to sed
Let's Be Selective
Too much to type
We lied
We Don't Need No Stinking grep
Your basic database
In case that wasn't confusing enough
We promise, this one is the worst
Lots of Stupid sed Tricks
Picking out lines by number
Scrambling parts of lines
Picking out multiple kinds of lines
Slicing and dicing
If You're a Glutton for Punishment
Chapter 9: Awk-ward, Ho!
The Theory of Pure Awk
Selecting Stuff
Selecting a coupla things
Check out this example
Transforming Stuff
Summarizing Stuff
More Allegedly Clever Awk Tricks
A List of What You've Learned
Had Enough?
Chapter 10: Mixing It Up
Let's Not Be Needlessly awk-ward
Checking It Out
Checking out, first riff
Sort of checking out
Checking out, the grand denouement
One Last Tedious Awk and Shell Trick

Part III: Editors and Mail Programs

Chapter 11: Oy, Vi!
Starting Up
Cursors -- Foiled Again!
Vi à la Mode
You're in command
Exiting from vi
Navigating Around Your File
What's my line?
Staying in line!
Cruising around the screen
Relatively speaking
Getting a decent character reference
Oops -- Let Me Take that Back
I Know That It's Here Somewhere!
Time to Type
Entering Text at Long Last
It Slices, It Dices
Blow me away
Why can't they just call it "cut and paste"?
Yanking and putting commands
Using Last-Line Mode
Read More Files!
Save More!
Practice safe editing
Write on!
Over and Out
Some Pearls for Vi Power Users
Tag -- you're it
Avoiding shell shock
Getting more mouse power
Two -- two -- two files at once (or three, or n!)
Chapter 12: Have a Big Emacs!
This Is Emacs
Running emacs
Running away from emacs
A Few Key Concepts
I can't believe it's not buffer!
Editing à la mode
How to command emacs
A File Here, a File There
Attention, lazy typists!
Doing two things at one time
Let's split
How can you edit two files at once?
A new name
Fooling with Text
Smooth editing moves
Blowing text away
Slicing and Dicing
Moving a line or two
Moving a word or three
On your mark
Copying a line or four
Glomming files together
Wrapping and Indenting
Fill 'er up
How long is yours?
Searching for Mr. Goodtext
Fooling with Directories
Dired consequences
Show me that file
Blow it away
Other file foolishness
Mailing from Emacs
Another Slick Trick
A Listing of Commands
Chapter 13: Climbing Elm
From Tiny Acorns
Bailing Out
What the Elm?
Reading the Elm Leaves
Back to You
About That Message
Sending a New Message
Stash It
Fold me a folder
What's in this folder?
Going Under an Alias
Creating a secret identity
Now we return to our previous elm screen, already in progress
Sending plain ol' text
Sending any ol' file
Help! I got a uuencoded file!
Making Elm Better
Chapter 14: Pining Away
Running Pine
Leaving Pine
Sending Messages
Reading Your Messages
Saving Messages
Looking in a folder
Saving messages as text
Printing Messages
Creating Your Own Address Book
Attaching Files to Messages
Including text in your message
Attaching files
Decoding attached messages

Part IV: Motif

Chapter 15: Lite Motif
Where Did Motif Come From?
I'm Not Just a Server -- I'm Also a Client!
We Don't Need No Stinkin' Policy
How did we manage without this?
Widgets here, widgets there
On the Border Patrol
Switching windows
Moving a window
Resizing a window
Making windows go away
On the menu
More Stupid Window Manager Tricks
The Parade of Motif Widgets
Too many widgets
Radio buttons
Text boxes
Toggle buttons
Scales or sliders
Option menus
Scrollable lists and scroll bars
Chapter 16: Mutant Motif
Configuring Motif: Threat or Menace?
We Hope That You're Resourceful
Call me Ishmael
OK, so don't call me Ishmael
Then how do I change a program's resources?
Resource files -- yuck!
Proving that you're resourceful
Resources and Your Window Manager
Pointer, pointer, who's got the pointer?
Being decorative
Where's that window?
What's on the Menu?
How Many Menus Would a Menu Menu If a Menu Could Menu Menus?
Toggle, Toggle

Part V: UNIX and the Internet

Chapter 17: The Wide World of the Internet
What Is the Internet?
Am I on the Internet Already?
Numbers for Everything
What's in a name?
So who am I?
What's It Good For?
Electronic mail (e-mail)
On-line conversation
Bulletin boards (Usenet)
File retrieval
Menus and hypertext
Where to Go from Here
Chapter 18: Talking to the Outside World
Mail Goes Everywhere!
The Internet
America Online (AOL)
AT&T Mail
MCI Mail
Sprintmail (Telemail)
X.400: We're from the post office, and we know what you want
In Search of the Elusive E-Mail Address
Fun with fingers
The big finger
Whois Out There on the Net?
A New Way to Get Junk Mail: Electronic Mailing Lists
Getting on and off lists
Joining manual lists
Joining LISTSERV lists
Joining Majordomo lists
Now what?
Etiquette Counts
Bursting into flame
How private is e-mail?
Live Talk Networking
Chapter 19: Turbocharge Your Newsreading
What Is Usenet?
How Do I Read It?
Running Trn
Remember your first time?
After the first time
Choosing Newsgroups to Read
Commanding trn
Picking Up the Threads
Reading the News
File It, Please
When Is an Article Not Really an Article?
Dealing with Articles That Demand a Response
Responding privately by e-mail
Possibly making a fool of yourself
Being Original
Fiddling with Your Newsgroups
Preventing Alzheimer's
Reading the best ones first
Killing Articles That Displease You
What's a kill file?
License to kill
Narrowing your view
Editing the kill file
Undoing death
Using Nn
Get me out of here
Choosing newsgroups
Choosing articles
Reading articles
Mouthing off privately
Mouthing off publicly
Using Tin
Choosing newsgroups
Choosing and reading articles
Getting uuencoded and shar files out of articles
Leaving tin
Chapter 20: Telnetting Around the Net
How Can You Be in Two Places at Once When You're Not Anywhere at All?
Terminal Type Tedium
Escaping from Telnet
Terminals Served Here
Whipping Telnet into Shape
Port, Anyone?
Attack of the IBM Terminals
Come On By, Anytime
Some important libraries
Other libraries
Geography databases
Outer-space databases
Book databases
Ham-radio databases
Gateway systems
Commercial services
Fun and sheer goofiness
Chapter 21: Grabbing Files over the Net
You're a Copying Machine
Getting connected
Getting your file
Getting out
When is a file not a file?
How to foul up your files in FTP
The directory thicket
What's that name again?
Here's a file in your eye
Getting Files Anonymously
Hello, anonymous!
A few anonymous FTP tips
Great Stuff on FTP
A word from those etiquette ladies again
Mirror, mirror, on the net, where are the files I want to get?
The FTP Hit Parade
The list of lists
Ask Archie
Telnet Archie
Telling Archie how to behave: The set and show commands
Searching for something interesting
Sub method
Subcase method
Exact method
Regex method
How long do you want to look?
Find it!
After you've found it, or some of it, what is it?
You can't get there from here
Plain ol' Archie
E-mail Archie
Chapter 22: What's in That File?
A Feast of Fancy Files
Text files
Archives and compressed files
Data files
Executable files
Packing It in
Compression classic
It's patently obvious: gzip
ZIP-ing it up
In the Archives
The tar pit
Copy here, copy there
PAX vobiscum
For the Artistically Inclined
I could GIF a . . . .
The eyes have it
A trip to the movies
Let a hundred formats blossom
Chapter 23: Gopher the Gusto
Exploring Gopherspace
The Good, the Bad, and the Ugly
Where Do I Find a Gopher?
Jumping Down a Gopher Hole
It Must Be Around Here Somewhere
Finally, Some Files
A Gopher Cheat Sheet
Telnetting via Gopher
Veronica Saves the Day
Leaving a Trail of Bread Crumbs
High-Class Gopher
Gopher menus
Fetching files
Finding out about Gopher entries
Chatper 24: Stuck to the World Wide Web
The What?
A Day on the Lynx
Coming and going
Anatomy of a page
Skating the Web
Handling long pages
Getting help
Where have I been?
Going right to a URL
Printing or saving good stuff
Fake Web pages
News of the weird
Gopher it
Files via Lynx
Lynx can act like telnet too
Remembering the good parts
Controlling your Lynx
Using Mosaic
(Don't bother) configuring Mosaic
Starting it up
Jumping around the Web
Stop everything!
Changing fonts
Printing, saving, or copying good stuff
Remembering good places
Finding other WWW pages
Searching for info
Gophers on the Web
Files on the Web
Telnetting with Mosaic
How to Swing on the Web
Chapter 25: Dealing with Excess Free Time: Internet Relay Chat
What Is IRC?
Worldwide Gossipmongering
Chatting in Theory and in Practice
Getting Connected
Talking the Talk, Chatting the Chat
What Channels Are on?
Hey, Aren't We Ever Going to Do Some Chatting?
Enough, Already!
Starting Your Own Channel
Private Conversations
It's a Jungle Out There


Reader Response Card

Read More Show Less

First Chapter

Chapter 21
Grabbing Files over the Net

In This Chapter

  • Getting files from all over the net
  • Stashing files all over the net
  • Lotsa swell stuff for FTP
  • Navigating in anonymous land
  • Finding files by name
  • Log in to Archie
  • Send Archie a letter

In Chapter 20 of UNIX For Dummies, we described how to use the FTP system to transfer files from one computer to another on a network. Let's look at the topic again, from the point of view of the Internet.

You can use FTP to transfer files to or from computers on which you have accounts. You can also use FTP to download (transfer to your computer) files from any of a bunch of publicly available FTP servers out there on the Internet. Thousands of public FTP servers are on the Internet, each with hundreds of files that might be of use, including text, pictures, and programs. It's just a matter of locating them and downloading them!

After we tell you about how to use FTP, we list some of the big FTP servers you might want to use, as well as telling you how to use Archie, a system that helps you find files in the world of FTP.

You're a Copying Machine

It's pretty simple to copy a file from one place to another (but don't forget -- computers are involved). Here's how it works: Log in to the other computer for FTP, and tell it what you want to copy and where you want it copied.

Getting connected

To run the ftp program, you type ftp and the name of the host computer where the FTP server you want is, like this:


(That's John's computer.) Substitute the FTP server's name for

Assuming that it's not too busy to let you connect, the FTP server greets you with a message like this:

Connected to
220 iecc FTP server (Version 4.1 8/1/91) ready.

The computer asks for your username and password on the host computer. If you don't have an account on the computer, don't panic. See the section "Getting Files Anonymously," later in this chapter. (On this particular computer, unless you happen to be one of the authors of this book, it's extremely unlikely that you have an account. We're using it as an example.)

If the FTP server likes you, it says something like this:

230 User johnl logged in.

The ftp> is FTP's prompt, telling you that it's ready for you to type a command.

Getting your file

To copy a file from the FTP server (the host computer) to your own computer, use the get command, like this:


Substitute the name of the file in place of README in this command. FTP says something like this:

150 Opening ASCII mode data connection for README (12686 bytes).
226 Transfer complete.
local: README remote: README
12979 bytes received in 28 seconds (0.44 Kbytes/s)

FTP always tells you far more than you want to know about the transfer. When it says that the transfer is complete, you've got the file.

You have to type the filename by using the syntax the server uses. In particular, if the server is a UNIX system (as most are), upper- and lowercase are different, so README, Readme, and readme are different filenames.

Getting out

When you finish transferring files, type the command quit. FTP responds with this:

221 Goodbye.

That's basically how FTP works, but of course you need to know about 400 other odds and ends to use FTP effectively.

When is a file not a file?

When it's a text file. The FTP definition specifies six different kinds of files, of which only two types are useful: ASCII and binary. An ASCII file is a text file. A binary file is anything else. FTP has two modes, ASCII and binary (also called image mode), to transfer the two kinds of files. When you transfer an ASCII file between different kinds of computers that store files differently, ASCII mode automatically adjusts the file during the transfer so that the file is a valid text file when it is stored on the receiving end. A binary file is left alone and transferred verbatim.

You tell FTP which mode to use with the binary and ascii commands:

ftp> binary
200 Type set to I. <
ftp> ascii
200 Type set to A.

In the preceding example, the I is for binary or image mode (after 20 years, the Internet protocol czars still can't make up their minds what to call it), and the A is for ASCII mode. Like most FTP commands, binary and ascii can be abbreviated by lazy typists to the first three letters -- so bin and asc will suffice.

How to foul up your files in FTP

The most common FTP error made by inexperienced Internet users (and by experienced users, for that matter) is transferring a file in the wrong mode. If you transfer a text file in binary mode from a UNIX system to an MS-DOS or Macintosh system, the file looks something like this (on a DOS machine):

This file

should have been
copied in
ASCII mode.

On a Mac, the entire file looks like it's on one line. When you look at the file with a text editor on a UNIX system, you see strange ^M symbols at the end of each line. You don't necessarily have to retransfer the file. Many networking packages come with programs that do ex post facto conversion from one format to the other.

If, on the other hand, you copy something that isn't a text file in ASCII mode, it gets scrambled. Compressed files don't decompress; executable files don't execute (or they crash or hang the machine); images look unimaginably bad. When a file is corrupted, the first thing you should suspect is the wrong mode in FTP.

If you are FTP-ing (Is that a verb? It is now) files between two computers of the same type, such as from one UNIX system to another, you can and should do all your transfers in binary mode. Whether you're transferring a text file or a nontext file, it doesn't require any conversion, so binary mode does the right thing.

It's often comforting to get a directory listing before issuing a get or put command so that you can have an idea of how long the copy will take.

Patience is a virtue

The Internet is pretty fast but not infinitely so. When you are copying stuff between two computers on the same local network, information can move at about 200,000 characters per second. When the two machines are separated by a great deal of intervening Internet, the speed drops -- often to 1,000 characters per second or less. So if you're copying a file that's 500,000 characters long, it takes only a few seconds over a local network, but it can take several minutes over a long-haul connection.

The directory thicket

Every machine you can contact for FTP stores its files in many different directories, which means that to find what you want you have to learn the rudiments of directory navigation. Fortunately, you wander around directories in FTP in pretty much the same way as you do on your own system. The command you use to list the files in the current directory is dir, and to change to another directory you use the command cd, as in the following example:

ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 23
drwxrwxr-x 19 root archive 512 Jun 24 12:09 doc
drwxrwxr-x 5 root archive 512 May 18 08:14 edu
drwxr-xr-x 31 root wheel 512 Jul 12 10:37 systems
drwxr-xr-x 3 root archive 512 Jun 25 1992 vendorware
... lots of other stuff ...
226 Transfer complete.
1341 bytes received in 0.77 seconds (1.7 Kbytes/s)
ftp> cd edu
250 CWD command successful.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 3
-rw-rw-r-- 1 root archive 87019 Dec 13 1990 R
-rw-rw-r-- 1 root archive 41062 Dec 13 1990 RS
-rw-rw-r-- 1 root archive 554833 Dec 13 1990 Rings
drwxr-xr-x 2 root archive 512 May 18 09:31 administrative
drwxr-xr-x 3 root archive 512 May 11 06:44 ee
drwxrwxr-x 8 root 234 512 Jun 28 06:00 math
226 Transfer complete.
200 bytes received in 63 seconds (0.0031 Kbytes/s)
ftp> quit
221 Goodbye.

In a standard UNIX directory listing, the first letter on the line tells you whether something is a file or a directory. d means that it's a directory -- anything else is a file. In the directory edu in the preceding example, the first three entries are files, and the last three are other directories. Generally, you FTP to a host, get a directory listing, change to another directory, get a listing there, and so on until you find the files you want; then you use the get command to retrieve them.

You often find that the directory on your machine in which you start the FTP program is not the one in which you want to store the files you retrieve. In that case, use the lcd command to change the directory on the local machine.

To review: cd changes directories on the other host; lcd changes directories on your own machine. (You might expect cd to change directories correspondingly on both machines, but it doesn't.)

What's that name again?

Sometimes on your machine you have to give a file a name that's different from the name it has on a remote machine. (This is particularly true on DOS machines, on which many UNIX names are just plain illegal, and when you're retrieving Macintosh files, which can contain spaces and special characters.) Also, if you need to get a bunch of files, it can be tedious to type all the get commands. Fortunately, FTP has work-arounds for both those problems. Suppose that you've found a file named rose and you want to download it as rose.gif because it contains a GIF-format image. First, make sure that you're in binary mode, and then retrieve the file with the get command. This time, however, you give two names to get -- the name of the file on the remote host and the local name -- so that it renames the file as the file arrives:

ftp> bin
200 Type set to I.
ftp> get rose2 rose2.gif
200 PORT command successful.
150 Opening BINARY mode data connection for rose2 (47935 bytes).
226 Transfer complete.
local: rose2.gif remote: rose2
47935 bytes received in 39 seconds (1.2 Kbytes/s)

Next, suppose that you want to get a bunch of the files that begin with ru. In that case, you use the mget (which stands for multiple GET) command to retrieve them. The names you type after mget can be either plain filenames or wildcard patterns that match a bunch of filenames. For each matching name, FTP asks whether you want to retrieve that file, as in the following:

ftp> mget ru*
mget ruby? n
mget ruby2? n
mget ruger_pistol? n
mget rugfur01? n
mget rush? y
200 PORT command successful.
150 Opening BINARY mode data connection for rush (18257 bytes).
226 Transfer complete.
local: rush remote: rush
18257 bytes received in 16 seconds (1.1 Kbytes/s)
mget rush01? y
200 PORT command successful.
150 Opening BINARY mode data connection for rush01 (205738 bytes).
local: rush01 remote: rush01
205738 bytes received in 200.7 seconds (1.2 Kbytes/s)
mget rush02?

If you find that mget matches more files than you expected, you can stop it with the usual interrupt character for your system -- typically Ctrl-C or Del:

Continue with mget? n
ftp> quit
221 Goodbye.

You can even interrupt in the middle of a transfer if a file takes longer to transfer than you want to wait.

You also can do an express mget, which doesn't ask any questions and enables you to find exactly the files you want. To tell FTP not to ask you about each file, use the prompt command before you give the mget command, like this:

ftp> prompt
Interactive mode off.
ftp> mget 92-1*
200 PORT command successful.
150 Opening BINARY mode data connection for 92-10.gz (123728 bytes).
226 Transfer complete.
local: 92-10.gz remote: 92-10.gz 123728 bytes received in 2.8 seconds (43 Kbytes/s)
200 PORT command successful.
150 Opening BINARY mode data connection for 92-11.gz (113523 bytes).
226 Transfer complete.
local: 92-11.gz remote: 92-11.gz 113523 bytes received in 3.3 seconds (34 Kbytes/s)
200 PORT command successful.
150 Opening BINARY mode data connection for 92-12.gz (106290 bytes).
226 Transfer complete.
local: 92-12.gz remote: 92-12.gz 106290 bytes received in 2.2 seconds (47 Kbytes/s)

Here's a file in your eye

OK, now you know how to retrieve files from other computers. How about copying the other way? It's just about the same procedure, except that you use put rather than get. The following example shows how to copy a local file called rnr to a remote file called

ftp> put rnr
200 PORT command successful.
150 Opening ASCII mode data connection for
226 Transfer complete.
local: rnr remote:
168 bytes sent in 0.014 seconds (12 Kbytes/s)

(As with get, if you want to use the same name when you make the copy, leave out the second name.)

The mput command works just like the mget command does, only in the other direction. If you have a bunch of files whose names begin with uu and you want to copy most of them, issue the mput command, as in the following:

ftp> mput uu*
mput uupick? y
200 PORT command successful.
150 Opening ASCII mode data connection for uupick.
226 Transfer complete.
local: uupick remote: uupick
156 bytes sent in 0.023 seconds (6.6 Kbytes/s)
mput uupoll? y
200 PORT command successful.
150 Opening ASCII mode data connection for uupoll.
226 Transfer complete.
local: uupoll remote: uupoll
200 bytes sent in 0.013 seconds (15 Kbytes/s)
mput uurn? n

(As with mget, you can use the prompt command to tell it to go ahead and not to ask any questions.)

Most systems have protections on their files and directories that limit where you can copy files. Generally, you can use FTP only to put a file anywhere that you could create a file if you were logged in directly. If you're using anonymous FTP (see the section "Getting Files Anonymously," later in this chapter), you usually can't put any files to the other host.

A bunch of other file-manipulation commands are sometimes useful, as in the following example of the delete command:

delete somefile

This command deletes the file on the remote computer, assuming that the file permissions enable you to do so. The mdelete command deletes multiple files and works like mget and mput do. The mkdir command makes a new directory on the remote system (again assuming that you have permissions to do so), as in the following:

mkdir newdir

After you create a directory, you still have to use cd to change to that directory before you use put or mput to store files in it.

If you plan to do much file deleting, directory creation, and the like, it's usually much quicker to log in to the other system by using telnet to do your work and using the usual local commands.

What's with all these three-digit numbers?

You may notice that whenever you give a command to FTP, the response from the remote host begins with a three-digit number. (Or you may not notice, in which case, never mind.)

The three-digit number is there so that the FTP program, which doesn't know any English, can figure out what's going on. Each digit means something to the program.

Here's what the first digit means:

  1. It has begun to process your request but hasn't finished it.
  2. It has finished.
  3. It needs more input from you, such as when it needs a password after you enter your username, or it's an informational message.
  4. It didn't work but may if you try again.
  5. You lose

Here's what the second digit means: The second digit is a message subtype.

The third digit distinguishes messages that otherwise would have the same number (something that in the computer world would be unspeakably awful).

If a message goes on for multiple lines, all the lines except the last one have a dash rather than a space after the number.

Note: Most FTP users have no idea what the numbers mean, by the way, so now that you're one of the few who does know, you're an expert.

Getting Files Anonymously

So far, you have seen how to FTP to systems where you already have an account. What about the other 99.9 percent of the hosts on the net, where no one has ever heard of you?

You're in luck. On thousands of systems, you can log in with the username anonymous. For the password, enter your e-mail address. (This is strictly on the honor system -- if you lie, they still let you log in.) When you log in for anonymous FTP, most hosts restrict your access to only certain directories that are allowed to anonymous users. But you can hardly complain because anonymous FTP is provided free, out of sheer generosity.

Hello, anonymous!

When you log in, you frequently get a friendly message, like this one:

230- If your FTP client crashes or hangs shortly after login please try
230- using a dash (-) as the first character of your password. This will
230- turn off the informational messages that may be confusing your FTP
230- client.
230- This system may be used 24 hours a day, 7 days a week. The local
230- time is Thu Aug 12 12:15:10 1995.
230- You are user number 204 out of a possible total of 250.
230- All transfers to and from wuarchive are logged. If you don't like
230- this then disconnect now!
230- Wuarchive is currently a DEC Alpha AXP 3000, Model 400. Thanks to
230- Digital Equipment Corporation for their generous support of wuarchive.
230-Please read the file README
230- it was last modified on Mon May 17 15:02:13 1995 - 87 days ago
230 Guest login ok, access restrictions apply.

When you're logged in, you use the same commands to move around and retrieve files as you always do.

A few anonymous FTP tips

Here are a few items to remember when you're FTP-ing:

  • Some hosts limit the number of anonymous users or the times of day that anonymous FTP is allowed. Please respect these limits because no law says that the owner of the system can't turn off anonymous access.
  • Don't store files in the other computer unless the owner invites you to do so. Usually a directory called incoming or something similar is available where you can put stuff.
  • Some hosts allow anonymous FTP only from hosts that have names. That is, if you try to FTP anonymously from a host that has a number but no name, these hosts don't let you in. This problem occurs most often with personal computers, which, because they generally offer no services that are useful to other people, don't always have names assigned. If you have that problem, check with your local administrator to see whether it's possible to assign a name to your PC and to set up the reverse lookup database the remote host uses to figure out what your name is.

An FTP cheat sheet

Command Description
get old new Copies remote file old to local file new; can omit new if same name as old
put old new Copies local file old to remote file new; can omit new if same name as old
del xxx Deletes file xxx on remote system
cd newdir Changes to directory newdir on the remote machine
cdup Changes to next higher directory
lcd newdir Changes to directory newdir on the local machine
asc Transfers files in ASCII mode (use for text files)
bin Transfers files in binary or image mode (all other files)
quit Leaves FTP
dir pat Lists files whose names match pattern pat; if no pat, lists all files
mget pat Gets files whose names match pattern pat
mput pat Puts files whose names match pattern pat
mdel pat Deletes remote files whose names match pattern pat
prompt Turn name prompting on or off in mget and mput

Great Stuff on FTP

Hundreds of gigabytes of stuff are available for FTP, if you know where to find them. But before you start cruising FTP sites, a few words about strategy.

A word from those etiquette ladies again

Please recall that all anonymous FTP servers (hosts that allow you to log in for FTP without having to have an account there) exist purely because someone feels generous. Any or all can go away if the provider feels taken advantage of, so remember these rules:

  • Pay attention to restrictions on access times noted in the welcome message. Remember that servers are in time zones all over the world. If the server says to use it only between 6 p.m. and 8 a.m., but it's in Germany and you're in Seattle, you can use it between 9 a.m. and 11 p.m. your time.
  • Do not upload material unless you're invited to. (And don't upload material inappropriate to a particular archive -- we hope that this advice would be obvious, but experience suggests otherwise.)

Mirror, mirror, on the net, where are the files I want to get?

Many archives are mirrored, which means that the contents of an archive are copied mechanically from the home server to other servers. Usually, the mirroring systems are larger and faster than the home server, so it's easier to get material from the mirror than from the home system. Mirrors are usually updated daily, so everything on the home system is also at the mirrors.

When you have a choice of mirrors, use the one that's closest to you. You want the one that's closest in terms of the number of network links between you and it. But because the number of hops is practically impossible to figure out, use the mirror that's physically closest. In particular, use one in your own country if at all possible because international network links are relatively slow and congested.

A few words about navigation

All the FTP servers discussed in this chapter require you to log in using the username anonymous. For the password, use your e-mail address.

Many servers have a small file called README that you should retrieve the first time you use the server. This file usually contains a description of the material that's available and the rules for using the server.

If you log in to an FTP server and don't see any interesting files, look for a directory called pub (for public). For reasons lost in the mists of history, it's a tradition on UNIX systems to put all the good stuff there.

The FTP Hit Parade

This section lists some available FTP systems, including the following information:

  • Name and location of the system
  • Particular rules for use
  • What's there

UUNET Communications, Virginia
Accepts FTP only from hosts with registered names

UUNET is probably the largest archive available on the net. It has masses of software (mostly for UNIX in source form), archives of material posted on Usenet, files and documents from many publishers and vendors, and mirrors of many other archives around the net.


Mirrored at,,,,,, and

SIMTEL, the premier archive for MS-DOS material, also has a great deal of stuff for Macs, CP/M (remember that?), and UNIX. SIMTEL itself was an ancient DEC-20 computer at an Army base in New Mexico. It has long since shut down, but the mirror systems are still available, and someone is still updating and maintaining the archive.

Washington University, Missouri

This large program and file archive includes mirrors of many other programming archives, with megabytes of stuff for DOS, Windows, Macintosh, and other popular computer systems. WUARCHIVE also contains the largest collection of GIF and JPEG pictures (all suitable for family viewing, by the way) on the net.

Massachusetts Institute of Technology, Massachusetts

RTFM is the definitive archive of all the FAQs (frequently asked questions) messages on Usenet. Hence, RTFM is a treasure trove of information for everything from the state of the art in data compression to how to apply for a mortgage to sources of patterns for Civil War uniforms. Look in the directories pub/usenet-by-group and pub/usenet-by-hierarchy.

RTFM also has an experimental Usenet address database, containing the e-mail address of every person who has posted a message to Usenet in the past several years. That database is in pub/usenet-addresses.

Because RTFM is an extremely popular site and limits itself to 50 simultaneous non-MIT connections, it can be extremely difficult to get into. Sometimes it has taken us several days.

Internet Network Information Center, California

This central repository for information about the Internet includes copies of all the standards and RFC documents that define the network. Also, InterNIC has information about many other FTP archives available on the net.

The list of lists

A list of e-mail mailing lists is at (described earlier) in the directory /pub/usenet-by-group/news.lists in the files Publicly_Accessible_Mailing_Lists,_Part_01_14 through Publicly_Accessible_Mailing_Lists,_Part_14_14. (By the time you read this, it will probably have more than 14 parts, so the names will change appropriately.)

Ask Archie

Somewhere on the Internet is probably everything you really want and much more you might want if you knew that it existed. "But how do I find it?" you ask. Good question.

If it's software you're looking for, ask Archie.

If you know the name of what you're looking for -- or kind of know the name, enough so that you can come up with a reasonable guess -- Archie goes running around the world, checking database after database, looking for files that match your description.

Archie servers exist all over the world, but you should choose one close to home to help minimize traffic on the net. Different Archie servers get different amounts of use, so you may have to try a few before you find one with a reasonable response time. If everything you try seems painfully slow, try early in the morning or late at night, or try sending your Archie request by e-mail (see the section "E-mail Archie," later in this chapter).

Table 21-1 lists several Archie servers you can try. If you try one and it doesn't let you on because it's too full, chances are that it provides you with another list of Archie servers you can try. Eventually, you get on.

Table 21-1 Archie Servers

Server Name
New Jersey
New York
U.S.A. (run by AT&T)
Europe (Germany)
Europe (Finland)
Europe (Sweden)
Europe (Austria)
U.K. and Europe
New Zealand

You can access Archie servers in several ways:

  • If you have Archie client software (archie or xarchie), you can run it directly from your machine (see the sections "Plain ol' Archie" and "Xarchie," later in this chapter).
  • You can telnet to an Archie server (see the following section, "Telnet Archie").
  • You can e-mail your request to an Archie server (see the section "E-mail Archie," later in this chapter).

If you have Archie client software on your computer (archie or xarchie, which we describe later in this chapter, in the section "Plain ol' Archie"), that's the fastest way to get to Archie. Telnet is considerably slower; enough slower that it's usually just as easy to send your request by e-mail so that you don't have to wait around while it's processed.

Telnet Archie

Unless you have Archie client software available to you locally (try using the command archie or, on a machine with X Windows or one of its variants, such as Motif, xarchie), you probably want to telnet to an Archie server. Before you do, however, if you can, you probably want to start a log file (a file in which all the text displayed in your window is captured) because Archie's output may come fast and furiously, gushing filenames, host names, and Internet addresses that you really don't want to have to copy by hand if you can avoid it. If you're running on a machine with X Windows or one of its variants, such as Motif, in your xterm window, hold down Ctrl, press the left mouse button, and choose Log to File from the Main Options window. If you're not running X, it's worth asking around to see whether some locally available program can capture the text on the screen to a file.

Now choose a server, use telnet, and log in as archie, as in the following:

% telnet
Connected to
Escape character is '^]'.Archie
AIX telnet ( IBM AIX Version 3 for RISC System/6000
(C) Copyrights by IBM and by others 1982, 1991.
login: archie

Archie returns with an Archie prompt (it doesn't ask you for a password):


Telling Archie how to behave: The set and show commands

Every Archie server is set up with features you can tune to suit your needs. You may have to change them to make Archie do what you want. Not all Archie servers are alike, and you have to pay attention to how things are set up on the server you land on.

To see how the server you're on is set up, use the show command:

archie> show
# 'autologout' (type numeric) has the value '15'.
# 'mailto (type string) is not set.
# 'maxhits' (type numeric) has the value '100'.
# 'pager' (type boolean) is not set.
# 'search' (type string) has the value 'sub'.
# 'sortby' (type string) has the value 'none'.
# 'status' (type boolean) is set.
# 'term' (type string) has the value 'dumb 24 80'.

You can also use show to see specific values one at a time (try typing show term, show search, and so on). Although all these values are explained next, the variables you have to pay careful attention to are search and maxhits. It's also a good idea to set the pager, which tells Archie to stop after every screen full of text and wait for you to press the spacebar, to help control Archie's output.

Searching for something interesting

Normally Archie searches for a name that contains the string you type, disregarding uppercase and lowercase. So if you search for pine, it matches PINE, Pineapple, and spineless, among other things. If you use Archie much, you will want more control over the searching process, so you probably will want to use one of the other search methods for matching what you type. How much you know about the name of the file you're looking for should determine the search method you use.

To set the search method, use the set command:

archie> set search sub

The search methods Archie supports are called sub, subcase, exact, and regex. The following sections discuss how they work.

Sub method

The sub method searches to match the substring anywhere in the filename. This search is case insensitive, which means that case doesn't matter. If you have an idea of a character string that likely is contained in the filename, choose sub.

Subcase method

The subcase method searches to match the substring exactly as given anywhere in the filename. This search is case sensitive. Use this method only if you are sure about the case of the characters in the filename.

Exact method

The exact method searches for the exact filename you enter. This search is the fastest, and you should use it if you know exactly which file you're looking for.

Regex method

Use UNIX regular expressions to define the pattern for Archie's search. This is a particular kind of substring search, and Archie tries to match the expression to a string anywhere in the file's name. In regular expressions, certain characters take on special meaning, and regular expressions can get absurdly complicated, if you want.

  • If you know that the string begins the filename, start your string with the caret (^) to tie the string to the first position of the filename.
  • If you know that the file ends with a particular string, end your string with the dollar sign ($) to tie the string to the end of the filename.
  • The period (.) is used to specify any single character.
  • The asterisk (*) means zero or more occurrences of the preceding regular expression.
  • Use square brackets ([ and ]) to list a set of characters to match or a range of characters to match. Combined with a caret (^) in the first position, square brackets list a set of characters to exclude or a range not to include.
  • You can specify more than one range in the same search. If you have to use a special character as part of your string, put a backslash (\) in front of it.

To find any files containing the string birdie and ending with txt, for example, type this line:

prog ^birdie.*txt$

To find filenames containing numeric digits, type this line:

prog [0-9]

To exclude filenames containing lowercase letters, type this line:

prog [^a-z]

How long do you want to look?

The maxhits variable determines how many matches Archie tries to find. On many servers, the default for this number is 1,000 -- but for most searches that's ridiculous. If you know the name of the file you want, how many copies do you want to choose from? Ten or 20 should give you sufficient choice. But if you don't reset maxhits, Archie continues traveling around the net and looking for as many as 1,000 matches.

Remember too that Archie's output goes to your screen and maybe to your log file -- so think about how much data you can handle. After you decide just how much you want to know, set maxhits equal to that number (suppose that it's 100):

archie> set maxhits 100

Table 21-2 lists more set settings.

Table 21-2 Other Nifty Features to Set from Set
Variable What It Does

Sets how long Archie waits around for you to do something before kicking you off.


Sets the e-mail address used by the mail command.

pager When set, sends Archie's output through the pager program less, which stops after each screenful of output and waits for you to press the spacebar. Using the command set pager switches the pager from off to on or from on to off, so do a show before you change the pager setting so that you don't do the opposite of what you intend.
sortby Sorts Archie's output in one of the following orders: by hostname in alphabetical order or reversed (rhostname); by most recently modified (time) or oldest (rtime); by size, largest first, or smallest first (rsize); by filename in lexical order, or reverse (rfilename); unsorted (usually the default). You type something like set sortby time.
status If set, Archie shows the progress of the search. Can be reassuring when Archie is very slow.
term Sets the type of terminal you're using so that Archie can tailor your output (try vt100 if you're not sure).

Find it!

Archie's basic command, the prog command, takes this form:

prog searchstring

And that's it. That command launches the whole search. The nature and scope of the search are determined by the variables you set or didn't set.

Suppose that you want to find what kind of font software is around:

archie> prog font

Host (
Last updated 00:23 31 Jul 1993

Location: /pub/mups
FILE rw-r--r-- 4107 Nov 16 1992 font.f
FILE rw-r--r-- 9464 Nov 16 1992 fontmups.lib

Host (
Last updated 04:22 11 Aug 1993
Location: /pub/packages/gnu
FILE rw-r--r-- 628949 Mar 9 19:16 fontutils-0.6.tar.z

Host (
Last updated 05:24 7 May 1993

Location: /pub/packages/gnu
FILE rw-r--r-- 633005 Oct 28 1992 fontutils-0.6.tar.z
Location: /pub/gnu

FILE rw-r--r-- 1527018 Nov 13 16:11 ghostscript-fonts-2.5.1.tar.z

Host (
Last updated 08:17 31 Jul 1993

Location: /systems/att7300/csvax
FILE rw-r--r-- 1763981 Mar 5 23:30 groff-font.tar.z

Host (
Last updated 06:26 10 Aug 1993

Location: /informatik.public/comp/typesetting/tex/tex3.14/DVIware/laser-sett ers/umd-dvi/dev
FILE rw-r--r-- 51 Sep 24 1991 fontdesc

Host (
Last updated 04:48 7 Aug 1993

Host (
Last updated 04:48 7 Aug 1993

Location: /software/unix/TeX/dviware/umddvi/misc
FILE rw-rw-r-- 607 Oct 2 1990 fontdesc

As you quickly find out, a great deal of duplication is out there. If you're looking for variety, you can make a series of inquiries that eliminate the stuff you've already found and make subsequent queries more fruitful.

After you've found it, or some of it, what is it?

There sure is a great deal of stuff out there. But what the heck is it? Sometimes Archie can help you to figure that out. We say "sometimes" because Archie's information is only as good as that provided by the folks who hung the stuff out there in the first place. But for those packages that have been supplied with a description, the whatis command might provide you with useful information. The whatis command is another kind of search -- it searches a database of software descriptions provided by the individual archive managers and looks for the string you provide rather than search directories for filenames. If you're looking for software of a specific nature, regardless of what it's called, you can use the whatis command to augment your search.

If you use whatis rather than prog in your search for font software, for example, you get the following:

afm2tfm Translate from Adobe to TeX page support)
gftodvi Converts from metafont to DVI format
gftopk Converts from metafont to PK format
gftopxl Converts from metafont to PXL format
her2vfont Hershey fonts to 'vfont' rasterizer
hershey Hershey Fonts
hershey.f77 Hershey Fonts in Fortran 77
hershtools Hershey font-manipulation tools and data
hp2pk Hewlett-Packard font-conversion tool
jetroff/bfont Jetroff Basic Fonts The JTeX .300pk fonts (Japanese language support)
k2ps Print text files with Kanji; uses JTeX fonts (Japanese language support)
mkfont Convert ASCII font descriptions to or from device-independent troff (ditroff) format
ocra-metafont METAFONT sources for the OCR-A "Alphanumeric Character Sets for Optical Recognition"

Note: The string font appears in some of these filenames, but only in the description of others.

You can't get there from here

Archie is great for finding stuff but no help at all in retrieving stuff for you. (Xarchie is a big help, however, so if you have it, you probably want to use it.) To actually get stuff off the net, you have to do what Archie did to find it in the first place: Use FTP to copy it from the archive in which it lives back to your computer.

If you're on a quest for related software, after you have FTP'd to a host that has relevant stuff, you might want to look around in the directory containing the file you know about (use the FTP dir command to list the contents of a remote directory) and in any subdirectories near it.

Plain ol' Archie

If you try to type the archie command directly and it returns a comment telling you how to use it, you're in luck. You can use the Archie client software directly without telnetting to an Archie server. One big advantage of using Archie from a command line is that you can easily redirect its output to a file, as in the following:

$ archie -ld font > fontfiles

(This line stores the result of the search in a file called fontfiles, which you can later peruse at your leisure by using any text editor or file viewer.) Be aware, however, that the client software is limited and that you may want to telnet to an Archie server to take advantage of more of Archie's capabilities. For one, you can't set all the tuning variables described in the section "Telnet Archie," earlier in this chapter. Also, you cannot use the whatis command.

Using Archie directly means using a command line that may get complex. You can specify the kind of search and the Archie server you want to use and format the output to a limited extent. If you supply the search string and no modifiers, Archie defaults to an exact search with a maximum of 95 matches. For details about choosing a search method, and other available options, see the section "Telnet Archie," earlier in this chapter.

Table 21-3 lists the modifiers you can supply.

Table 21-3 Search String Modifiers
Archie Modifier Telnet Equivalent Archie Meaning
-c subcase Sets search mode for a case- sensitive substring
-e exact Sets search mode for an exact string match (default)
-r regex Sets search mode for a regular expression search
-s sub Sets search mode for a substring search
-l Lists one match per line
-t sortby Sorts Archie's output by date, newest first
-m# maxhits Sets the maximum number of matches to return (default 95)
-h Specifies the Archie server to use
-L Lists the known Archie servers and the current default

For example, to use the server to do a regular expression search for no more than 50 files that contain digits in their names:

$ archie -r -m50 -h "[0-9]"

(The pattern [0-9] is enclosed in double quotes to avoid having it misinterpreted as the name of a file to match locally. In general, put your patterns in quotes if they contain anything other than letters and digits.)


If you're lucky enough to be running X Windows or a near relative of X Windows (such as Motif) and xarchie is available to you, use it. It enables you to set most Archie settings from the main menu and the settings menu. Furthermore, after completing the search, xarchie enables you to scroll through the hosts and filenames and click the selections that interest you (see Figure 21-1).

After you find something you want, you can choose Ftp from the main menu; xarchie turns itself into a junior version of the FTP program, retrieves the remote file for you, and puts the file in your current directory or in the directory you specify from the settings menu (see Figure 21-2).

E-mail Archie

If you're unable to telnet to an Archie server either because of the limitations of your network connection or because you have been unsuccessful in logging on to an Archie server, you can send your request to Archie by using e-mail. If you're planning to launch a major search and don't want to wait for the response, using Archie from e-mail is a good way to go.

Not all of telnet Archie's capabilities are available to you through e-mail, but you can still carry out a substantial search. To send a request to Archie, send mail to archie@servername, where servername is any of the Archie servers mentioned earlier in this chapter.

The body of the e-mail message you send contains the commands you want to issue to Archie. Enter as many commands as you want, each beginning in the first column of a line. Choose from the commands shown in Table 21-4.

Table 21-4 E-Mail Archie Commands
Command What It Does
prog Searches for matching names; assumes a regular expression search (regex)
whatis Supplies the keyword for the software-description database search
compress Sends the reply in a compressed and encoded format
servers Returns a list of Archie servers
path Gives the e-mail address you want Archie to use to respond to your mail request, if the automatically generated return address on your e-mail isn't correct
help Returns the help text for e-mail Archie
quit Ends the request to Archie

The most common commands are prog and whatis, which take exactly the same form you use in telnet Archie. For example:

prog font.*txt
whatis font

Archie has become extremely popular, so popular that it's common for each server to be handling several dozen requests at a time, all the time, all day. That means that telnet or command-line Archie can be sl-l-l-o-o-o-w-w-w. If it's going to be that slow, you may as well send in your request by e-mail and go do something else. As soon as Archie finishes your request, it drops its answer in your mailbox, where you can peruse it at your leisure. An added advantage of e-mail is that if the response turns out to be 400 lines long, it's easier to deal with a 400-line e-mail message than with 400 lines of stuff flying off your screen.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)