Cd (명령어)
"오늘의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