모든 디렉토리에서 사용할 수있는 기호 링크를 정의하는 방법


11

예를 들어 project디렉토리를 가리키는 데 사용할 수 있도록 심볼릭 링크를 설정할 수 home/me/project있습니까? 이것은 파일 시스템의 위치와 무관해야합니다.

내가 좋아하는 명령을 사용하려면 cd project, nano project/file1.tex등등을.

모든 디렉토리에 대한 심볼릭 링크를 작성해야합니까?

답변:


15

대부분의 셸에는 실행 파일을 검색하는 것과 같은 방식으로 디렉토리를 검색 할 수 있는 CDPATH변수가 cd있습니다 $PATH.

따라서 ~/projects디렉토리에 심볼릭 링크를 추가 하고 할 CDPATH=~/projects경우 cd foo들어갈 수 있습니다.~/projects/foo

가진 zsh경우, $var당신이 할 수있는 경로 포함 cd ~varcd그 경로를. 그 유용한 부분은 프롬프트가 표시되면 프롬프트에 %~반영됩니다.

$ proj1=/usr/local proj2=/etc/apache2
$ PS1='%~$ '
$ cd ~proj1
~proj1$ cd ~proj2/sites-enabled
~proj2/sites-enabled$

을 사용하면 대신 대신 setopt cdablevars할 수 있습니다 .cd proj1cd ~proj1


9

심볼릭 링크 대신 변수를 사용하고 싶을 것입니다. 예 :

export project=/home/me/project

그때

cd $project

또는

vim $project/file

최신 정보

peterph가 지적한 것처럼, 사전 정의 된 변수를 포함하여 다음을 결합 할 수도 있습니다.

export project=$HOME/project

1
또는 더 나은 project=$HOME/project...
peterph

@peterph 또는 더 간단한 ~/project.
Stéphane Chazelas

4
와 함께 zsh, 당신은 또한 할 수있는 setopt cdablevars다음과cd project
스테판 Chazelas가

@ StephaneChazelas : 좋은 지적이라고 생각합니다. zsh아마도 특정 해답을 별도의 답변으로 추가 할 수 있습니까?
jmetz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.