배경
WSL(Windows Subsystem for Linux)을 사용하다 보면, Windows 파일 경로 그대로 wsl의 터미널에서 이동하고 싶을 때가 있습니다.
예를 들어 File Explorer에서 확인한 C:\\Windows
폴더로 바로 이동하고 싶은데, WSL 기본 방식은 /mnt/c/Windows
형태로 변환해야 합니다.
이 과정을 자동화하면 편리하게 Windows 경로를 그대로 사용할 수 있습니다.
cd
명령어 오버라이드
~/.bashrc
에 다음 함수를 추가합니다:
cd() {
local path="$1"
if [[ "$path" =~ ^([A-Za-z]):\\ ]]; then
drive=${BASH_REMATCH[1],,}
path="/mnt/$drive/${path:3}"
path="${path//\\//}"
fi
builtin cd "$path" || return
}
이제 쉘을 다시 불러오면(source ~/.bashrc
) 다음처럼 사용할 수 있습니다:
cd "C:\Windows"
→ 자동으로 /mnt/c/Windows
로 이동합니다 🎉
꼭 알아둘 점: 따옴표 필수
여기서 중요한 포인트는 반드시 쌍따옴표를 붙여야 한다는 것입니다.
cd "C:\\Windows" # ✅ 정상 동작
cd C:\\Windows # ❌ 동작 안 함 (이스케이프 처리됨)
WSL 터미널에서는 다른 리눅스와 마찬가지로 \\
가 이스케이프 문자라서 따옴표 없이 입력하면 잘못 해석됩니다.
따라서 "C:\경로"
형태로 입력해야 합니다.
활용 팁
alias
를 만들어 자주 쓰는 경로를 단축할 수 있습니다:bashalias cdwin='cd "C:\Windows"'
마무리
이제 WSL에서도 cd "C:\\..."
만 입력하면 바로 Windows 경로로 이동할 수 있습니다.
경로 변환을 신경 쓸 필요 없이, 탐색기에서 복사한 경로를 그대로 붙여 넣어 쓸 수 있습니다.