대학에서 유닉스를 사용하고 Windows 측에서 일하는 것은 짜증납니다. 이 결정의 역사는 무엇입니까? 왜 이런 식으로 작동했는지 알고 있습니까?
답변
유닉스는 /
1970 년경 디렉토리 구분자로 소개 되었습니다. 왜이 문자가 정확하게 선택되었는지 모르겠습니다. 조상 시스템 Multics가 사용 >
되었지만 Unix의 디자이너는 이미 쉘에서 리디렉션 >
을 <
위해 함께 사용 했습니다 ( 루트 디렉토리가 /
부호 로 표시되는 이유 참조 ).
MS-DOS 2.0은 \
1980 년대 초에 디렉토리 구분자로 도입 되었습니다. /
사용되지 않은 이유 는 MS-DOS 1.0 (디렉토리를 전혀 지원하지 않는)이 이미 /
명령 줄 옵션을 도입하기 위해 사용했기 때문 입니다. 이 사용법은 CP / M/
에서 사용 되었으며 VMS에서 사용되었습니다 . 왜 Larry Osterman의 블로그에서 해당 선택을했는지에 대한 자세한 설명을 읽을 수 있습니다 (MS-DOS에는 옵션 문자를 변경 하고 디렉토리 구분 기호를 (으) 로 변경하는 옵션도 간략하게 나와 있지만 고정되지는 않았습니다).-
/
/
대부분의 프로그래머 수준 API (모든 버전의 DOS 및 Windows)에서 인식됩니다. 따라서 종종 /
Windows에서 디렉토리 구분 기호 로 사용하여 항상 벗어날 수는 없습니다 . 주목할만한 예외는 접두사 뒤에 구분 기호로 사용할 수 없다는 것/
\\?
입니다 (Windows 7에서도)는 유니 코드를 사용하거나 260자를 초과하는 경로를 지정하는 유일한 방법입니다.
일부 사용자 인터페이스 요소 /
는 Windows에서 디렉토리 분리 자로 지원 하지만 전부는 아닙니다. 일부 프로그램은 기본 API를 통해 파일 이름을 통과, 그래서 그들은 지원 /
과 \
무관심. 명령 인터프리터 ( command.com
또는 cmd
) /
에서 많은 경우에 사용할 수 있지만 항상 그런 것은 아닙니다. 이것은 부분적으로 Windows 버전에 따라 다릅니다 (예 : cd /windows
XP 및 7 에서는 작동하지만 Windows 9x 에서는 작동하지 않음). 탐색기 경로 입력 상자가 허용됩니다 /
(적어도 XP 이상, URL도 허용하기 때문에). 반면에 표준 파일 열기 대화 상자는 슬래시를 거부합니다 .
답변
기본 윈도우 API는 하나 백 슬래시를 사용하거나 경로의 별도의 디렉토리 및 파일 구성 요소 슬래시,하지만 마이크로 소프트 규칙은 백 슬래시를 사용하는 것입니다, 그리고 경로를 반환 API는에 백 슬래시를 넣을 수 있습니다.
MS-DOS 2.0 은 Unix에서 계층 적 파일 시스템을 복사하여 슬래시를 사용했지만 ( IBM 의 주장에 따라 ) MS-DOS 1.0 및 CP 와의 호환성을 유지하면서 명령 쉘에 경로를 입력 할 수 있도록 백 슬래시를 추가했습니다. / M 여기서 슬래시는 명령 행 옵션 표시기입니다.
비교
dir/w
현재 디렉토리를 와이드 형식으로
dir\w
w
director 에서 파일 을 실행합니다 dir
.
참고 문헌 :