![]() The pwd command | |
Original author(s) | AT&T Bell Laboratories |
---|---|
Developer(s) | Various open-source and commercial developers |
Initial release | June 1974 |
Written in | C |
Operating system | Multics, Unix, Unix-like, V, Plan 9, Inferno, SpartaDOS X, PANOS, Windows CE, KolibriOS |
Platform | Cross-platform |
Type | Command |
License | coreutils: GPLv3+ Plan 9: MIT License |
pwd
(print working directory) [1] [2] [3] is a shell command that reports the working directory path to standard output. [4] [5] [6] [7] [8] [9] [10]
Although often associated with Unix, its predecessor Multics had a pwd
command (which was a short name of the print_wdir
command [11] ) from which the Unix command originated. [12] The command 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. [13] It appeared in Version 5 Unix. [14] The version bundled in GNU Core Utilities was written by Jim Meyering. [15]
The command is available in other shells and operating systems including SpartaDOS X, [16] PANOS, [17] and KolibriOS. [18] PowerShell provides pwd
as an alias for the cmdlet Get-Location
. An equivalent command in COMMAND.COM and Command Prompt is the cd
command with no arguments. On Windows CE 5.0, cmd.exe
includes a pwd
command. [19] The OpenVMS equivalent is show default
.
The numerical computing environments MATLAB and GNU Octave include a pwd
function with similar functionality. [20] [21]
The command is implemented as a shell builtin in many Unix shells including sh, ash, bash, ksh, and zsh. It can be implemented with the POSIX getcwd()
or getwd()
functions.
The following examples are based on a typical Unix-based implementation.
With no arguments, the command writes the working directory path to the terminal:
$ cd /home/example $ pwd /home/example
Display the working directory without any symbolic link info. If at a directory /home/symlinked that is a symlink to /home/realdir:
$ cd /home/symlinked $ pwd -P /home/realdir
Display the working directory with symbolic link info. Note: POSIX requires that the default behavior be as if the -L
switch were provided.
$ pwd -L /home/symlinked
POSIX shells set the following environment variables while using the cd
command: [22]
pushd
and popd