cd(1) General Commands Manual cd(1)
cd - Changes the current working directory
The C shell has a built-in version of the cd command. If you are using the C shell, and want to guarantee that you are using the command
described here, you must specify the full path /usr/bin/cd. See the csh(1) reference page for a description of the built-in command.
Interfaces documented on this reference page conform to industry standards as follows:
Refer to the standards(5) reference page for more information about industry standards and associated tags.
The pathname (either full or relative) to be used as the new working directory.
If (hyphen) is specified as the directory, the cd command changes your current (working) directory to the directory name saved in
the environment variable OLDPWD.
The cd command moves you from your present directory to another directory. You must have execute (search) permission in the specified
If you do not specify a directory, cd moves you to your login directory ($HOME in ksh and sh environments, or $home in csh environment).
If the specified directory name is a full pathname, it becomes the current working directory. A full pathname begins with a / (slash) for
the root directory, with a . (dot) for the current working directory, or with a .. (dot dot) for the parent directory. If the directory
name is not a full pathname, cd searches for it relative to one of the paths specified by the $CDPATH shell variable (or $cdpath csh vari-
able). This variable has the same syntax as, and similar semantics to, the $PATH shell variable (or $path csh variable).
The following exit values are returned:
The directory was successfully changed. An error occurred.
To change to your home directory, enter: cd To change to a new directory, enter: cd /usr/include
This changes the current working directory to /usr/include. Now file pathnames that do not begin with / or ../ specify files located
in /usr/include. To go down one level of the directory tree, enter: cd sys
If the current working directory is /usr/include and if it contains a subdirectory named sys, then /usr/include/sys becomes the cur-
rent working directory. To go up one level of the directory tree, enter: cd ..
The special filename .. (dot dot) always refers to the directory immediately above the current working directory.
The following environment variables affect the execution of cd: A colon-separated list of pathnames that refer to directories. If the
directory operand does not begin with a / (slash) character, and the first component is not (dot) or cd command will search for directory
relative to each directory named in the CDPATH variable, in the order listed. The new working directory will be set to the first matching
directory found. An empty string in place of a directory pathname represents the current directory. If CDPATH is not set, it will be
treated as if it were an empty string. The name of the home directory, used when no directory operand is specified. Provides a default
value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default
locale is used. If any of the internationalization variables contain an invalid setting, the utility behaves as if none of the variables
had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines
the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte char-
acters in arguments). Determines the locale for the format and contents of diagnostic messages written to standard error. Determines the
location of message catalogues for the processing of LC_MESSAGES. A pathname of the previous working directory, used by the cd - form of
the command. The cd command sets this variable to your current working directory before changing to a new current directory. A pathname
of the current working directory, set by the cd command after it has changed to that directory.
Commands: csh(1), ksh(1), pwd(1), Bourne shell sh(1b), POSIX shell sh(1p)