Navigating the File System

Unless you plan to do all your work in a single directory, you'll create directories in which to organize your files, and you'll move around between them according to what you're working on at the moment. The following sections describe how the shell makes it easier to perform repetitive location changes and to name directories into which you want to move. Chapter 13, Navigating the File System, provides more information about moving through the file system.

How To Bounce Easily Between Two Directories

When you need to run commands in two different directories, it's useful to know how to easily jump back and forth between them. tcsh lets you return to the last directory you were in, like this:

% cd -

Successive cd – commands flip between your current and previous directories.

Another method (that works for both csh and tcsh) uses the pushd command instead of cd. pushd, followed by a directory name argument, shoves your current directory to a memory stack, and then changes to the new directory. pushd with no argument exchanges your current location with the remembered one.

Suppose I want to alternate between ˜/Database/Parts and ˜/Database /Suppliers. I can do that the hard way, like this:

% cd ˜/Database/Parts
% cd ../Suppliers
% cd ../Parts
% cd ../Suppliers
% cd ../Parts
etc.

pushd makes this job easier, as shown below. The first command changes the current directory to ˜/Database/Parts. The second command stores the current directory on the stack and ...

Get Using csh & tcsh now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.