본문 바로가기
성공지식백과 로고성공지식백과
GLOSSARY

cd (Change Directory)

중급바이브 코딩

이 페이지는 바이브 코딩 문맥에서 자주 쓰이는 cd (Change Directory)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.

cd(Change Directory)는 명령을 실행하는 셸의 현재 작업 디렉터리를 바꾸는 명령입니다. 파일을 다른 곳으로 옮기는 대신, 이후 명령에서 상대 경로를 해석할 기준 위치를 바꿉니다. 프로젝트 폴더로 들어가 빌드나 파일 검색을 실행할 때 사용합니다. 같은 이름을 쓰더라도 POSIX 계열 셸의 명령과 PowerShell의 별칭은 경로와 옵션을 처리하는 방식에 차이가 있습니다.

이후 명령의 기준 위치

POSIX의 cd 명세는 이 명령이 현재 셸 실행 환경의 작업 디렉터리를 바꾼다고 정의합니다. 디렉터리는 파일을 담는 폴더를 가리킵니다. 작업 위치가 달라지면 같은 상대 경로를 적어도 다른 파일을 대상으로 삼을 수 있습니다. 프로젝트 이름이 같은 폴더가 여러 곳에 있을 때는 명령 이름과 인수만큼 시작 위치도 결과에 영향을 줍니다.

상대 경로는 현재 위치에서 목적지까지의 관계를 적고, 절대 경로는 루트부터 목적지를 지정합니다. POSIX 셸에서 cd ./src는 현재 디렉터리 아래의 src로 이동하고, cd /tmp는 루트 아래의 /tmp로 이동합니다. 앞의 명령은 현재 위치에 따라 대상이 달라지고 뒤의 명령은 현재 위치와 무관하게 목적지를 지정합니다. 경로를 지정했다고 해서 없는 디렉터리가 생성되는 것은 아니며, 이동할 수 있는 디렉터리가 대상입니다.

cd ..의 ..는 상위 디렉터리를 나타냅니다. 다만 심볼릭 링크를 거친 경로에서는 논리적 경로와 실제 경로를 기준으로 했을 때 상위 위치가 달라질 수 있습니다. POSIX는 -L과 -P로 이 차이를 구분합니다. -L은 ..를 논리적으로 처리하고, -P는 심볼릭 링크를 먼저 해석한 물리적 경로를 사용합니다. 링크가 섞인 프로젝트에서 상위로 이동할 때는 어떤 경로 해석을 적용했는지가 중요합니다.

셸별 인수와 드라이브 처리

POSIX 명세에서 목적지 인수를 생략한 cd는 값이 설정된 HOME 환경변수의 경로를 사용합니다. HOME이 비었거나 정의되지 않았을 때의 기본 동작은 구현에 따라 정하도록 명세가 남겨 둡니다. 어떤 셸에서 인수 없는 명령이 한 번 동작했다고 해서 모든 환경에서 같은 결과가 나온다고 볼 수는 없습니다. 인수를 생략한 경우와 명시적인 경로를 넣은 경우는 서로 다른 조건으로 읽습니다.

2026년 10월 11일 수집한 PowerShell 7.6의 Set-Location 문서에서 cd는 Set-Location의 별칭입니다. 이 명령은 파일 디렉터리 외에도 레지스트리처럼 공급자가 노출한 위치를 다룹니다. 해당 문서는 경로가 없으면 현재 사용자의 홈 디렉터리를 기본값으로 쓴다고 설명합니다. POSIX의 환경변수 규칙을 PowerShell의 동작 설명으로 그대로 옮기지는 않습니다.

PowerShell에서 C:처럼 역슬래시 없이 드라이브 이름만 지정하면 그 드라이브가 기억하는 현재 위치로 이동합니다. C:\처럼 루트 경로를 지정하는 것과 목적지가 다를 수 있습니다. 문서의 예시도 C:\Windows에 있던 상태에서 다른 공급자 위치를 거쳐 C:를 지정하면 C:\Windows로 돌아가는 동작을 보여 줍니다. 드라이브 문자가 있는 경로와 POSIX의 루트 경로, 각 셸의 옵션은 사용하는 셸의 규칙에 맞춰 해석합니다.

실행 환경의 범위와 경로 확인

POSIX 명세는 하위 셸이나 별도의 실행 환경에서 호출한 cd가 호출자 환경의 작업 디렉터리를 바꾸지 않는다고 설명합니다. 자동화 도구가 명령마다 새 프로세스를 실행한다면 앞선 호출에서 위치를 바꿔도 다음 호출에 그 위치가 이어진다고 전제할 수 없습니다. 작업 위치를 유지하는 실행 방식인지, 호출마다 작업 디렉터리를 지정하는 방식인지에 따라 경로 전달 방법이 달라집니다.

PowerShell 문서는 한 프로세스 안의 실행 공간마다 현재 위치를 따로 관리하며, 이 값이 [System.Environment]::CurrentDirectory와 같지 않다고 설명합니다. PowerShell에서 보이는 위치와 .NET API가 사용하는 프로세스 위치를 혼동하면 상대 경로가 예상과 다르게 해석될 수 있습니다. 서로 다른 실행 체계가 섞이는 작업에서는 명시적인 경로가 어느 기준을 사용하는지 확인합니다.

디렉터리 이동 실패도 이후 명령의 결과를 바꿉니다. 대상 경로가 없거나 해당 디렉터리를 탐색할 권한이 없으면 의도한 위치로 이동하지 못합니다. 자동화에서는 위치 변경의 성공 여부를 확인한 뒤 그 위치를 전제로 하는 작업을 이어갑니다. 파일을 찾지 못하는 오류가 나면 파일명뿐 아니라 현재 작업 위치와 전달한 경로를 함께 대조합니다. 다른 터미널이나 앞선 실행에서 성공한 경로가 새 실행의 현재 위치까지 설명하지는 않습니다.

RELATED TERMS

관련 용어

cd (Change Directory)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.