pwd
pwd | |
---|---|
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.
Examples
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
Shell variables
POSIX shells set the following environment variables while using the cd
command:[22]
- OLDPWD
- The previous working directory
- PWD
- The current working directory
See also
- Breadcrumb (navigation), an alternative way of displaying the work directory
- List of POSIX commands
pushd
andpopd
References
- ^ "pwd(1) [minix man page]". www.unix.com.
- ^ "pwd - print name of current/working directory - man page". www.mankier.com.
- ^ "GNU Coreutils". www.gnu.org.
- ^ Unix Time-Sharing System: Unix Programmer's Manual (PDF). Vol. 1 (7th ed.). Bell labs. January 1979. p. 142. Archived from the original (PDF) on 2005-05-20.
- ^ "pwd(1) [plan9 man page]". www.unix.com.
- ^ "pwd". pubs.opengroup.org.
- ^ "pwd(1) [osf1 man page]". www.unix.com.
- ^ "Apple OS X MAN page".
- ^ "pwd(1) - OpenBSD manual pages". man.openbsd.org.
- ^ "pwd(1) [opensolaris man page]". www.unix.com.
- ^ "working_dir, wd, print_wdir, pwd (Multics help segment)". MIT. Retrieved 7 March 2020.
- ^ Van Vleck, Tom. "Unix and Multics". Multicians.org. Retrieved 7 March 2020.
- ^ The Single UNIX Specification, Version 5 from The Open Group – Shell and Utilities Reference,
- ^ FreeBSD General Commands Manual –
- ^ Linux User Manual – User Commands –
- ^ "SpartaDOS X 4.48 User Guide" (PDF).
- ^ "Chris's Acorns: Panos". chrisacorns.computinghistory.org.uk.
- ^ "Shell - KolibriOS wiki". wiki.kolibrios.org.
- ^ "Command Processor Commands (Windows CE 5.0)". docs.microsoft.com.
- ^ "Identify current folder - MATLAB pwd". www.mathworks.com.
- ^ "Function Reference: pwd". octave.sourceforge.io.
- ^ "cd". pubs.opengroup.org.
Further reading
- McElhearn, Kirk (2006). The Mac OS X Command Line: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.
External links
- The Single UNIX Specification, Version 5 from The Open Group – Shell and Utilities Reference,
- FreeBSD General Commands Manual –
- NetBSD General Commands Manual –
- OpenBSD General Commands Manual –
- Solaris 11.4 User Commands Reference Manual –
- Linux User Manual – User Commands –
- Plan 9 Programmer's Manual, Volume 1 –
- Inferno General commands Manual –