User Commands cd(1)
NAME
cd, chdir, pushd, popd, dirs - change working directory
SYNOPSIS
/usr/bin/cd [directory]
shcd [argument]
chdir [argument] cshcd [dir]
chdir [dir] pushd [+n | dir] popd [+n]dirs [-l]
ksh, ksh93cd [-L] [-P] [arg]
cd old new
DESCRIPTION
/usr/bin/cd
The /usr/bin/cd utility changes the current directory in the
context of the cd utility only. This is in contrast to the
version built into the shell. /usr/bin/cd has no effect on
the invoking process but can be used to determine whether or not a given directory can be set as the current directory. shThe Bourne shell built-in cd changes the current directory
to argument. The shell parameter HOME is the default argu-
ment. The shell parameter CDPATH defines the search path for the directory containing argument. Alternative directory names are separated by a colon (:). The default path is(specifying the current directory). The current SunOS 5.11 Last change: 8 Apr 2008 1
User Commands cd(1)
directory is specified by a null path name, which can appearimmediately after the equal sign or between the colon delim-
iters anywhere else in the path list. If argument beginswith `/', `.', or `..', the search path is not used. Other-
wise, each directory in the path is searched for argument.cd must have execute (search) permission in argument.
Because a new process is created to execute each command, cd
would be ineffective if it were written as a normal command; therefore, it is recognized by and is internal to the shell. (See pwd(1), sh(1), and chdir(2)).chdir is just another way to call cd.
cshIf dir is not specified, the C shell built-in cd uses the
value of shell parameter HOME as the new working directory. If dir specifies a complete path starting with `/', `.', or `..', dir becomes the new working directory. If neither caseapplies, cd tries to find the designated directory relative
to one of the paths specified by the CDPATH shell variable. CDPATH has the same syntax as, and similar semantics to, thePATH shell variable. cd must have execute (search) permis-
sion in dir. Because a new process is created to executeeach command, cd would be ineffective if it were written as
a normal command; therefore, it is recognized by and isinternal to the C-shell. (See pwd(1), sh(1), and chdir(2)).
chdir changes the shell's working directory to directory dir. If no argument is given, change to the home directory of the user. If dir is a relative pathname not found in the current directory, check for it in those directories listedin the cdpath variable. If dir is the name of a shell vari-
able whose value starts with a /, change to the directory named by that value. pushd pushes a directory onto the directory stack. With no arguments, exchange the top two elements.+n Rotate the n'th entry to the top of the stack and cd
to it. dir Push the current working directory onto the stack and change to dir.popd pops the directory stack and cd to the new top direc-
tory. The elements of the directory stack are numbered fromSunOS 5.11 Last change: 8 Apr 2008 2
User Commands cd(1)
0 starting at the top. +n Discard the n'th entry in the stack. dirs prints the directory stack, most recent to the left; the first directory shown is the current directory. With the-l argument, produce an unabbreviated printout; use of the ~
notation is suppressed. ksh, ksh93The Korn shell built-in cd command can be in either of two
forms. In the first form it changes the current directory toarg. If arg is - the directory is changed to the previous
directory. The shell variable HOME is the default arg. The environment variable PWD is set to the current directory. If the PWD is changed, the OLDPWD environment variable shall also be changed to the value of the old working directory, that is, the current working directory immediately prior tothe call to change directory (cd). The shell variable CDPATH
defines the search path for the directory containing arg. Alternative directory names are separated by a colon (:). The default path is null (specifying the current directory). The current directory is specified by a null path name, which can appear immediately after the equal sign or between the colon delimiters anywhere else in the path list. If arg begins with a `/', `.', or `..', then the search path is not used. Otherwise, each directory in the path is searched forarg. If unsuccessful, cd attempts to change directories to
the pathname formed by the concatenation of the value of PWD, a slash character, and arg.-L Handles the operation dot-dot (..) logically. Symbolic
link components are not resolved before dot-dot com-
ponents are processed.-P Handles the operand dot-dot physically. Symbolic link
components are resolved before dot-dot components are
processed.If both -L and -P options are specified, the last option to
be invoked is used and the other is ignored. If neither -L
nor -P is specified, the operand is handled dot-dot logi-
cally.The second form of cd substitutes the string new for the
string old in the current directory name, PWD and tries toSunOS 5.11 Last change: 8 Apr 2008 3
User Commands cd(1)
change to this new directory.The cd command cannot be executed by rksh. Because a new
process is created to execute each command, cd would be
ineffective if it were written as a normal command; there-
fore, it is recognized by and is internal to the Korn shell. (See pwd(1), sh(1), and chdir(2)). OPERANDS The following operands are supported:directory An absolute or relative pathname of the direc-
tory that becomes the new working directory.The interpretation of a relative pathname by cd
depends on the CDPATH environment variable.OUTPUT
If a non-empty directory name from CDPATH is used, an abso-
lute pathname of the new working directory is written to the standard output as follows:"%s\n",
Otherwise, there is no output. ENVIRONMENT VARIABLES See environ(5) for descriptions of the following environmentvariables that affect the execution of cd: LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
CDPATH A colon-separated list of pathnames that refer to
directories. If the directory operand does not begin with a slash ( / ) character, and the firstcomponent is not dot or dot-dot, cd searches for
directory relative to each directory named in the CDPATH variable, in the order listed. The new working directory sets to the first matching directory found. An empty string in place of adirectory pathname represents the current direc-
tory. If CDPATH is not set, it is treated as if it were an empty string. HOME The name of the home directory, used when no directory operand is specified.SunOS 5.11 Last change: 8 Apr 2008 4
User Commands cd(1)
OLDPWD A pathname of the previous working directory, usedby cd-.
PWD A pathname of the current working directory, setby cd after it has changed to that directory.
EXIT STATUSThe following exit values are returned by cd:
0 The directory was successfully changed. >0 An error occurred.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes: csh, ksh, sh____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
ksh93____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu ||_____________________________|_____________________________|
| Interface Stability | Uncommitted ||_____________________________|_____________________________|
SEE ALSO
csh(1), ksh(1), ksh93(1), pwd(1), sh(1), chdir(2), attri-
butes(5), environ(5), standards(5)SunOS 5.11 Last change: 8 Apr 2008 5