> For the complete documentation index, see [llms.txt](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/txt-files/pushd.md).

# pushd

## pushd

The `pushd` command in Linux is used to push the current directory onto the directory stack. The directory stack is a list of directories that have been recently accessed. You can use the `pushd` command to save the current directory so that you can easily return to it later.

The syntax for the `pushd` command is as follows:

```
pushd directory
```

The `directory` argument is the directory that you want to push onto the directory stack.

Here is an example of how to use the `pushd` command to push the current directory onto the directory stack:

```
pushd /tmp
```

This command will push the current directory, which is likely `/home/user`, onto the directory stack. The directory stack will now contain two directories: `/home/user` and `/tmp`.

You can use the `popd` command to pop the top directory off the directory stack and change to that directory.

Here is an example of how to use the `popd` command to change to the directory that was pushed onto the directory stack:

```
popd
```

This command will pop the top directory off the directory stack, which is `/tmp`, and change to that directory.

The `pushd` and `popd` commands are a useful tool for managing the directory stack. You can use them to quickly switch between directories that you have recently accessed.

Here are some of the benefits of using the `pushd` and `popd` commands:

* They can be used to quickly switch between directories that have been recently accessed.
* They can be used to save the current directory so that you can easily return to it later.
* They can be used to organize your directories.
* They can be used to troubleshoot problems with directories.

If you are working with directories, you should make sure to learn how to use the `pushd` and `popd` commands. They are a valuable tool for managing the directory stack.

## help

```
pushd: pushd [-n] [+N | -N | dir]
    Add directories to stack.
    
    Adds a directory to the top of the directory stack, or rotates
    the stack, making the new top of the stack the current working
    directory.  With no arguments, exchanges the top two directories.
    
    Options:
      -n        Suppresses the normal change of directory when adding
                directories to the stack, so only the stack is manipulated.
    
    Arguments:
      +N        Rotates the stack so that the Nth directory (counting
                from the left of the list shown by `dirs', starting with
                zero) is at the top.
    
      -N        Rotates the stack so that the Nth directory (counting
                from the right of the list shown by `dirs', starting with
                zero) is at the top.
    
      dir       Adds DIR to the directory stack at the top, making it the
                new current working directory.
    
    The `dirs' builtin displays the directory stack.
    
    Exit Status:
    Returns success unless an invalid argument is supplied or the directory
    change fails.
```
