bash에 대한 디렉토리 히스토리가 있습니까? 구조로 이동하려는 경우 역방향 검색 기록과 같은

bash의 역 검색 기록 (Ctrl-r)과 같은 것이 있지만 디렉토리에만 있습니까?

딥 폴더 계층 구조로 이동하려는 경우 역방향 검색 기록과 같은 것을 사용하고 싶지만 폴더 이름 만 찾고 절대 경로를 제공합니다.

본질적으로 !?앞면에 cd가있는 일치하는 명령 만 사용하는 것과 비슷한 결과를 제공하므로 결과와 전체 경로를 단계별로 수행 할 수 있습니다.

지금까지 내가 찾은 최고의 솔루션은 bashmarks 입니다.



답변

autojump를 살펴 보십시오 .

가장 많이 사용되는 쉘 명령 중 하나는 “cd”입니다. 내 친구들 사이의 빠른 조사에 따르면 입력 한 모든 명령의 10 ~ 20 %가 실제로는 CD 명령이라고합니다. 불행히도, cd를 사용하여 시스템의 한 부분에서 다른 부분으로 이동하려면 거의 전체 경로를 입력해야합니다. 이는 실용적이지 않으며 많은 키 입력이 필요합니다.

autojump는 파일 시스템을보다 빠르게 탐색 할 수있는 방법입니다. 명령 줄에서 가장 많이 사용하는 디렉토리의 데이터베이스를 유지 관리하여 작동합니다. jumpstat 명령은 데이터베이스의 현재 내용을 보여줍니다. 데이터베이스를 사용하려면 약간의 작업이 필요합니다. 데이터베이스가 합리적으로 완성되면 다음을 입력하여 일반적으로 “cd”디렉토리로 “점프”할 수 있습니다.
j dirspec


답변

있다

cd -

즉, “cd [space] [hyphen]”명령으로 이전의 디렉토리 (기본적으로 “깊이 1의 기록”)로 이동합니다. 반복 된 “cd-“는 두 디렉토리간에 전환됩니다.

인용 매뉴얼 페이지 :

다음 피연산자가 지원됩니다 : […]

피연산자로 [하이픈]을 사용하는 경우 다음 명령과 같습니다.

      cd "$OLDPWD" && pwd

불행히도, 나는 실제 내장 디렉토리 히스토리를 모른다.


답변

bash는 push / popd / dirs를 푸시했습니다. 내 .bashrc에 디렉토리를 bash의 스택에 자동 푸시하기 위해 이것을 가지고 있습니다.

#let cd also pushd directories into stack. Use popd to reverse stack
function cd ()
{
  if [ -e $1 ]; then
    pushd $1 &> /dev/null   #dont display current stack 
  fi
}

사용하여 팝 popd하고 스택을 사용하여 표시dirs


답변

나는 z-jump에 대한 좋은 경험을 가지고 있습니다. 경로를 밟지 않고 최종 목적지에 대해서만 완료 할 수는 있습니다. 그러나 탭이 완료되면 전체 경로가 표시됩니다.


답변

내 자신의 경험으로 차임하기 위해 얼마 전에이 요구 사항을 해결하는 간단한 스크립트를 작성했습니다. 내장 파일에 새 디렉토리 위치를 추가하는 간단한 함수로 내장 cd 명령을 재정의 한 다음 Python 스크립트를 사용합니다. bash의 역방향 명령 검색과 같이 검색어를 입력 할 때 순서가 지정된 디렉토리 목록을 동적으로 업데이트하는 bash 인터페이스를 제공하십시오.

궁금한 사람들을 위해 git-hub 에서 사용할 수 있습니다 .


답변

ltcd디렉토리 기록을 빠르게 탐색 할 것을 권장합니다 .

https://github.com/dczhu/ltcd

생활을보다 쉽게하기 위해 다음과 같은 기능을 제공합니다.

  • 모든 터미널 탭 / 창에서 최근에 방문한 디렉토리를 보여주는 글로벌 디렉토리 목록.
  • 현재 셸 세션에 로컬 인 로컬 디렉토리 목록.
  • 두 목록 모두 j / k (아래로 / 위로), 숫자 및 단어 검색을 사용하여 빠른 탐색을 지원합니다.
  • 전역 자유 점프 (예 : “cd dir”또는 “cd ar”는 / path / to / foo / bar / directory /로 이동)

답변

bash에서 작동 하는 oh-my-zsh의 명령 과 유사한 기능을 가진 스크립트 를 만들었습니다 . oh-my-zsh를 사용한 적이 있으면 터미널을 종료 할 때마다 명령에서 제공 한 디렉토리 기록 이 재설정 되는 것을 알 수 있습니다 . 그러나이 스크립트 를 사용하면 발생하지 않습니다 .dirs -vdirs -v

기능 :

  • 로 가장 최근에 사용한 10 개의 디렉토리 목록을 표시하십시오 d.

  • 목록에있는 디렉토리 번호를 입력하여 목록의 디렉토리로 이동하십시오. 10 번째 디렉토리로 이동하려면 10 대신 0을 사용해야합니다.

  • v( vim )을 사용 하여 파일을 편집하거나 o( xdg-open )을 사용하여 해당 디렉토리에서 파일을 열 때마다 디렉토리 경로가 목록의 맨 위에 놓 입니다. 또는 원하는 경우 디렉토리를 방문 할 때마다.

여기 에서 실제로 볼 수 있습니다 .