맨위로가기

Cd (명령어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

`cd`는 명령 줄 인터프리터에서 사용되는 명령어로서, 현재 작업 디렉터리를 변경하는 데 사용된다. 유닉스 계열, 도스, 윈도우, ReactOS 등 다양한 운영체제에서 지원되며, 셸의 내부 명령어로 구현된다. 사용자는 `cd` 명령어를 통해 디렉터리 간 이동, 홈 디렉터리 이동, 상위 또는 하위 디렉터리 이동 등을 수행할 수 있다.

더 읽어볼만한 페이지

  • 파일 시스템 디렉토리 - 홈 디렉토리
    홈 디렉토리는 다중 사용자 환경에서 각 사용자가 개인 파일과 설정을 저장 및 관리하는 공간으로, 유닉스에서 처음 도입되어 다양한 운영체제에서 구현 방식과 위치가 다르지만 파일 시스템 권한으로 보호되어 개인 정보와 시스템 안정성을 유지하는 데 중요한 역할을 한다.
  • 파일 시스템 디렉토리 - 작업 디렉토리
    작업 디렉토리는 컴퓨터 파일 시스템에서 현재 사용자가 작업 중인 디렉토리를 의미하며, 운영체제 및 프로그래밍 언어에서 변경 및 확인 기능을 제공하고, DLL 검색 경로에 포함 시 보안 문제가 발생할 수 있다.
  • 내부 도스 명령어 - TYPE (도스 명령어)
    TYPE은 텍스트 파일의 내용을 화면에 표시하는 기능을 수행하는 명령어이며, MS-DOS, 윈도우 등 다양한 운영 체제에서 지원된다.
  • 내부 도스 명령어 - Echo (명령어)
    echo 명령어는 다양한 운영체제 및 셸 환경에서 입력받은 문자열을 그대로 출력하는 명령어로, POSIX 표준의 부재로 시스템에 따라 동작 방식에 차이가 있어 이식성이 떨어진다는 평가를 받는다.
  • OS/2 명령어 - 파일 전송 프로토콜
    파일 전송 프로토콜(FTP)은 클라이언트-서버 모델 기반으로 네트워크를 통해 파일을 전송하는 표준 통신 규약이며, 명령 연결과 데이터 연결을 사용하고, 보안 취약점 때문에 암호화된 방식 사용이 권장된다.
  • OS/2 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
Cd (명령어) - [IT 관련 정보]에 관한 문서
명령어 정보
이름cd / chdir
개발자AT&T 벨 연구소, MetaComCo, 마이크로소프트, IBM, DR, 노벨, HP, JP 소프트웨어, ReactOS 기여자
출시(정보 없음)
최신 릴리스 버전(정보 없음)
최신 릴리스 날짜(정보 없음)
운영 체제유닉스, 유닉스 계열, V, 도스, MSX-DOS, FlexOS, OS/2, TRIPOS, 윈도우, MPE/iX, Plan 9, Inferno, ReactOS, KolibriOS, SymbOS
플랫폼크로스 플랫폼
장르명령어
라이선스(정보 없음)
웹사이트(정보 없음)
다른 이름chdir

2. 사용법

`cd` 명령어는 파일 시스템에서 현재 작업 디렉터리를 변경하는 데 사용된다. 사용자가 터미널이나 명령 프롬프트에서 이 명령어를 입력하면, 지정된 경로로 작업 디렉터리가 바뀐다.

`cd` 명령어의 기본적인 사용법은 다음과 같다.


  • `cd [디렉터리 경로]`: 지정된 경로로 현재 작업 디렉터리를 변경한다. 예를 들어, `cd documents`를 입력하면 현재 디렉터리 아래의 `documents` 디렉터리로 이동한다.
  • 경로를 지정하지 않거나 `cd ~` 입력: 사용자의 홈 디렉터리로 이동한다. 유닉스 계열 시스템에서는 환경 변수 `$HOME`에 설정된 디렉터리로, 윈도우에서는 사용자 프로필 디렉터리로 이동한다.
  • `cd .`: 현재 디렉터리를 유지한다. 이는 셸 스크립트 등에서 유용하게 사용될 수 있다.
  • `cd ..`: 현재 디렉터리의 상위 디렉터리로 이동한다.
  • `cd -`: 바로 직전에 위치했던 디렉터리로 이동한다. 두 디렉터리를 번갈아 작업할 때 유용하다.


예를 들어, 사용자의 홈 디렉터리가 다음과 같은 구조를 가지고 있다고 가정해 보자.

현재 작업 디렉터리가 홈 디렉터리(`~`)인 상태에서 `ls` 명령어를 실행하면 다음과 같은 결과가 나타난다.

```text

me@host:~$ ls

workreports games encyclopedia text.txt

```

이후 `cd games` 명령어를 실행하면 현재 작업 디렉터리가 `games` 디렉터리로 변경된다.

```text

me@host:~$ cd games

me@host:~/games$

2. 1. 유닉스, 유닉스 계열 운영체제

`cd ~사용자이름`은 지정된 사용자의 홈 디렉터리로 이동한다.[1] `cd dir` (상대 경로)는 현재 디렉터리 아래의 `dir` 디렉터리로 이동한다.[1] `cd /dir` (절대 경로)는 루트 디렉터리 아래의 `dir` 디렉터리로 이동한다.[1] `cd ../..`는 두 단계 상위 디렉터리로 이동한다.[1] pushd와 popd 명령어를 함께 사용하여 디렉터리 스택을 관리하고, 여러 디렉터리를 번갈아 이동할 수 있다.[1]

유닉스 계열 운영 체제에서 `cd` 명령어의 다양한 사용법은 다음과 같다.

  • 인수 없음, 또는 `cd ~`: 셸 변수 `$HOME`에 설정된 디렉토리로 이동한다.[1]
  • `cd ~사용자 이름`: 해당 사용자 이름의 홈 디렉토리로 이동한다.[1]
  • `cd 디렉토리 이름`: 하위 디렉토리로 이동한다. 예를 들어 현재 디렉토리가 `/user`인 상태에서 "cd bin"을 입력하고 Enter 키를 누르면 `/user/bin`으로 이동한다. 한편, "cd /bin"을 입력하고 Enter 키를 누르면 `/bin`으로 이동한다.[1]
  • `cd ..`: 한 단계 상위 디렉토리로 이동한다. 예를 들어 현재 `/user/bin/temp`에 있는 상태에서 "cd .."을 입력하고 Enter 키를 누르면 `/user/bin`으로 이동한다.[1]
  • `cd ../..`: 두 단계 상위 디렉토리로 이동한다. 예를 들어 현재 `/user/bin/temp`에 있는 상태에서 "cd ../.."을 입력하고 Enter 키를 누르면 `/user`로 이동한다.[1]
  • `cd -`: 바로 전에 있던 디렉토리로 이동한다. 예를 들어 `/user/bin`에 있다가 "cd /etc"를 입력하여 `/etc`로 이동한 후, "cd -"를 입력하면 `/user/bin`으로 돌아간다. 다시 "cd -"를 입력하면 `/etc`로 이동한다. 즉, "cd -"를 사용하면 두 디렉터리를 번갈아 이동하며 작업할 때 디렉터리 이름을 বারবার 입력하는 수고를 덜 수 있다.[1]

2. 2. 도스, 윈도우, ReactOS


  • `cd \` (또는 `cd\`) : 루트 디렉터리로 이동한다.[10]
  • `cd 드라이브명:` : 해당 드라이브의 현재 작업 디렉터리를 출력한다.
  • `cd /D 드라이브명:경로` : 작업 드라이브와 해당 드라이브의 작업 디렉터리를 한 번에 변경한다.[10] (윈도우)
  • 경로 없이 `cd`만 입력하면 현재 작업 디렉터리의 전체 경로를 출력한다.


도스(DOS)는 각 문자 드라이브에 대해 별도의 작업 디렉터리를 유지하며, 현재 작업 드라이브의 개념도 가지고 있다. `cd` 명령어를 사용하여 작업 드라이브 또는 다른 문자 드라이브의 작업 디렉터리를 변경할 수 있다. 드라이브 문자를 자체적으로 명령어로 입력하면 작업 드라이브가 변경된다 (예: `C:`).[10]

최신 버전의 윈도우는 CMD.EXE에서 하위 호환성을 위해 이러한 동작을 시뮬레이션한다.[10]

3. 동작 방식

`cd` 명령어는 대부분의 명령 줄 인터프리터(셸)에 내장되어 있다. 예를 들면 유닉스 셸 (본 셸, tcsh, bash 등), 윈도우 cmd.exe 및 윈도우 파워 셸, 도스의 COMMAND.COM 등이 있다.[1] 셸은 `cd` 명령어를 실행하기 위해 별도의 프로세스를 생성하지 않고, 셸 자체에서 직접 명령을 처리한다.

유닉스 시스템에서는 `cd`가 `chdir()` POSIX C 함수를 호출한다.[1] 윈도우의 명령줄 셸은 일반적으로 Windows API를 사용하여 현재 작업 디렉터리를 변경한다.[1] Windows PowerShell은 .NET Framework 기반으로, 모든 cmdlet(cd 포함)이 셸의 프로세스 내에서 실행된다.[1]

4. 구현

`cd` 명령어는 다양한 운영체제에서 구현되었다.

운영체제설명
유닉스대부분의 유닉스 셸(본 셸, tcsh, bash 등)에 내장
도스MS-DOS 버전 2 이상, DR DOS 6.0에 포함, DOSBox에서 사용 가능
IBM OS/2[1]
MetaComCo TRIPOS[2]
AmigaOS[3]
마이크로소프트 윈도우cmd.exe 및 윈도우 파워 셸에 내장
ReactOS[4]
리눅스
EFI 셸[7]
HP MPE/iX`chdir`로 명명[8]
OpenVOS`change_current_dir` 명령어와 유사[9]



파일 전송 프로토콜(FTP)에서는 제어 스트림에서 `CWD`로 표기되지만, 대부분의 클라이언트 프로그램에서는 `cd`로 사용 가능하다. 로컬 작업 디렉터리 변경을 위한 `lcd` 명령어(`'''l'''ocally`)도 지원된다.

수치 해석 환경인 MATLAB과 GNU Octave에도 `cd` 함수가 포함되어 있다.[11][12]

대부분의 운영 체제에서 이 명령을 수행하는 시스템 호출POSIX에 의해 정의된 `chdir`이다. 윈도우의 명령줄 셸은 일반적으로 Windows API를 사용하고, 유닉스 시스템에서는 `cd`가 `chdir()` POSIX C 함수를 호출한다.

`cd` 명령어는 ls와 같은 다른 명령어와 달리 새로운 프로세스를 생성하지 않고, 셸 자체가 직접 실행한다. 이는 새로운 프로세스가 생성될 때 자식 프로세스가 부모 프로세스가 생성된 디렉터리를 상속받기 때문이다. 만약 `cd` 명령어가 부모 프로세스의 디렉터리를 상속받으면, `cd` 명령어의 목표는 달성될 수 없다.

Windows PowerShell은 .NET Framework를 기반으로 하여, `cd` 명령(`cmdlet`)을 포함한 모든 cmdlet이 셸의 프로세스에서 실행된다.

참조

[1] 웹사이트 JaTomes Help – OS/2 Commands https://web.archive.[...] 2019-08-11
[2] 웹사이트 Introduction to Tripos https://www.pagetabl[...] 2020-05-01
[3] 서적 AmigaDOS quick reference http://archive.org/d[...] Grand Rapids, Mi : Abacus 1988-05-01
[4] 웹사이트 Reactos/reactos https://github.com/r[...] 2022-01-03
[5] 서적 Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition Microsoft Press 2003
[6] 웹사이트 DR DOS 6.0 User Guide Optimisation and Configuration Tips https://web.archive.[...] 2019-08-13
[7] 웹사이트 EFI Shells and Scripting http://software.inte[...] Intel 2013-09-25
[8] 웹사이트 MPE/iX Command Reference Manual https://web.archive.[...] 2018-10-21
[9] 웹사이트 OpenVOS Commands Reference Manual http://stratadoc.str[...] 2020-09-12
[10] 웹사이트 October 11, 2010 https://devblogs.mic[...]
[11] 웹사이트 Change current folder – MATLAB cd https://www.mathwork[...]
[12] 웹사이트 Function Reference: cd https://octave.sourc[...]
[13] 문서



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com