(민트 19.1, 우분투 18.04 기반)
자주 액세스하는 디렉토리가 있는데 경로가 매우 깁니다. 입력하는 데 지쳤기 때문에 이 디렉토리로 쉽게 이동할 수 있기를 원합니다. 내가 생각할 수 있는 가장 쉬운 방법은 .bashrc
다음과 같은 별칭을 만드는 것입니다.
alias goto_project="cd /projectdir"
이것은 작동하지만 사용하고 싶을 때만 작동합니다 cd
. 나는 경로에 심볼릭 링크를 추가하여 또는 (파일을 디렉토리로 이동) 과 같은 명령 이나 전역 호출을 /projectdir
사용할 수 있도록 하는 것이 더 일반적이라고 생각합니다. 나는 디렉토리의 심볼릭 링크를 (내가 사용한 )에 넣어 보았습니다. 그러나 이는 예상대로 작동하지 않는 것 같습니다. 예를 들어, 호출은 결과를 생성하지 않습니다.cd project
mv file project
rsync
/usr/local/bin
ln -s /projectdir /usr/local/bin/projects
cd project
which 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/
CDPATH
cd 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 ~/projectdir
에 ln -s /my/super/very/long/path/to/projectdir ~/projects
.
이것 빼고는,ajgringo619 솔루션그것이 내 마음에 떠오르는 유일한 것입니다.