답변:
당신이 사용할 수있는
cd -
또는 당신은 사용할 수 있습니다
cd $OLDPWD
cd -
. 예를 들어 입력 cd /usr/local
할 때 자신 이 있음을 알고 /usr/loal
있지만 입력 cd -
할 때 항상 어느 디렉토리에서 왔는지 기억하지는 않습니다. 입력하지 않아도됩니다 cd -; pwd
. 그러나 이것은 모든 추측입니다.
alias -- -='cd -'
한 다음 (4 문자) -
대신 (1 문자)를 사용하십시오 cd -
. 빠름:D
cd -
두 번 할 수 있습니다 . 에 cd /; cd /usr; cd -; cd -
있어야합니다 /usr
. 그러나 나는 당신의 질문을 이해하지 못할 수도 있습니다.
다른 답변은 직접 답변 의미에서 완전하게 완성됩니다. cd -
그리고 이것 cd $OLDPWD
에 대한 주요 선택입니다. 그러나 종종 워크 플로를 시작 pushd
하고 popd
더 잘 작동 한다는 것을 알게되었습니다 .
간단히 말해서, 시작한 곳으로 돌아갈 의도로 디렉토리로 이동하는 경우 pushd
/를 사용하십시오 popd
.
주요 차이점은 예를 통해 쉽게 알 수 있습니다.
$ cd dir1
$ pushd dir2
이 시점에서 디렉토리 스택은입니다 dir2, dir1
. pushd
인수없이 실행 dir1
하면 스택을 이제로 되돌릴 수 있습니다 dir1, dir2
. popd
동일한 작업을 수행하지만 빈 디렉토리 스택을 남겨 둡니다. 이것은 cd -
워크 플로를 수행 했을 때와 크게 다르지 않습니다 .
그러나 이제 디렉토리를 여러 번 변경하고로 돌아갈 수 dir1
있습니다. 예를 들어
$ cd dir1
$ pushd dir2
$ cd dir3
당신이 실행하는 경우 popd
이 시점에서, 당신은 돌아갈 것입니다 dir1
.
pushd
하는 동안 반복적으로 사용 하고 이전 폴더로 돌아갑니다 popd
.
dirs -v
지만 실제로는 간단한 경우가 내가 실제로 사용하는 것입니다. (또는 더 나쁘게도 시도 push +2
하거나 비슷한 경우 실수를 합니다.) 또한 누군가 워크 플로를 시도하게하는 아기 단계를 생각했습니다. :)
cd
터지지 않고 스택 맨 위로 어떻게합니까 ?
다음을 사용해야합니다.
cd ~-
cd -
디렉토리의 성가신 에코없이 (현재 허용되는 답변에서) 와 동일하며 cd "$OLDPWD"
or 보다 입력하기가 쉽습니다 cd - > /dev/null
.
alias -- -='cd "$OLDPWD"'
를 사용하여 시도해 볼 수 있다고 생각합니다 . -
cd ~-
:)
cd ~-/..
작동하지만 cd -/..
그렇지 않습니다!
'~ / .bashrc'파일을 편집하고 명령의 별명을 포함하여 'cd-'에 대해 "키를 정의"할 수 있습니다. 예를 들어 'cdc'를 추가하여 'cd-'로 만들면 다음을 추가하여 마지막 디렉토리에 더 짧은 방법을 제공합니다.
alias cdc='cd -'
이 방법으로 단순히 'cdc'를 입력하면 마지막 작업 디렉토리에 저장됩니다.
bind '"\e[24~":"\C-k \C-ucd -\n"'
(또는 더 바람직하게 inputrc
는 대답에서 언급 한대로 파일로 이동하십시오 ).