Pwd: Difference between revisions
mNo edit summary |
Chris Tyler (talk | contribs) Added references to Multics pwd / print_wdir command. |
||
Line 13: | Line 13: | ||
| latest release version = |
| latest release version = |
||
| latest release date = |
| latest release date = |
||
| operating system = [[Unix]] and [[Unix-like]], [[SpartaDOS X]], [[Panos (operating system)|PANOS]], [[KolibriOS]] |
| operating system = [[Multics]], [[Unix]] and [[Unix-like]], [[SpartaDOS X]], [[Panos (operating system)|PANOS]], [[KolibriOS]] |
||
| genre = [[Command (computing)|Command]] |
| genre = [[Command (computing)|Command]] |
||
| license = [[coreutils]]: [[GNU General Public License#Version 3|GNU GPL v3]] |
| license = [[coreutils]]: [[GNU General Public License#Version 3|GNU GPL v3]] |
||
Line 23: | Line 23: | ||
==Implementations== |
==Implementations== |
||
The command is a [[shell builtin]] in most [[Unix shell]]s such as [[Bourne shell]], [[Almquist shell|ash]], [[Bash (Unix shell)|bash]], [[Korn shell|ksh]], and [[Z shell|zsh]]. It can be implemented easily with the [[POSIX]] [[C (programming language)|C]] functions <code>getcwd()</code> or <code>getwd()</code>. |
[[Multics]] had a <code>pwd</code> command (which was a short name of the <code>print_wdir</code> command)<ref>{{cite web |title=working_dir, wd, print_wdir, pwd (Multics help segment) |url=http://web.mit.edu/multics-history/source/Multics/doc/info_segments/working_dir.info |website=MIT |accessdate=7 March 2020}}</ref> from which the Unix pwd command originated<ref>{{cite web |last1=Van Vleck |first1=Tom |title=Unix and Multics |url=https://multicians.org/unix.html |website=Multicians.org |accessdate=7 March 2020}}</ref>. The command is a [[shell builtin]] in most [[Unix shell]]s such as [[Bourne shell]], [[Almquist shell|ash]], [[Bash (Unix shell)|bash]], [[Korn shell|ksh]], and [[Z shell|zsh]]. It can be implemented easily with the [[POSIX]] [[C (programming language)|C]] functions <code>getcwd()</code> or <code>getwd()</code>. |
||
It is also available in the operating systems [[SpartaDOS X]],<ref> |
It is also available in the operating systems [[SpartaDOS X]],<ref> |
Revision as of 19:21, 8 March 2020
Original author(s) | AT&T Bell Laboratories |
---|---|
Developer(s) | Various open-source and commercial developers |
Initial release | June 1974 |
Operating system | Multics, Unix and Unix-like, SpartaDOS X, PANOS, KolibriOS |
Type | Command |
License | coreutils: GNU GPL v3 |
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]
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
. The OpenVMS equivalent is show default
.
The version of pwd
bundled in GNU coreutils was written by Jim Meyering.[16]
The numerical computing environments MATLAB and GNU Octave include a pwd
function with similar functionality.[17][18]
*nix examples
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
POSIX shells set the following environment variables while using the cd command:[19]
- OLDPWD
- The previous working directory (as set by the cd command).
- PWD
- The current working directory (as set by the cd command).
See also
- Breadcrumb (navigation), an alternative way of displaying the work directory
- List of GNU Core Utilities commands
- List of Unix commands
pushd
andpopd
References
- ^ 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.
- ^ Minix MAN page
- ^ Linux MAN page
- ^ GNU Coreutils MAN page
- ^ Bell Labs Plan 9 MAN page
- ^ POSIX Standard (IEEE Std 1003.1) pwd page
- ^ DEC OSF/1 MAN page
- ^ Apple OS X MAN page
- ^ OpenBSD MAN page
- ^ OpenSolaris MAN page
- ^ "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.
- ^ SpartaDOS X 4.48 User Guide
- ^ http://chrisacorns.computinghistory.org.uk/Panos.html#CL
- ^ http://wiki.kolibrios.org/wiki/Shell
- ^ https://linux.die.net/man/1/pwd
- ^ https://www.mathworks.com/help/matlab/ref/pwd.html
- ^ https://octave.sourceforge.io/octave/function/pwd.html
- ^ POSIX Standard (IEEE Std 1003.1) cd page
Further reading
- McElhearn, Kirk (2006). The Mac OS X Command Line: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.