pwd
Original author(s)AT&T Bell Laboratories
Developer(s)Various open-source and commercial developers
Initial releaseJune 1974 (1974-06)
Written inC
Operating systemMultics, Unix, Unix-like, V, Plan 9, Inferno, SpartaDOS X, PANOS, Windows CE, KolibriOS
PlatformCross-platform
TypeCommand
Licensecoreutils: GPLv3+
Plan 9: MIT License

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

Implementations

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

CommandExplanation
pwdDisplay the current working directory. Example: /home/foobar
pwd -PDisplay 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 -LDisplay 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

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

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

See also

References

  1. "pwd(1) [minix man page]". www.unix.com.
  2. "pwd - print name of current/working directory - man page". www.mankier.com.
  3. "GNU Coreutils". www.gnu.org.
  4. 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.
  5. "pwd(1) [plan9 man page]". www.unix.com.
  6. "pwd". pubs.opengroup.org.
  7. "pwd(1) [osf1 man page]". www.unix.com.
  8. "Apple OS X MAN page".
  9. "pwd(1) - OpenBSD manual pages". man.openbsd.org.
  10. "pwd(1) [opensolaris man page]". www.unix.com.
  11. "working_dir, wd, print_wdir, pwd (Multics help segment)". MIT. Retrieved 7 March 2020.
  12. Van Vleck, Tom. "Unix and Multics". Multicians.org. Retrieved 7 March 2020.
  13. "SpartaDOS X 4.48 User Guide" (PDF).
  14. "Chris's Acorns: Panos". chrisacorns.computinghistory.org.uk.
  15. "Shell - KolibriOS wiki". wiki.kolibrios.org.
  16. "Command Processor Commands (Windows CE 5.0)". docs.microsoft.com.
  17. wc  Shell and Utilities Reference, The Single UNIX Specification, Version 4 from The Open Group
  18. pwd(1)  FreeBSD General Commands Manual
  19. pwd(1)  Linux User Manual – User Commands
  20. "Identify current folder - MATLAB pwd". www.mathworks.com.
  21. "Function Reference: pwd". octave.sourceforge.io.
  22. "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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.