cd (command)
Page Module:Infobox/styles.css has no content.
| cd / chdir | |
|---|---|
| Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found. | |
| [[Programmer|DeveloperTemplate:Pluralize from text]] | AT&T Bell Laboratories, MetaComCo, Microsoft, IBM, DR, Novell, HP, JP Software, ReactOS Contributors |
| Engine | Page Template:Plainlist/styles.css has no content.Template:EditAtWikidata |
| Operating system | Unix, Unix-like, V, DOS, MSX-DOS, FlexOS, OS/2, TRIPOS, Windows, MPE/iX, Plan 9, Inferno, ReactOS, KolibriOS, SymbOS |
| Platform | Cross-platform |
| Type | Command |
| Website | Script error: No such module "WikidataIB". |
| Repository | Page Template:Plainlist/styles.css has no content.
|
Script error: No such module "Check for conflicting parameters".
cd is a shell command that changes the working directory. It is available in many shells and other applications that maintain a working directory. In some contexts, the command can perform actions other than change directory. Some environments provide the change directory feature via a different command name such as chdir.
Implementations
Generally, a computer system that provides access to a hierarchical file system, provides a change directory command to set the working directory. As this applies to most operating system shells, most support a change directory command, including Unix and Unix-like (i.e. Linux) shells, and Microsoft shells including Command Prompt and PowerShell.
Other operating systems with shells supporting the command include OS/2,[1] TRIPOS,[2] AmigaOS[3] (where the command is implied for an input path), ReactOS,[4] DOSBox, and UEFI.[5]
- On MS-DOS, the command is available in version 2 and later[6]
- DR DOS 6.0 includes the command as both
cdandchdir[7] - On HP MPE/iX the command is
chdir[8] - On OpenVOS, the command is
change_current_dir[9]
Unlike many shell commands that are implemented as separate applications, change directory is often built-in to the shell because it affects the state of the shell whereas other commands modify system state outside the shell. If the command was implemented as a separate application, then the child process would need to modify state in the parent process, but this is often prevented for safety. The command is built-in for most Unix shells (Bourne, tcsh, Bash, etc.), Windows Command Prompt and PowerShell, and MS-DOS COMMAND.COM.
In a shell, the change directory command is typically implemented via a system call which on Unix and Unix-like systems is typically POSIX chdir() and on Windows is in the Windows API.
The command is also provided in many programs other than shells. In the File Transfer Protocol, the control stream command is CWD, but the functionality is available as cd in most command-line clients and some also provide lcd for changing the local working directory vs. the remote setting. The numerical computing environments MATLAB and GNU Octave include a
change directory command as cd.[10][11]
Use
Use of the command varies by context, but there are widespread similarities among variants. The examples below, mostly apply to Unix and Unix-like shells, PowerShell and Command Prompt.
To separate the directory names of a path, a program imposes command-line syntax such as a delimiting text between names – which varies by program. In particular, Unix and Unix-like shells use a forward slash /, Command Prompt uses backslash \ and PowerShell supports either. For simplicity, paths are shown with forward slashes here.
Commonly, a dot is short-hand notation for the working directory and two dots is short-hand for its parent. For example, given working directory /user/bin/tmp, . refers to it and .. refers to /user/bin. The parent notation is often used to form a relative path that specifies a path that is both up and down the hierarchy. For example: starting with /usr/bin/tmp, cd ../../local specifies path /usr/local.
Common
Features that are commonly found for any change directory command:
cd path/to/dirFor a relative path (no leading slash), the path is appended to the working directory path, moving the context deeper into the directory tree hierarchy; for example, if the working directory is/usr, thencd binchanges the working directory to/usr/bincd /path/to/dirFor an absolute path (leading slash), the working directory is replaced with the specified path; for example,cd /binsets the working directory to/bincd ..Moves the directory tree context up one directory; for example, starting at/usr/bin/tmp,cd ..changes the working directory to/usr/bincd .Does not change the working directory but is useful to recover after a directory is recreated by another processcdWith no arguments, the command changes the working directory to the user's home directory; exception: Command Prompt reports the working directory path
Unix shells
Unix-based shells and PowerShell generally share these features:
cd ~Changes the working directory to user's home directorycd ~usernameChanges the working directory to the specified user's home directorycd -Changes the working directory to the previous directory; for example, starting at/usr/bin/tmp, executingcd /etcfollowed bycd -returns to/usr/bin/tmp, which enables toggling between two directories without pushd and popd
Legacy Microsoft shells
DOS maintains separate working directories for each lettered drive, and also has the concept of a current working drive. The cd command can be used to change the working directory of the working drive or another lettered drive. Typing the drive letter as a command on its own changes the working drive, e.g. C:; alternatively, cd with the /d switch may be used to change the working drive and that drive's working directory in one step.
Modern versions of Windows simulate this behaviour for backwards compatibility under CMD.EXE.[12]
Example

