fbpx
Wikipedia

cd (command)

The cd command, also known as chdir (change directory), is a command-line shell command used to change the current working directory in various operating systems. It can be used in shell scripts and batch files.

Implementations Edit

The command has been implemented in operating systems such as Unix, DOS, IBM OS/2,[1] MetaComCo TRIPOS,[2] AmigaOS[3] (where if a bare path is given, cd is implied), Microsoft Windows, ReactOS,[4] and Linux. On MS-DOS, it is available in versions 2 and later.[5] DR DOS 6.0 also includes an implementation of the cd and chdir commands.[6] The command is also available in the open source MS-DOS emulator DOSBox and in the EFI shell.[7] It is named chdir in HP MPE/iX.[8] The command is analogous to the Stratus OpenVOS change_current_dir command.[9]

cd is frequently included built directly into a command-line interpreter. This is the case in most of the Unix shells (Bourne shell, tcsh, bash, etc.), cmd.exe on Microsoft Windows NT/2000+ and Windows PowerShell on Windows 7+ and COMMAND.COM on DOS/ Microsoft Windows 3.x-9x/ME.

The system call that effects the command in most operating systems is chdir that is defined by POSIX.

Command line shells on Windows usually use the Windows API to change the current working directory, whereas on Unix systems cd calls the chdir() POSIX C function. This means that when the command is executed, no new process is created to migrate to the other directory as is the case with other commands such as ls. Instead, the shell itself executes this command. This is because, when a new process is created, child process inherits the directory in which the parent process was created. If the cd command inherits the parent process' directory, then the objective of the command cd will never be achieved.

Windows PowerShell, Microsoft's object-oriented command line shell and scripting language, executes the cd command (cmdlet) within the shell's process. However, since PowerShell is based on the .NET Framework and has a different architecture than previous shells, all of PowerShell's cmdlets like ls, rm etc. run in the shell's process. Of course, this is not true for legacy commands which still run in a separate process.

Usage Edit

A directory is a logical section of a file system used to hold files. Directories may also contain other directories. The cd command can be used to change into a subdirectory, move back into the parent directory, move all the way back to the root directory or move to any given directory.

Consider the following subsection of a Unix filesystem, which shows a user's home directory (represented as ~) with a file, text.txt, and three subdirectories.

 
A user's view of the file system in Unix-like systems begins with the home directory (often abbreviated to ~). From there, the tree can spread into more subdirectories and/or files.

If the user's current working directory is the home directory (~), then entering the command ls followed by cd games might produce the following transcript:

user@wikipedia:~$ ls workreports games encyclopedia text.txt user@wikipedia:~$ cd games user@wikipedia:~/games$ 

The user is now in the "games" directory.

A similar session in DOS (though the concept of a "home directory" may not apply, depending on the specific version[vague]) would look like this:

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> 

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.[10]

Note that executing cd from the command line with no arguments has different effects in different operating systems. For example, if cd is executed without arguments in DOS, OS/2, or Windows, the current working directory is displayed (equivalent to Unix pwd). If cd is executed without arguments in Unix, the user is returned to the home directory.

Executing the cd command within a script or batch file also has different effects in different operating systems. In DOS, the caller's current directory can be directly altered by the batch file's use of this command. In Unix, the caller's current directory is not altered by the script's invocation of the cd command. This is because in Unix, the script is usually executed within a subshell.

Options Edit

