왜 다른 드라이브 레터로의 특정 주소로 "cd" 하면, 바로 안 이동하고 그 드라이브에서 그 포지션을 확보해 두는 건가요?

조회수 392회

C:\WINDOWS\system32> 에 있다가

cd D:\temp\blabla

라고 입력하면 바로 저 블라블라 폴더로 이동하는게 아니라 그냥 현 위치에 가만히 있습니다.

이 상태에서 d: 라고 넣어서 D드라이브로 이동하면 d:\에서 시작하는게 아니라 그때서야 D:\temp\blabla 폴더에서 시작하게 됩니다.

이 로직이 잘 이해가 안갑니다.

왜 바로 이동하지 않고 넣어준 그 특정 위치를 유보해 두는 걸까요?

  • 개인적인 사견으로는. cd 명령어의 Root가 드라이브여서 그런 것 같습니다. Root 값은 fixed 되어 있는 것 같아요. 그래서 d: 같은 명령어를 쳐서 해당 fixed 되어 있는 값을 변경후에 다시 cd 명령어를 수행하는 것 같습니다. dbwodlf3 2020.11.26 09:58

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    리눅스/유닉스의 cd와 도스의 cd는 이름은 같지만 동일한 동작을 하지는 않습니다.

    질문하신 것은 도스의 cd에 대한 질문인데요.

    도스의 cd는 드라이브별로 현재 디렉터리를 따로 저장합니다. 각 드라이브 별로 저장된 현재 디렉터리를 출력하고 싶다면 cd 드라이브명:이라고 실행하면 됩니다. 예를 들어 cd c: 또는 cd d:처럼요. 드라이브명 없이 cd를 하게되면 현재 드라이브의 현재 디렉터리가 출력됩니다.

    이미지

    또한, 질문한 내용 중에 있는 것처럼 C:\WINDOWS\system32> 에 있다가 D:\temp\blabla로 바로 옮기고 싶을 때, 아래의 두 방법을 많이 이용합니다.

    d: && cd d:\temp\blabla
    

    또는

    cd /d d:\temp\blabla
    

    이미지

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)