Linux에서 경로를 대체하는 바로 가기를 추가 할 수 있습니까?


33

예를 들어, 나는 항상이 길로 간다 :

/ user / something / somefolders / 어딘가에

하지만 입력하고 싶지 않습니다

CD / user / something / somefolders / somewhere

터미널에서 항상 짧은 손을 사용할 수 있습니까? 예를 들어, 다음과 같은 것을 할 수 있습니까?

cd 명령

경로를 바꾸려면?

답변:


32

이를 위해 환경 변수 CDPATH를 사용할 수 있습니다 . Bash 매뉴얼 페이지에서 :

CDPATH

cd 명령의 검색 경로입니다. 이것은 쉘이 cd 명령으로 지정된 대상 디렉토리를 찾는 콜론으로 구분 된 디렉토리 목록입니다. 샘플 값은 ". : ~ : / usr"입니다.

귀하의 경우에는 설정할 수 있습니다

export CDPATH=.:/user/something/somefolders

에서 ~/.bashrc다음 입력 cd somewhere에 당신을 데려 갈 것이다 /user/something/somefolders/somewhere(라는 이름의 디렉토리가 없습니다 가정 somewhere현재 디렉토리 내가).

또는 somewhere실제 이름으로 폴더를 참조하지 않으려는 경우 /user/something/somefolders/somewhere사용하려는 이름과의 심볼릭 링크가 포함 된 숨겨진 디렉토리를 만들 수 있습니다 . 자주 방문하는 다른 디렉토리에 대한 링크도 포함 할 수 있습니다. 그런 다음 CDPATH해당 숨겨진 디렉토리의 경로를 포함하도록 설정 하십시오. 이 방법을 사용하면 cd somewhere, 그러면 cd ..숨겨진 디렉토리에 나타납니다. 그것은 당신에게 문제가 될 수도 있고 아닐 수도 있습니다.


41

이 같은 것들에 항상 두 가지 단축키를 사용합니다.

별명

별명 somedir = 'cd / home / john / www / something /'

그런 다음 입력 somedir하여 해당 디렉토리로 이동할 수 있습니다 . 에 추가하십시오 .bashrc.

심볼릭 링크

ln -s / long / path / to / some / other / 폴더 / 바로 가기

/shortcut링크 된 파일을 만듭니다 /long/path/to/some/other/folder. 그런 다음 cd를 /shortcut대신 입력 할 수 있습니다 . 이것의 주의점은 루트 디렉토리 (또는 링크를 넣은 디렉토리)를 매우 빨리 채우는 것입니다. 나는 별칭을 선호합니다.


좋은 존!
Gob00st

해야하는데 ln -s /long/path/to/some/other/folder /shortcut나는 그것을 그것이 내가에 대한 링크를 만들고 싶었 장소의 바로 가기를 만들어 주위에 다른 방법으로했을 때. 업데이트하기 위해 수정 사항을 제출했습니다.
Elias

1
루트에 짧은 이름을 가진 디렉토리는 /sl어떻습니까? (즉 ln -s /long/path/to/some/other/folder /sl/shortcut, 루트에 혼란이없고 프롬프트의 경로가 심볼릭 링크임을 시각적으로 상기시켜줍니다.
RolfBly

14

나는 항상 bash 대화 형 검색을 사용하는 경향이 있습니다. 시도 해봐. ctrl + r을 사용 하여 호출하고 어딘가 와 같이 경로의 일부를 입력하십시오 . 아마도 cd 명령이 나타납니다. :)


9

"alias"명령을보십시오.

csh에서 :

alias commandplace "cd /user/something/somefolders/somewhere"

sh에서 :

alias commandplace="cd /user/something/somefolders/somewhere"

그러나 나는 symlink 솔루션을 좋아한다.

ln -s /user/something/somefolders/somewhere ~/commandplace 

참고 : ln은 cp와 동일한 순서로 인수를 사용합니다.


9

당신이 할 수있는 또 다른 일은 환경 변수에 문제의 경로를 저장하는 것입니다. ~/.profile파일에 다음 줄을 추가 하십시오.

somedir=/user/something/somefolders/somewhere
export somedir

그런 다음 다음을 사용하여 디렉토리에 액세스 할 수 있습니다

cd "$somedir"

1
모든 명령에 변수를 사용할 수 있기 때문에 이것은 최고의 솔루션 imo입니다. 별명을 지정하면 해당 별명은 항상 cd와 같은 명령에 연결됩니다.
BdN3504

이것이 내가 기대하고 있었고 찾고 있던 해결책입니다. BdN3504가 언급 한 이유.
inspirednz

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