리눅스 CD .. 명령


9

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

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

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


2
왜 그냥 실행 cd ../../../..하고 끝내지 않겠습니까?
레드 크리켓

8
당신이 즐길 수 pushdpopd또는 cd -.
jscott

1
멀리 돌아가려면 폴더의 깊이에 따라 cd / actual / path / you / want하는 것이 좋습니다.
Drew Khoury

이것은 가치보다 훨씬 많은 노력입니다. 디렉토리 간을 이동하는 경우 전체 경로 지정 또는 cd -( 마지막 디렉토리로 이동하기 ) 사용하는 것이 더 쉽습니다. 나는 일반적으로 alias h="history|grep"대신 히스토리 입력 바로 가기를 사용할 수 있도록합니다. 그런 h foo3다음에 !450그 명령을 반복합니다.
ewwhite

다른 터미널 창을 열고 cd ../../../ ..를 전혀 입력하지 마십시오
Matt

답변:


18

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

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


9

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


7

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

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

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


3
예 또는 function cdd () { cd ../../../../$1/bar/dest ; }이므로 예를 들어 cdd foo,을 입력 하면 cdd foo2됩니다.
Andrew Schulman

0

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

z foo3.*dest

대신에:

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.