각 디렉터리에서 사용할 수 있는 심볼릭 링크를 정의하는 방법

각 디렉터리에서 사용할 수 있는 심볼릭 링크를 정의하는 방법

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

등 의 명령을 사용하고 싶습니다 cd project.nano project/file1.tex

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

답변1

대부분의 쉘에는 에서와 같이 변경할 디렉토리를 찾는 CDPATH변수가 있습니다 .cd$PATH

~/projects따라서 디렉토리 에 심볼릭 링크를 추가 하고 을 수행 CDPATH=~/projects하면cd foo~/projects/foo

의 경우 경로가 포함되어 zsh있으면 해당 경로에서 작업을 수행할 수 있습니다. 유용한 부분은 프롬프트가 나타날 때 이를 반영하는 것입니다.$varcd ~varcd%~

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

대신 또는 를 사용할 수 setopt cdablevars있습니다 .cd proj1cd ~proj1

답변2

심볼릭 링크 대신 변수를 사용할 수도 있습니다.

export project=/home/me/project

그 다음에

cd $project

또는

vim $project/file

고쳐 쓰다

peterph가 지적한 것처럼 이러한 요소(미리 정의된 변수 포함)를 결합할 수도 있습니다.

export project=$HOME/project

관련 정보