쉬운 접근을 위한 디렉토리에 대한 심볼릭 링크: .bashrc, usr/local/bin, 기타?

쉬운 접근을 위한 디렉토리에 대한 심볼릭 링크: .bashrc, usr/local/bin, 기타?

(민트 19.1, 우분투 18.04 기반)

자주 액세스하는 디렉토리가 있는데 경로가 매우 깁니다. 입력하는 데 지쳤기 때문에 이 디렉토리로 쉽게 이동할 수 있기를 원합니다. 내가 생각할 수 있는 가장 쉬운 방법은 .bashrc다음과 같은 별칭을 만드는 것입니다.

alias goto_project="cd /projectdir"

이것은 작동하지만 사용하고 싶을 때만 작동합니다 cd. 나는 경로에 심볼릭 링크를 추가하여 또는 (파일을 디렉토리로 이동) 과 같은 명령 이나 전역 호출을 /projectdir사용할 수 있도록 하는 것이 더 일반적이라고 생각합니다. 나는 디렉토리의 심볼릭 링크를 (내가 사용한 )에 넣어 보았습니다. 그러나 이는 예상대로 작동하지 않는 것 같습니다. 예를 들어, 호출은 결과를 생성하지 않습니다.cd projectmv file projectrsync/usr/local/binln -s /projectdir /usr/local/bin/projectscd projectwhich projects

이 접근법은 가능하지 않습니까? 아마도 이것이 갈등을 일으킬 수 있기 때문일까요?

답변1

별칭은 명령을 위한 것입니다. 필요한 것은 긴 디렉터리 이름을 참조하는 간단한 변수입니다. ~/.bashrc에 다음과 같은 내용을 추가하세요.

shortdir="/super/long/directory/name"

이제 ls "$shortdir"or 같은 명령을 사용하면 du "$shortdir"원하는 결과를 얻을 수 있습니다.

답변2

Bash를 사용하면 변수가 있습니다 CDPATH. 이와 관련하여 다음과 같은 진술이 있습니다.

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

그런 경우 계층 구조의 아무 곳에 나 a를 /my/super/very/long/path/to/projectdir입력하면 특정 항목으로 이동합니다 ./my/super/very/long/path/to/CDPATHcd projectdir/my/super/very/long/path/to/projectdir

단점(충돌 가능성)이 있지만 실제로 저장된 위치에 관계없이 이름만 알면(또는 실제로 자동 완성 기능을 사용하여) 전환할 수 있도록 모든 git 작업 트리의 상단을 가리킬 때 사용합니다. . 어디.

물론 이는 문제의 "쉬운 CD 방법" 부분만 해결하는 것이지 모든 명령이 작동할 때 임의의 상징적 방식으로 이름을 참조하는 전체적인 문제는 해결하지 않습니다.

당신은 또한 한 번 살펴보고 싶을 수도 있습니다 pushd/ popd어떤 상황에서는 도움이 될 수도 있습니다.

답변3

심볼릭 링크를 생성하면 링크가 생성된 위치에서 해당 디렉토리에 액세스할 수 있습니다. 예를 들어, 귀하의 경우 프로젝트 경로의 길이에 따라 다음을 수행하여 일부 키 입력을 절약할 수 cd /usr/local/bin/projects있습니다 .cd /projectdir

예를 들어 cd /my/super/very/long/path/to/projectdir이전 cd ~/projectdirln -s /my/super/very/long/path/to/projectdir ~/projects.

이것 빼고는,ajgringo619 솔루션그것이 내 마음에 떠오르는 유일한 것입니다.

관련 정보