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 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
[edit]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
[edit]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
[edit]- Breadcrumb (navigation), an alternative way of displaying the work directory
- List of POSIX commands
pushd
andpopd
References
[edit]- ^ "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
[edit]- McElhearn, Kirk (2006). The Mac OS X Command Line: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.
External links
[edit]- 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 –