Jump to content

Pwd: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Tag: section blanking
Line 21: Line 21:
In [[Unix-like]] and some other [[operating system]]s, the <code>'''pwd'''</code> [[command (computing)|command]] ('''''p'''rint '''w'''orking '''d'''irectory'')<ref name="unix">{{cite book|url=http://cm.bell-labs.com/7thEdMan/v7vol1.pdf|title=Unix Time-Sharing System: Unix Programmer's Manual|edition=7th|volume=1|date=January 1979|publisher=[[Bell labs]]|page=142|archive-url=https://web.archive.org/web/20050520231659/http://cm.bell-labs.com/7thEdMan/v7vol1.pdf|archive-date=2005-05-20}}</ref><ref name="minix">[http://www.unix.com/man-page/minix/1/pwd/ Minix MAN page]</ref><ref name="linux">[https://www.mankier.com/1/pwd Linux MAN page]</ref><ref name="gnu">[https://www.gnu.org/software/coreutils/manual/coreutils.html#pwd-invocation GNU Coreutils MAN page]</ref><ref name="plan9">[http://www.unix.com/man-page/plan9/1/pwd/ Bell Labs Plan 9 MAN page]</ref>
In [[Unix-like]] and some other [[operating system]]s, the <code>'''pwd'''</code> [[command (computing)|command]] ('''''p'''rint '''w'''orking '''d'''irectory'')<ref name="unix">{{cite book|url=http://cm.bell-labs.com/7thEdMan/v7vol1.pdf|title=Unix Time-Sharing System: Unix Programmer's Manual|edition=7th|volume=1|date=January 1979|publisher=[[Bell labs]]|page=142|archive-url=https://web.archive.org/web/20050520231659/http://cm.bell-labs.com/7thEdMan/v7vol1.pdf|archive-date=2005-05-20}}</ref><ref name="minix">[http://www.unix.com/man-page/minix/1/pwd/ Minix MAN page]</ref><ref name="linux">[https://www.mankier.com/1/pwd Linux MAN page]</ref><ref name="gnu">[https://www.gnu.org/software/coreutils/manual/coreutils.html#pwd-invocation GNU Coreutils MAN page]</ref><ref name="plan9">[http://www.unix.com/man-page/plan9/1/pwd/ Bell Labs Plan 9 MAN page]</ref>
writes the full [[path (computing)|pathname]] of the current [[working directory]] to the [[standard output]].<ref name="posix">[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/pwd.html POSIX Standard (IEEE Std 1003.1) pwd page]</ref><ref name="dec">[http://www.unix.com/man-page/osf1/1/pwd/ DEC OSF/1 MAN page]</ref><ref name="apple">[https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pwd.1.html Apple OS X MAN page]</ref><ref name="bsd">[https://man.openbsd.org/pwd.1 OpenBSD MAN page]</ref><ref name="solaris">[http://www.unix.com/man-page/opensolaris/1/pwd/ OpenSolaris MAN page]</ref>
writes the full [[path (computing)|pathname]] of the current [[working directory]] to the [[standard output]].<ref name="posix">[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/pwd.html POSIX Standard (IEEE Std 1003.1) pwd page]</ref><ref name="dec">[http://www.unix.com/man-page/osf1/1/pwd/ DEC OSF/1 MAN page]</ref><ref name="apple">[https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pwd.1.html Apple OS X MAN page]</ref><ref name="bsd">[https://man.openbsd.org/pwd.1 OpenBSD MAN page]</ref><ref name="solaris">[http://www.unix.com/man-page/opensolaris/1/pwd/ OpenSolaris MAN page]</ref>

==Implementations==
[[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>
[http://sdx.atari8.info/sdx_files/4.48/SDX448_User_Guide.pdf SpartaDOS X 4.48 User Guide]</ref> [[Panos (operating system)|PANOS]],<ref>http://chrisacorns.computinghistory.org.uk/Panos.html#CL</ref> and [[KolibriOS]].<ref>http://wiki.kolibrios.org/wiki/Shell</ref> The equivalent on [[DOS]] (<code>[[COMMAND.COM]]</code>) and [[Microsoft Windows]] (<code>[[cmd.exe]]</code>) is the <code>[[cd (command)|cd]]</code> command with no arguments. [[Windows PowerShell]] provides the equivalent <code>Get-Location</code> [[cmdlet]] with the standard aliases <code>gl</code> and <code>pwd</code>.
On [[Windows CE 5.0]], the <code>cmd.exe</code> ''Command Processor Shell'' includes the <code>pwd</code> command.<ref>{{Cite web|url=https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms907227(v=msdn.10)|title=Command Processor Commands (Windows CE 5.0)|website=docs.microsoft.com}}</ref>

{{code|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]].<ref>{{man|cu|wc|SUS}}</ref> It appeared in [[Ancient UNIX|Version 5 Unix]].<ref>{{man|1|pwd|FreeBSD}}</ref> The version of <code>pwd</code> bundled in [[GNU]] [[coreutils]] was written by Jim Meyering.<ref>{{man|1|pwd|Linux}}</ref>

The [[numerical analysis|numerical computing]] environments [[MATLAB]] and [[GNU Octave]] include a <code>pwd</code>
function with similar functionality.<ref>https://www.mathworks.com/help/matlab/ref/pwd.html</ref><ref>https://octave.sourceforge.io/octave/function/pwd.html</ref> The [[OpenVMS]] equivalent is <code>show default</code>.


==*nix examples==
==*nix examples==

Revision as of 05:10, 10 June 2020


pwd
Original author(s)AT&T Bell Laboratories
Developer(s)Various open-source and commercial developers
Initial releaseJune 1974; 50 years ago (1974-06)
Operating systemMultics, Unix and Unix-like, SpartaDOS X, PANOS, Windows CE, KolibriOS
TypeCommand
Licensecoreutils: 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]

*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:[11]

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. ^ 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.
  2. ^ Minix MAN page
  3. ^ Linux MAN page
  4. ^ GNU Coreutils MAN page
  5. ^ Bell Labs Plan 9 MAN page
  6. ^ POSIX Standard (IEEE Std 1003.1) pwd page
  7. ^ DEC OSF/1 MAN page
  8. ^ Apple OS X MAN page
  9. ^ OpenBSD MAN page
  10. ^ OpenSolaris MAN page
  11. ^ POSIX Standard (IEEE Std 1003.1) cd page

Further reading