Bash 쉘에서 빠른 디렉토리 탐색

Bash 쉘에서 빠른 디렉토리 탐색

/Project/Warnest/docs/및 와 같이 완전히 관련되지 않은 경로의 디렉터리 간에 자주 전환하고 싶습니다 ~/Dropbox/Projects/ds/test/.

cd /[full-path]/하지만 계속 타이핑 하고 싶지는 않습니다 . 이전 작업 디렉토리로 전환하는 바로가기 명령이 있습니까?

bash .profile내가 생각할 수 있는 한 가지 해결책은 일반적인 디렉터리 에 환경 변수를 추가 하고 cd해당 변수를 사용하여 추가하는 것입니다.

하지만 다른 해결책이 있나요?

답변1

두 디렉터리 사이를 전환하는 경우 cd -Switchback을 사용할 수 있습니다.

~에서bash(1)매뉴얼 페이지:

논쟁-로 변환됩니다$OLDPWD 디렉토리를 변경하기 전에.

답변2

CDPATHbash및 에 쉘 변수 가 있습니다 ksh.cdpathzsh

CDPATH    The search path for the cd command. This is a colon-separated
          list of directories in which the shell looks for destination
          directories specified by the cd command.

따라서 ~/.bashrc에서 이를 설정할 수 있습니다.

export CDPATH=/Project/Warnest:~/Dropbox/Projects/ds

그런 다음 발견된 첫 번째 디렉토리로 이동하게 cd docs됩니다 . cd test(즉, 현재 디렉터리에 동일한 이름의 디렉터리가 존재하더라도 CDPATH여전히 쿼리됩니다. CDPATH해당 이름을 가진 하위 디렉터리가 있는 디렉터리가 더 많아지면 첫 번째 디렉터리가 사용됩니다.)

답변3

시도해 볼 수 있는 또 다른 도구는 다음과 같은 도구입니다.자동 점프. 별칭(기본값)에 대한 호출 데이터베이스를 유지 j하고 어디로 가고 싶은지에 대해 정보를 바탕으로 결정을 내리려고 합니다. 예를 들어 다음과 같이 자주 입력하는 경우:

j ~/Pictures

한 번에 접근할 수 있는 방법은 다음과 같습니다.

j Pic

~/.bashrcDebian 및 Ubuntu에서 작동하며 ~/.zshrc기본적으로 사용자별로 포함됩니다.

답변4

나는 aliasbashrc에서 이 CD를 사용합니다.
예를 들어:

alias wdoc='cd ~/Project/Warnest/docs'
alias dstest='cd ~/Dropbox/Projects/ds/test'

관련 정보