29.2 C
New York

Pushd and Popd Commands in Linux


The pushd and popd commands in Linux provide a convenient way to work with the directory stack, allowing users to manage and change the current working directory efficiently. Despite their powerful capabilities, these commands are often overlooked and underused. In this tutorial, we will explore how to leverage pushd and popd for effective navigation within the system’s directory tree.

Directory Stack

The directory stack maintains a list of previously visited directories. The dirs command displays the contents of the directory stack. Directories are added to the stack using pushd and removed using popd. The current working directory is always at the top of the stack.

Pushd Command

The syntax for pushd is as follows:


For example, to navigate to the /var/www directory and save the current directory to the stack, you would use:

~$ pushd /var/www

The command above prints the directory stack, where ~ represents the directory where the pushd command was executed.

To add another directory to the stack, such as /opt, you can use:

/var/www$ pushd /opt

To suppress changing to a directory, use the -n option:

/opt$ pushd -n /usr/local

The +N and -N options allow navigation to the Nth directory in the stack, counting from left to right or right to left.

Popd Command

The popd command removes the top directory from the stack and navigates to the new top directory:

/opt$ popd

The -n option suppresses the default directory change:

/opt$ popd -n

Similar to pushd, popd accepts +N and -N options for removing the Nth directory from the stack.


While the cd command is commonly used for directory navigation, pushd and popd can significantly enhance productivity for those who spend a lot of time on the command line. They provide a flexible and efficient way to manage the directory stack.

If you have any questions or feedback, feel free to leave a comment.

Related articles

Recent articles