cd
This subchapter looks at cd, a UNIX (and Linux) command.
cd is used to Change Directory.
cd is a builtin command in bash and csh. There is also an external utility with the same name and functionality.
cd is used to change the directory you are working in. You type the command cd followed by a space and then the directory (folder) that you want to change to.
The chdir (change directory) command, the predecessor of cd, was described in the first UNIX book, UNIX Programmers Manual, by Ken Thompson and Dennis Ritchie, published November 3, 1971.
change directory example
For the purposes of an example, we need to first find a directory to change to. Type the command ls -F.
$ ls -F
Desktop/ Music/ file01.txt
Documents/ Pictures/ file02.txt
Downloads/ Public/ names
Library/ Send registration@ numberfile.txt
Movies/ Sites/ testdir/
$
Your listing will be different than this one. Look for any name that has a slash ( / ) after it and use it as the directory_name in the following example. If you created the testdir in the quick tour subchapter, then use the second example listed here.
$ cd directory_name
admins-power-mac-g5:directory_name admin$
If you created the testdir in the quick tour subchapter, then use the following example:
$ cd testdir
admins-power-mac-g5:testdir admin$
Use the pwd command to confirm that you are now in your new directory.
$ pwd
/Users/admin/testdir
admins-power-mac-g5:testdir admin$
Use the cd command without any additional arguments to return to your home directory from anywhere.
$ cd
admins-power-mac-g5:~ admin$
Use the pwd command to confirm that you are now back in your home directory.
$ pwd
/Users/admin
admins-power-mac-g5:~ admin$
return to home directory
You can always return to your home directory from anywhere by typing cd command all by itself.
$ cd
admins-power-mac-g5:~ admin$
If the HOME variable is set (which is normal), then you can use it to return to your home directory.
$ cd $HOME
admins-power-mac-g5:~ admin$
return to previous directory
To return to the previous directory, type cd ~-
admins-power-mac-g5:~ admin$ cd testdir
changing to the testdir directory
admins-power-mac-g5:testdir admin$ cd ../Library
changing to the Library directory
admins-power-mac-g5:Library admin$ cd ~-
changing back to the testdir directory, the immediately preceding directory
admins-power-mac-g5:testdir admin$
go one level up
Type cd ../ to go up one directory level. The following exampel starts in the testdir directory and goes up one level to the home directory.
admins-power-mac-g5:testdir admin$ cd ../
changing to the home directory, one level up from the testdir directory
admins-power-mac-g5:~ admin$
You can type a series of ../ to go up multiple directories. cd ../../ will go up two levels. cd ../../../ will go up three levels. And so on.
common cd errors
The two most common cd errors:
- Attempting to cd to a file. You can only cd to a directory.
- Attempting to cd to a directory that doesnt exist. The directory must already exist.
PC-DOS equivalent
cd .. is the UNIX equivalent of the MS-DOS or PC-DOS command CD... You can add the PC-DOS equivalent to your shell session with the alias command. To make the change permanent, add the following line to the .bashrc file in your home directory.
$ alias CD..="cd .."
advanced topic
The following is an advanced topic. I am placing it in this chapter so that you can easily find it when you need it in the future.
If you use cd to change to a symlinked directory, pwd will show the logical symlinked path rather than the actual physical path. You can use the -P option to force the change of directory to be resolved to the actual physical path.
$ cd -P /symlink
$ pwd
$ /Users/admin
$
other
On November 8, 2010, Ramesh Natarajan named this the number 14 most frequently used UNIX/Linux command at this web page 50 Most Frequently Used UNIX / Linux Commands (With Examples).
In June 2009, Ken Milberg named this command as one of the Top 50 universal UNIX commands at this web page Top 50 Universal INIX commands. Note that this web page requires agreeing to be spammed before you can read it.
comments, suggestions, corrections, criticisms
free music player coding example
Coding example: I am making heavily documented and explained open source code for a method to play music for free almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).
View music player in action: www.musicinpublic.com/.
Create your own copy from the original source code/ (presented for learning programming).
Because I no longer have the computer and software to make PDFs, the book is available as an HTML file, which you can convert into a PDF.
Names and logos of various OSs are trademarks of their respective owners.