처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.06.22 23

윈도우는 왜 역슬래시(\)를 쓸까? 경로 구분자 슬래시의 오래된 사연

Hacker News 원문 보기

\/, 사소해 보이지만 개발자를 괴롭히는 차이

크로스 플랫폼 개발을 해본 분이라면 한 번쯤 이런 경험 있으실 거예요. 윈도우에서 멀쩡히 돌던 코드를 맥이나 리눅스로 옮겼더니 파일 경로 때문에 에러가 나는 거죠. 윈도우는 폴더를 구분할 때 역슬래시 \를 쓰는데, 리눅스와 맥은 슬래시 /를 쓰니까요. C:\Users\jun\file.txt/home/jun/file.txt 를 나란히 놓고 보면 차이가 딱 보이죠. 왜 이렇게 갈라졌을까요? 사실 여기엔 40년도 더 된 사연이 숨어 있어요.

슬래시는 원래 '옵션'을 적는 자리였어요

이야기는 MS-DOS 이전, 그러니까 개인용 컴퓨터 초창기로 거슬러 올라가요. 그 시절 운영체제들(CP/M 같은)에는 사실 폴더(디렉터리)라는 개념 자체가 없었어요. 파일들이 그냥 한 군데에 평평하게 쭉 놓여 있었죠. 그러다 보니 경로를 여러 단계로 구분할 일도 없었어요.

대신 슬래시 /는 다른 용도로 먼저 자리를 잡았어요. 바로 명령어의 옵션을 적는 기호로요. 예를 들어 dir /w 라고 치면 'dir 명령을 와이드(w) 형식으로 보여줘'라는 뜻이었거든요. 지금 리눅스에서 ls -l 할 때의 -처럼, 그때 도스 세계에서는 /가 그 역할을 했던 거예요.

폴더가 생겼는데 슬래시는 이미 임자가 있었죠

그러다 MS-DOS 2.0에서 드디어 폴더(하위 디렉터리) 기능이 추가됐어요. 이제 경로를 구분할 기호가 필요해졌는데, 가장 자연스러운 후보였던 /는 이미 '옵션 기호'로 쓰이고 있었던 거죠. 만약 경로 구분에도 /를 쓰면, 명령어를 입력할 때 이게 폴더 구분인지 옵션인지 컴퓨터가 헷갈렸을 거예요. 그래서 마이크로소프트는 남아 있던, 비슷하게 생긴 기호인 역슬래시 \를 경로 구분자로 골랐어요. 거창한 철학이 있었다기보다는 '슬래시가 이미 쓰이고 있었으니 어쩔 수 없이' 내린 선택에 가까웠던 셈이에요.

반면 유닉스(Unix)는 처음부터 계층적인 파일 시스템을 갖고 있었고, /를 두고 경쟁하는 다른 용도가 없었어요. 그래서 자연스럽게 /를 경로 구분자로 채택했죠. 유닉스의 후예인 리눅스와 맥(macOS)이 /를 쓰는 이유가 바로 여기 있어요. 결국 두 진영의 선택은 '누가 옳았냐'의 문제가 아니라 '각자의 역사에서 어떤 기호가 비어 있었느냐'의 차이였던 거예요.

이 작은 차이가 남긴 후유증

문제는 이 차이가 두고두고 개발자를 괴롭힌다는 거예요. 가장 골치 아픈 건 역슬래시 \가 많은 프로그래밍 언어에서 '특수문자 탈출(escape) 기호'로도 쓰인다는 점이에요. 예를 들어 문자열 안에서 \n은 줄바꿈, \t는 탭을 뜻하잖아요. 그래서 윈도우 경로를 C:\new\table 처럼 코드에 그대로 적으면, \n\t가 줄바꿈과 탭으로 해석되는 황당한 일이 벌어져요. 그래서 역슬래시를 두 번씩 적어 C:\\new\\table 라고 쓰거나, raw string 같은 별도의 문자열 표기법을 써야 하죠.

재미있는 사실은, 정작 윈도우 내부 API는 대부분 /도 경로 구분자로 받아들인다는 거예요. 즉 윈도우에서도 /를 써서 파일을 잘 찾는 경우가 많아요. 사용자에게 보여주는 화면이나 명령 프롬프트에서만 \를 고집하는 거죠. 그러니 '윈도우는 무조건 역슬래시만 된다'는 것도 정확한 말은 아니에요.

한국 개발자에게

실무에서 얻을 교훈은 분명해요. 경로를 직접 문자열로 이어 붙이지 마세요. "폴더" + "/" + "파일" 같은 식으로 손으로 조립하면 플랫폼이 바뀌는 순간 깨지기 쉬워요. 대신 각 언어가 제공하는 경로 전용 도구를 쓰면 돼요. 파이썬이라면 os.path.join이나 더 현대적인 pathlib, 자바라면 Paths.get, 노드라면 path.join 같은 것들이요. 이 도구들은 지금 실행 중인 운영체제에 맞는 구분자를 알아서 넣어주거든요. 덕분에 우리는 \/냐를 신경 쓰지 않고도 어느 플랫폼에서나 도는 코드를 짤 수 있어요.

정리하면, 윈도우의 역슬래시는 '슬래시가 이미 옵션 기호로 쓰이고 있어서' 떠밀리듯 선택된 역사의 산물이에요. 기술의 많은 부분이 이렇게 '그때그때의 사정'으로 굳어져서 지금까지 이어지고 있죠. 여러분이 코드에서 마주친 가장 황당했던 '역사적 유산'은 무엇이었나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.