Pushd and popd

Last updated
pushd & popd
Original author(s) Bill Joy
Developer(s) Various open-source and commercial developers
Operating system Unix, Unix-like, DOS, Windows, ReactOS
Platform Cross-platform
Type Command
Directory paths stack. Elements are pushed onto and popped from the top. Data stack.svg
Directory paths stack. Elements are pushed onto and popped from the top.

pushd and popd are shell commands that together allow the user to revert to a previous working directory via the command line. They use a stack data structure for directory paths. pushd pushes the working directory path onto the stack and changes to the specified directory, and popd pops the most recent item from the stack and changes directory to the popped value. [1] [2] [3] [4]

Contents

Behavior varies if no argument is passed to pushd. On Unix, the command swaps the top two directories on the stack, which toggles between them. On Windows, the command lists the paths in the stack except for the current one.

The commands are widely available as builtin commands in many shells, such as Bash, [5] Command Prompt, PowerShell, C shell, tcsh, 4DOS, Hamilton C shell, KornShell, and FreeCOM. [6]

The stack of directory paths can be displayed via the dirs Unix command or Get-Location -stack PowerShell command. The working directory is at the top of the stack.

The first Unix shell to provide a directory stack was Bill Joy's C shell.[ citation needed ] The syntax for pushing and popping directories is essentially the same as that used now. [7] [8]

Examples

Unix-like

[user@server /usr/ports] $ pushd/etc /etc /usr/ports[user@server /etc] $ popd/usr/ports[user@server /usr/ports] $

Command Prompt and ReactOS

C:\Users\root>pushd C:\Users C:\Users>popdC:\Users\root>

See also

References

  1. Pushd - change directory/folder - Windows CMD - SS64.com
  2. Popd - Windows CMD - SS64.com
  3. Microsoft TechNet Pushd article
  4. Microsoft TechNet Popd article
  5. Bash Reference Manual: Directory Stack Builtins
  6. "FreeCOM - FreeDOS". Archived from the original on 2021-05-08. Retrieved 2019-07-25.
  7. Chapter 14 – 14.6 The Shells' pushd and popd Commands
  8. man tcsh "TCSH(1)". Archived from the original on 2014-03-10. Retrieved 2014-11-03.

Further reading