리눅스 CD .. 명령 말해봐 : cd ../../../../foo/sub1/bar/dest/ cd ../../../../foo2/sub1/bar/dest/ cd ../../../../foo3/sub1/bar/dest/ cd ../../../../foo/sub1/bar/dest/ 항상 ../../../../여러

내가이 일을 많이해야한다고 말해봐 :

cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/

항상 ../../../../여러 번 입력하지 않는 더 빠른 방법이 있습니까? 창의적인 아이디어가 있습니까?



답변

이를 수행하는 고전적인 방법은 CDPATH변수를 설정하는 것 입니다. 귀하의 경우 원하는 효과를 얻 .:../../../../거나 .:/path/to/the/parent/of/foo달성 할 수 있습니다 . 그런 다음 간단하게 cd foo/sub1/bar/dest원하는 곳으로 이동할 수 있습니다.

이것의 장점은 탭 완성도 cd보고 $CDPATH마술처럼 작동한다는 것입니다.


답변

이전 cd 명령에서 자동으로 학습 하는 autojump 를 사용할 수 있으며 다음에 전체 경로에서 고유 한 문자열 만 지정하면됩니다. 전의.
j foo,
j foo1,
j foo2


답변

bash 구성 파일 (~ / .bashrc 또는 /etc/bash.bashrc)에 별명을 추가하여 이러한 명령에 대한 단축키를 작성할 수 있습니다.

alias cdd="cd ../../../../"

그런 다음 입력 cdd하면 해당 명령이 실행됩니다.


답변

나는 최근에 https://github.com/rupa/z보았는데 , 정규식으로 최근에 사용한 디렉토리로 이동할 수 있습니다. 그래서 당신은 다음과 같은 것을 할 수 있습니다 :

z foo3.*dest

대신에:

cd ../../../../foo3/sub1/bar/dest/

(이전에 해당 디렉토리를 방문한 적이 있고 가장 최근에 자주 사용되는 정규식과 일치하는 것은 없습니다)