쉘의 이전 디렉토리로 돌아 가기


306

push / popd를 사용하지 않고 bash, tcsh를 사용했던 이전 디렉토리로 돌아가는 방법이 있습니까? "back"과 같은 것을 입력하고 내가 있던 이전 디렉토리로 돌아 왔습니다.

편집하다:

"cd-"는 작동하지만 현재 및 이전 디렉토리에서만 작동합니다. 어쨌든 웹 브라우저에서 되돌아 갈 수있는 방법과 같은 이전의 이전 디렉토리로 돌아갈 수 있습니까?

문안 인사


1
아래에 언급 된대로 "pushd"및 "popd"를 사용하여이를 수행 할 수 있습니다.
blueyed

8
"cd-"라는 보조 메모는 사용자 기본 디렉토리 (/ home / username)로 이동합니다.
sdaffa23fdsf

1
최고의 답변 imho : unix.stackexchange.com/a/180640/158177 은 CD -1 ~ cd -9를 제공합니다. OP가 요청한 것으로 생각합니다
Titou

답변:


413

cd - (이전 디렉토리로 돌아갑니다)

다른 이전 디렉토리로 이동하려면 즉시 사용할 수 없습니다. 그러나이 스크립트와 지침을 확인하십시오.

BASH에서 방문한 디렉토리의 역사

cd 명령은 평소와 같이 작동합니다. 새로운 기능은 마지막 10 개 디렉토리의 히스토리이며 cd 명령은 디렉토리를 표시하고 액세스하도록 확장되었습니다. cd-(또는 단순히 ctrl + w를 누르면) 히스토리가 표시됩니다. 모든 디렉토리 이름 앞에 숫자가 표시됩니다. 원하는 번호의 cd -num은 기록에서 해당 디렉토리로 이동합니다.



6
@lorenzog : 그의 질문에서 lydonchandra는 "푸시 / 팝을 사용하지 않고"라고 말했다
Snark

cd --메뉴와 같은 방식으로 이것을 사용하기 위해서는 @ ogc-nick , 언급 된 스크립트를 사용해야합니다
Ram

1
@ ogc-nick 아닙니다. (가) --단순히 명령 및 매개 변수에서 해당 옵션을 분리합니다 ( 이 게시물을 ). 이후에 인수가 없으므로 --마지막 명령은 cd홈 디렉토리로 전환하는 명령입니다 . 즉 수있는 두 번째 이전 디렉토리 있었지만, 그것은 단지 우연의 일치.
Griddo

구문 설탕을 많이 와우
BugWhisperer

24

variable을 사용할 수도 있습니다 cd $OLDPWD. 쉘 스크립트에서도 사용할 수 있습니다.


6
$ OLDPWD는 스크립트에서 좋은 마지막 디렉토리를 유지합니다. cp 명령과 함께 $ OLDPWD를 많이 사용합니다. 예 : cp -v $ OLDPWD / file
Neil Wightman

1

Windows의 경우 (Node.js commads 프롬프트 콘솔 케이스 포함) CD가 작동하지 않음-한 디렉토리 위로 이동

cd ..

3
cd .. 상위 디렉토리로 이동합니다. 문제의 주제가 아닙니다.
ViaSat

1
이것은 bash가 아닙니다 Windows.
Timo

0

가장 쉬운 방법은 https://github.com/wting/autojump .bashrc 전원 편집을 사용하는 것입니다 . 당신은 그들에게 기억하기 쉬운 약식 이름을주고, 당신이 이동에 "표시"폴더를 얻을 (내 충고를, 전술이 문서에없는), 같은 갤러리 사진에 대한 등 '점프'폴더 당신에게 돌아갑니다 '표시'와 '마크'목록 당신이 (와 마찬가지로 '스택'에 추가 한 폴더 PUSHD 당신의 표시 다음에 하나 개의 세션에서 동일하게 유지 추가 된 이점, d)에 무한히.

아직 두 개 이상의 하드 드라이브에서 시도하지 않았지만 결과는 단일 볼륨을 사용하는 것과 유사해야합니다.

S 라이트


-1

디렉토리 트리를 내려 가서 돌아가고 싶다면 cd ..개인적으로 가장 좋아하는 것입니다. cd ..하나의 디렉토리와 cd ../..2와 cd ../../..3 등을 올리면 트리의 분기 내에서 아주 쉽게 이동할 수 있습니다 . cd ../../example또는 cd ../../../example/example등과 같은 동일한 명령을 사용하여 다른 분기를 위아래로 이동할 수도 있습니다 . 다른 사람들이 언급했듯이 디렉토리 사이에서 앞뒤로 cd -또는 $OLDPWD최선의 방법입니다.


이것이 다운 보트 된 특별한 이유는 무엇입니까? 정답이 포함되어 있지만 아마도 유일한 답변은 아닙니다.
Adam Erickson

-2

cd ..도움이 될 것 같아요 . ls -a어떤 디렉토리에서든 수행하면 두 개의 항목이 있습니다. 하나는 "."입니다. 또 다른 이름은 ".."; 단일 점은 이미있는 디렉토리를 참조하고 이중 점은 경로의 이전 디렉토리입니다.


22
..이전 디렉토리가 아니라 단지 상위 디렉토리입니다.
Der Hochstapler

4
이 답변은 질문에 올바르게 답변하지 않더라도 유용한 정보를 제공합니다. 따라서 이에 반대표를 제출할 필요는 없다. 나는 노력에 찬성했다.
Titou

1
이것은 버클리가 아니며, 참여에 대한 특별한상은 없습니다
nathanchere
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.