Unix, Unix-like Edit

  • cd by itself or cd ~ will always put the user in their home directory.
  • cd . will leave the user in the same directory they are currently in (i.e. the current directory won't change). This can be useful if the user's shell's internal code can't deal with the directory they are in being recreated; running cd . will place their shell in the recreated directory.
  • cd ~username will put the user in the username's home directory.
  • cd dir (without a /) will put the user in a subdirectory; for example, if they are in /usr, typing cd bin will put them in /usr/bin, while cd /bin puts them in /bin.
  • cd .. will move the user up one directory. So, if they are /usr/bin/tmp, cd .. moves them to /usr/bin, while cd ../.. moves them to /usr (i.e. up two levels). The user can use this indirection to access subdirectories too. So, from /usr/bin/tmp, they can use cd ../../local to go to /usr/local
  • cd - will switch the user to the previous directory. For example, if they are in /usr/bin/tmp, and go to /etc, they can type cd - to go back to /usr/bin/tmp. The user can use this to toggle back and forth between two directories without pushd and popd.

DOS, OS/2, Windows, ReactOS Edit

  • no attributes print the full path of the current directory.
  • -p Print the final directory stack, just like dirs.
  • -n Entries are wrapped before they reach the edge of the screen.
  • -v entries are printed one per line, preceded by their stack positions.
  • cd\ (DOS and Windows only) returns to the root dir. Consequently, command cd\subdir always takes the user to the named subdirectory on the root directory, regardless of where they are located when the command is issued.

Interpreters other than an operating systems shell Edit

In the File Transfer Protocol, the respective command is spelled CWD in the control stream, but is available as cd in most client command-line programs. Some clients also have the lcd for changing the working directory locally.

The numerical computing environments MATLAB and GNU Octave include a cd function with similar functionality.[11][12] The command also pertains to command-line interpreters of various other application software.

See also Edit

References Edit

  1. ^ . www.jatomes.com. Archived from the original on 2019-04-14. Retrieved 2019-08-11.
  2. ^ "Introduction to Tripos" (PDF). Retrieved 2020-05-01.
  3. ^ Rügheimer, Hannes; Spanik, Christian (May 1, 1988). AmigaDOS quick reference. Grand Rapids, Mi : Abacus. ISBN 9781557550491 – via Internet Archive.
  4. ^ "Reactos/reactos". GitHub. 3 January 2022.
  5. ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
  6. ^ (PDF). Archived from the original (PDF) on 2019-09-30. Retrieved 2019-08-13.
  7. ^ "EFI Shells and Scripting". Intel. Retrieved 2013-09-25.
  8. ^ "MPE/iX Command Reference Manual" (PDF).
  9. ^ "OpenVOS Commands Reference Manual" (PDF). stratadoc.stratus.com. Retrieved 2020-09-12.
  10. ^ "October 11, 2010". The Old New Thing.
  11. ^ "Change current folder – MATLAB cd". www.mathworks.com.
  12. ^ "Function Reference: cd". octave.sourceforge.io.

Further reading Edit

External links Edit

command, command, also, known, chdir, change, directory, command, line, shell, command, used, change, current, working, directory, various, operating, systems, used, shell, scripts, batch, files, chdirthe, command, session, running, plan, from, bell, labsdevel. The cd command also known as chdir change directory is a command line shell command used to change the current working directory in various operating systems It can be used in shell scripts and batch files cd chdirThe cd command in an rc session running on Plan 9 from Bell LabsDeveloper s AT amp T Bell Laboratories MetaComCo Microsoft IBM DR Novell HP JP Software ReactOS ContributorsOperating systemUnix Unix like V DOS MSX DOS FlexOS OS 2 TRIPOS Windows MPE iX Plan 9 Inferno ReactOS KolibriOS SymbOSPlatformCross platformTypeCommand Contents 1 Implementations 2 Usage 3 Options 3 1 Unix Unix like 3 2 DOS OS 2 Windows ReactOS 4 Interpreters other than an operating systems shell 5 See also 6 References 7 Further reading 8 External linksImplementations EditThe command has been implemented in operating systems such as Unix DOS IBM OS 2 1 MetaComCo TRIPOS 2 AmigaOS 3 where if a bare path is given cd is implied Microsoft Windows ReactOS 4 and Linux On MS DOS it is available in versions 2 and later 5 DR DOS 6 0 also includes an implementation of the cd and chdir commands 6 The command is also available in the open source MS DOS emulator DOSBox and in the EFI shell 7 It is named chdir in HP MPE iX 8 The command is analogous to the Stratus OpenVOS change current dir command 9 cd is frequently included built directly into a command line interpreter This is the case in most of the Unix shells Bourne shell tcsh bash etc a href Cmd exe html title Cmd exe cmd exe a on Microsoft Windows NT 2000 and Windows PowerShell on Windows 7 and a href COMMAND COM html title COMMAND COM COMMAND COM a on DOS Microsoft Windows 3 x 9x ME The system call that effects the command in most operating systems is chdir that is defined by POSIX Command line shells on Windows usually use the Windows API to change the current working directory whereas on Unix systems cd calls the chdir POSIX C function This means that when the command is executed no new process is created to migrate to the other directory as is the case with other commands such as ls Instead the shell itself executes this command This is because when a new process is created child process inherits the directory in which the parent process was created If the cd command inherits the parent process directory then the objective of the command cd will never be achieved Windows PowerShell Microsoft s object oriented command line shell and scripting language executes the cd command cmdlet within the shell s process However since PowerShell is based on the NET Framework and has a different architecture than previous shells all of PowerShell s cmdlets like ls rm etc run in the shell s process Of course this is not true for legacy commands which still run in a separate process Usage EditA directory is a logical section of a file system used to hold files Directories may also contain other directories The cd command can be used to change into a subdirectory move back into the parent directory move all the way back to the root directory or move to any given directory Consider the following subsection of a Unix filesystem which shows a user s home directory represented as with a file text txt and three subdirectories A user s view of the file system in Unix like systems begins with the home directory often abbreviated to From there the tree can spread into more subdirectories and or files If the user s current working directory is the home directory then entering the command a href Ls html title Ls ls a followed by cd games might produce the following transcript user wikipedia ls workreports games encyclopedia text txt user wikipedia cd games user wikipedia games The user is now in the games directory A similar session in DOS though the concept of a home directory may not apply depending on the specific version vague would look like this C gt dir workreports lt DIR gt Wed Oct 9th 9 01 games lt DIR gt Tue Oct 8th 14 32 encyclopedia lt DIR gt Mon Oct 1st 10 05 text txt 1903 Thu Oct10th 12 43 C gt cd games C games gt 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 10 Note that executing cd from the command line with no arguments has different effects in different operating systems For example if cd is executed without arguments in DOS OS 2 or Windows the current working directory is displayed equivalent to Unix a href Pwd html title Pwd pwd a If cd is executed without arguments in Unix the user is returned to the home directory Executing the cd command within a script or batch file also has different effects in different operating systems In DOS the caller s current directory can be directly altered by the batch file s use of this command In Unix the caller s current directory is not altered by the script s invocation of the cd command This is because in Unix the script is usually executed within a subshell Options EditUnix Unix like Edit cd by itself or cd will always put the user in their home directory cd will leave the user in the same directory they are currently in i e the current directory won t change This can be useful if the user s shell s internal code can t deal with the directory they are in being recreated running cd will place their shell in the recreated directory cd i username i will put the user in the username s home directory cd dir without a will put the user in a subdirectory for example if they are in usr typing cd bin will put them in usr bin while cd bin puts them in bin cd will move the user up one directory So if they are usr bin tmp cd moves them to usr bin while cd moves them to usr i e up two levels The user can use this indirection to access subdirectories too So from usr bin tmp they can use cd local to go to usr local cd will switch the user to the previous directory For example if they are in usr bin tmp and go to etc they can type cd to go back to usr bin tmp The user can use this to toggle back and forth between two directories without pushd and popd DOS OS 2 Windows ReactOS Edit no attributes print the full path of the current directory p Print the final directory stack just like dirs n Entries are wrapped before they reach the edge of the screen v entries are printed one per line preceded by their stack positions cd DOS and Windows only returns to the root dir Consequently command cd subdir always takes the user to the named subdirectory on the root directory regardless of where they are located when the command is issued Interpreters other than an operating systems shell EditIn the File Transfer Protocol the respective command is spelled CWD in the control stream but is available as cd in most client command line programs Some clients also have the lcd for changing the working directory locally The numerical computing environments MATLAB and GNU Octave include a cd function with similar functionality 11 12 The command also pertains to command line interpreters of various other application software See also EditDirectory structure pushd and popd chroot List of command line interpretersReferences Edit JaTomes Help OS 2 Commands www jatomes com Archived from the original on 2019 04 14 Retrieved 2019 08 11 Introduction to Tripos PDF Retrieved 2020 05 01 Rugheimer Hannes Spanik Christian May 1 1988 AmigaDOS quick reference Grand Rapids Mi Abacus ISBN 9781557550491 via Internet Archive Reactos reactos GitHub 3 January 2022 Wolverton Van 2003 Running MS DOS Version 6 22 20th Anniversary Edition 6th Revised edition Microsoft Press ISBN 0 7356 1812 7 DR DOS 6 0 User Guide Optimisation and Configuration Tips PDF Archived from the original PDF on 2019 09 30 Retrieved 2019 08 13 EFI Shells and Scripting Intel Retrieved 2013 09 25 MPE iX Command Reference Manual PDF OpenVOS Commands Reference Manual PDF stratadoc stratus com Retrieved 2020 09 12 October 11 2010 The Old New Thing Change current folder MATLAB cd www mathworks com Function Reference cd octave sourceforge io Further reading EditWolverton Van 1990 MS DOS Commands Microsoft Quick Reference 4th Revised edition Microsoft Press ISBN 978 1 55615 289 4 John Paul Mueller 2007 Windows Administration at the Command Line for Windows Vista Windows 2003 Windows XP and Windows 2000 John Wiley amp Sons ISBN 978 0 470 16579 9 Barrett Daniel J 2012 Macintosh Terminal Pocket Guide Take Command of Your Mac O Reilly ISBN 978 1 4493 2898 6 External links Edit Wikibooks has a book on the topic of Guide to Windows Commands The Wikibook Guide to Unix has a page on the topic of Commands Windows XP gt Command line reference A Z gt Chdir Cd from Microsoft TechNet cd change the working directory Shell and Utilities Reference The Single UNIX Specification Version 4 from The Open Group Portal Free and open source software Retrieved from https en wikipedia org w index php title Cd command amp oldid 1157099544, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.