From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The pwd command
The pwd command
Original author(s)AT&T Bell Laboratories
Developer(s)Various open-source and commercial developers
Initial releaseJune 1974; 46 years ago (1974-06)
Operating systemMultics, Unix, Unix-like, V, Plan 9, Inferno, SpartaDOS X, PANOS, Windows CE, KolibriOS
Licensecoreutils: GPLv3+

In Unix-like and some other operating systems, the pwd command (print working directory)[1][2][3][4][5] writes the full pathname of the current working directory to the standard output.[6][7][8][9][10]


Multics had a pwd command (which was a short name of the print_wdir command)[11] from which the Unix pwd command originated.[12] The command is a shell builtin in most Unix shells such as Bourne shell, ash, bash, ksh, and zsh. It can be implemented easily with the POSIX C functions getcwd() or getwd().

It is also available in the operating systems SpartaDOS X,[13] PANOS,[14] and KolibriOS.[15] The equivalent on DOS (COMMAND.COM) and Microsoft Windows (cmd.exe) is the cd command with no arguments. Windows PowerShell provides the equivalent Get-Location cmdlet with the standard aliases gl and pwd. On Windows CE 5.0, the cmd.exe Command Processor Shell includes the pwd command.[16]

pwd as found on Unix systems is part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX.1 and the Single Unix Specification.[17] It appeared in Version 5 Unix.[18] The version of pwd bundled in GNU coreutils was written by Jim Meyering.[19]

The numerical computing environments MATLAB and GNU Octave include a pwd function with similar functionality.[20][21] The OpenVMS equivalent is show default.

*nix examples[edit]

Command Explanation
pwd Display the current working directory. Example: /home/foobar
pwd -P Display the current working directory physical path - without symbolic link name, if any. Example: If standing in a dir /home/symlinked, that is a symlink to /home/realdir, this would show /home/realdir
pwd -L Display the current working directory logical path - with symbolic link name, if any. Example: If standing in a dir /home/symlinked, that is a symlink to /home/realdir, this would show /home/symlinked

Note: POSIX requires that the default behavior be as if the -L switch were provided.

Working directory shell variables[edit]

POSIX shells set the following environment variables while using the cd command:[22]

The previous working directory (as set by the cd command).
The current working directory (as set by the cd command).

See also[edit]


  1. ^ Unix Time-Sharing System: Unix Programmer's Manual (PDF). 1 (7th ed.). Bell labs. January 1979. p. 142. Archived from the original (PDF) on 2005-05-20.
  2. ^ Minix MAN page
  3. ^ Linux MAN page
  4. ^ GNU Coreutils MAN page
  5. ^ Bell Labs Plan 9 MAN page
  6. ^ POSIX Standard (IEEE Std 1003.1) pwd page
  7. ^ DEC OSF/1 MAN page
  8. ^ Apple OS X MAN page
  9. ^ OpenBSD MAN page
  10. ^ OpenSolaris MAN page
  11. ^ "working_dir, wd, print_wdir, pwd (Multics help segment)". MIT. Retrieved 7 March 2020.
  12. ^ Van Vleck, Tom. "Unix and Multics". Retrieved 7 March 2020.
  13. ^ SpartaDOS X 4.48 User Guide
  14. ^
  15. ^
  16. ^ "Command Processor Commands (Windows CE 5.0)".
  17. ^ wc – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
  18. ^ pwd(1) – FreeBSD General Commands Manual
  19. ^ pwd(1) – Linux User's Manual – User Commands
  20. ^
  21. ^
  22. ^ POSIX Standard (IEEE Std 1003.1) cd page

Further reading[edit]

External links[edit]