~) with a file and three subdirectories.Starting with working directory set to the user's home (~), command ls followed by cd games might produce the following:
user@wikipedia:~$ ls
workreports games encyclopedia text.txt
user@wikipedia:~$ cd games
user@wikipedia:~/games$
A similar session in Command Prompt might look like:
C:\> dir workreports <DIR> Wed Oct 9th 9:01 games <DIR> Tue Oct 8th 14:32 encyclopedia <DIR> Mon Oct 1st 10:05 text txt 1903 Thu Oct10th 12:43 C:\> cd games C:\games>
See also
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
References
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content."JaTomes Help – OS/2 Commands". www.jatomes.com. Archived from the original on 2019-04-14. Retrieved 2019-08-11.
- ^ Page Module:Citation/CS1/styles.css has no content."Introduction to Tripos" (PDF). Archived (PDF) from the original on 2020-10-21. Retrieved 2020-05-01.
- ^ Page Module:Citation/CS1/styles.css has no content.Rügheimer, Hannes; Spanik, Christian (May 1, 1988). AmigaDOS quick reference. Grand Rapids, Mi : Abacus. ISBN 9781557550491 – via Internet Archive.
- ^ Page Module:Citation/CS1/styles.css has no content."Reactos/reactos". GitHub. 3 January 2022. Archived from the original on 31 March 2022. Retrieved 11 August 2019.
- ^ Page Module:Citation/CS1/styles.css has no content."EFI Shells and Scripting". Intel. Archived from the original on 2013-09-27. Retrieved 2013-09-25.
- ^ Page Module:Citation/CS1/styles.css has no content.Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
- ^ Page Module:Citation/CS1/styles.css has no content."DR DOS 6.0 User Guide Optimisation and Configuration Tips" (PDF). Archived from the original (PDF) on 2019-09-30. Retrieved 2019-08-13.
- ^ Page Module:Citation/CS1/styles.css has no content."MPE/iX Command Reference Manual" (PDF). Archived from the original (PDF) on 2018-10-21. Retrieved 2018-10-21.
- ^ Page Module:Citation/CS1/styles.css has no content."OpenVOS Commands Reference Manual" (PDF). stratadoc.stratus.com. Archived (PDF) from the original on 2019-09-22. Retrieved 2020-09-12.
- ^ Page Module:Citation/CS1/styles.css has no content."Change current folder – MATLAB cd". www.mathworks.com.
- ^ Page Module:Citation/CS1/styles.css has no content."Function Reference: cd". octave.sourceforge.io. Archived from the original on 2019-04-06. Retrieved 2019-04-06.
- ^ Page Module:Citation/CS1/styles.css has no content."October 11, 2010". The Old New Thing. Archived from the original on October 29, 2020. Retrieved September 12, 2020.
Further reading
- Page Module:Citation/CS1/styles.css has no content.Wolverton, Van (1990). MS-DOS Commands: Microsoft Quick Reference, 4th Revised edition. Microsoft Press. ISBN 978-1-55615-289-4.
- Page Module:Citation/CS1/styles.css has no content.John Paul Mueller (2007). Windows Administration at the Command Line for Windows Vista, Windows 2003, Windows XP, and Windows 2000. John Wiley & Sons. ISBN 978-0-470-16579-9.
- Page Module:Citation/CS1/styles.css has no content.Barrett, Daniel J. (2012). Macintosh Terminal Pocket Guide: Take Command of Your Mac. O'Reilly. ISBN 978-1-4493-2898-6.
External links
Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.
Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.
Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found. Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found. Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').