나는 터미널을 열고 경로가 매우 긴 동일한 디렉토리에 CD를 많이 넣는 것을 발견했다.
이것은 내가 CD를 많이 쓰고 탭을 사용하여 많은 것을 가속화한다는 것을 의미합니다.
이 디렉토리에 대한 일종의 링크를 가질 수 있다면 그 디렉토리로 cd하면 깊은 중첩 디렉토리에 빠르게 들어갈 수 있습니다.
이게 가능해?
나는 터미널을 열고 경로가 매우 긴 동일한 디렉토리에 CD를 많이 넣는 것을 발견했다.
이것은 내가 CD를 많이 쓰고 탭을 사용하여 많은 것을 가속화한다는 것을 의미합니다.
이 디렉토리에 대한 일종의 링크를 가질 수 있다면 그 디렉토리로 cd하면 깊은 중첩 디렉토리에 빠르게 들어갈 수 있습니다.
이게 가능해?
답변:
복잡한 경로를 cd자주 처리하는 방법은 다음과 같습니다 .
mkdir ~/Links
ln -s /complexpath/there ~/Links
이것은 심볼릭 링크를 만들 것입니다
~/Links/there
이 새로운 사용하려면 Links효율적으로 디렉토리를 로그인 쉘이 경우 bash
당신이 명령 만 포함 ~/.profile(모든 Bourne의 스타일 쉘에 의해 사용되는 bash, ksh, zsh...)
CDPATH=~/Links:.
export CDPATH
즉 cd, 모든 쉘에서 2 개의 디렉토리 내에서 localpathname을 찾습니다.
~/Links
.
테스트하기 위해 세션을 다시 시작할 필요가 없으며 다음을 실행하십시오.
. ~/.profile
그건 그냥 내 읽기를 의미 ~/.profile합니다. ( ~/.bashrc변경하지 않아도 동일한 변수 초기화를 반복 할 필요가 없으므로 입력하지 않아도됩니다.)
테스트 한 후에는 세션을 다시 시작할 수 있습니다;).
지금부터는 갈 때마다 다음 there을 입력해야합니다.
cd there
cdora에 cd $ORACLE_HOME등 ...)
별명을 정의하는 것은 더 긴 명령을 위해 짧은 약어를 갖는 매우 쉬운 방법입니다. 별명을 지정했으면 .bashrc 파일 (또는 다른 시작 파일)에 섹션을 작성하여 시작하는 새로운 쉘마다 별명을 다시 입력하지 않아도됩니다.
.bashrc에서 :
alias ws4='ssh qsv-rhws4'
alias httpdlog='cd /var/log/httpd/'
alias EC2='ssh -i BMTestEC2.pem ec2-user@xxxxxxxx.compute.amazonaws.com'
기타
로그 아웃했다가 다시 (또는 그냥 실행 . ~/.bashrc) 이제 입력 만하면 httpdlogCD가 실행됩니다. 또는 ws4실제로 ssh 명령 등을 수행합니다.
따라서 홈 디렉토리가 엉망인 것처럼 보이게하는 빈 링크를 대량으로 만들 필요가 없습니다.
autojump 및 z와 비슷하지만 더 나은 IMHO와 유사한 fasd 를 강력히 권장 합니다. 웹 사이트에서 :
Fasd ( "fast"와 유사)는 명령 줄 생산성 향상 도구입니다. Fasd는 POSIX 쉘의 파일 및 디렉토리에 빠르게 액세스 할 수 있도록합니다. autojump, z 및 v와 같은 도구에서 영감을 얻었습니다. Fasd는 액세스 한 파일과 디렉토리를 추적하므로 명령 줄에서 빠르게 참조 할 수 있습니다.
fasd라는 이름은 기본 제안 별명 f (파일), a (파일 / 디렉토리), s (쇼 / 검색 / 선택), d (디렉토리)에서 유래합니다.
Fasd는 "frecency", 즉 "frequency"와 "recency"에 의해 파일과 디렉토리의 순위를 정합니다. "frecency"라는 용어는 Mozilla에서 처음 만들어졌으며 Firefox (링크)에서 사용되었습니다.
편의성 심볼릭 링크를 추가하면 특별한 디렉토리에 적합하지만 매우 빨리 관리하기가 어려워집니다. 훨씬 더 나은 해결책은 환경 변수 CDPATH를 사용할 수 bash있으며 다른 쉘에서이 목적으로 만 사용하는 것입니다.
CDPATHPATH디렉토리 이름을 찾을 수 있는 콜론으로 구분 된 장소 (예 :) 입니다. 절대 및 상대 경로 이름을 모두 포함 할 수 있습니다. 나는 다음과 같이 설정했다 export CDPATH=".:..:$HOME/work/repos:$HOME/projects:<etc>".
이 설정을 사용하면 cd pdftools 어디에서나 입력 할 수 있으며로 이동합니다 ~/projects/pdftools. 심볼릭 링크를 사용하면 cd ~/pdftoolsHOME 디렉토리에 없으면 입력 해야합니다. 하위 디렉토리로 바로 가기 할 수도 있습니다 cd pdftools/bin.
..내에서 CDPATH저를 입력 할 수 있습니다 cd sisterdir대신 cd ../sisterdir예상 수 있듯이 난 아무데도 새로운 디렉토리를 만들 때 등 CDPATH그들은 자동으로 찾을 수 있습니다 cd- 새 심볼릭 링크 또는 별칭을 만들 필요합니다.
bash_completion예를 들어 데비안 시스템과 같이 배포 된 파일 을 사용하면이 기능이 더 좋아집니다 . OS X 상자와 함께 제공되지 않으므로 사본을 가져 와서 제대로 작동합니다. (로 가져 brew오거나 여기 에서 수동으로 다운로드 하십시오 .)이 파일은 명령 줄 완성에 대한 개선 사항을 정의하여 입력 할 수 cd pdf<TAB>있고 pdftools디렉토리는 어디에서나 찾을 수 있습니다 CDPATH.
나는 bashmarks를 사용하여 쉽게 "디렉토리에 북마크"를 쉽게 만들 수 있습니다.
https://github.com/huyng/bashmarks 에서 추가 정보를 참조하십시오.
참고 : bashmark의 3 단계 설치 프로세스를 수행하려면 git이 설치되어 있어야합니다. http://git-scm.com/download/mac
행운을 빕니다!
또는 생선 껍질을 설치해 볼 수도 있습니다.
이것은 명령에 대한 훌륭한 예측을 가지고 있습니다. 또한 지능적으로 대소 문자를 구분하지 않고 입력 할 수 있습니다.
물고기의 단점은 자체 스크립팅 언어가 있으며 배쉬와 호환되지 않는다는 것입니다.
git status있습니다. 또한에 일부 별칭이.bash_profile있습니다. 정확히 당신이 요구하는 것이 아니라 관련이 있습니다.