터미널에서 디렉토리를 쉽게 탐색하는 방법

2228 단어 linux
PATH 환경 변수에 대해 알고 있습니다. CDPATH에 대해 알고 계셨습니까? 저처럼 긴cd 명령을 입력했다면 이 게시물이 적합합니다.

나는 오늘 아침 Daniel Barrett의 새 책Efficient Linux at the Command Line을 읽으면서 이 보석을 발견했습니다. 이것은 cd 명령이 현재 디렉토리가 아닌 다른 위치에서 지정한 디렉토리를 검색하도록 지시합니다.
cd 검색 경로는 명령 검색 경로$PATH처럼 작동합니다. 그러나 명령을 찾는 대신 하위 디렉터리를 찾습니다. 셸 변수 CDPATH 로 구성할 수 있으며 형식은 PATH 변수와 동일하며 콜론으로 구분된 디렉터리 목록입니다.

가장 자주 방문하는 디렉토리를 포함하도록 ~/.zshconfig 또는 ~/.bashrc 파일에서 이 변수를 설정하십시오.

export CDPATH=$HOME:$HOME/software:$HOME/software/ruby:$HOME/software/rails:$HOME/software/youtube


이제 디렉토리에 들어가려고 할 때마다cd 쉘은 현재 디렉토리 외에 위의 모든 위치를 살펴봅니다.

또한 검색 속도가 매우 빠릅니다. 지정한 상위 디렉토리에서만 검색되며 다른 항목은 검색되지 않습니다.

예를 들어 $HOME/software/blog 디렉토리가 있고 CDPATH 디렉토리를 포함하도록 $HOME/software를 구성했다고 가정해 보겠습니다.

이제 파일 시스템의 아무 곳에서나 cd blog를 입력하면 미리 구성된 다른 경로에서 다른 cd 디렉토리를 찾지 않는 한 $HOME/software/blog 명령이 blog 디렉토리로 이동합니다. 따라서 CDPATH의 순서가 중요합니다. $CDPATH의 두 디렉토리에 blog라는 하위 디렉토리가 있는 경우 이전 상위 디렉토리가 우선합니다.

위의 예에서 cd는 다음 디렉토리를 찾거나 실패할 때까지 순서대로 다음 디렉토리의 존재를 확인합니다.
  • 현재 디렉터리
  • $HOME/software/blog
  • $HOME/software/ruby/blog
  • $HOME/software/rails/blog
  • $HOME/software/youtube/blog

  • 요약,

    Set CDPATH with your most important or frequently used parent directories, and you can directly cd into them or their subdirectories no matter where you are in the file system. You don't have to type the full path anymore.



    저를 믿으세요. 이것은 정말 멋집니다. 쉘을 사용하는 방식이 변경되었습니다.

    좋은 웹페이지 즐겨찾기