디렉토리를 자주 변경하는 경우 타이핑을 최소화하는 방법은 무엇입니까? ../20100802-rev126-bar 일반적으로 탭 완성을

명령 행에서 다른 디렉토리를 쉽게 전환 할 수있는 좋은 Linux 명령은 무엇입니까?

자주 긴 이름을 가진 다른 디렉토리로 전환해야합니다 (예 :

cd foo/20100801-rev124-test2
ls
cd ../20100801-rev124-test1
ls
cd ../20100802-rev126-bar

일반적으로 탭 완성을 사용하므로 다음과 같습니다.

cd ../2010080<TAB>2<TAB>-rev12<TAB>6-<TAB>bar

그러나이 모든 이름들이 매우 유사하기 때문에 성가시다. 따라서 탭 완성은 실제로 많은 작업을 저장하지 않는다.

그런 상황에서 타이핑을 최소화하기 위해 어떤 트릭을 사용합니까?

BTW, 나는 사용한다. pushdpopd 때때로, 그러나 여기에서는 주어진 순서대로 디렉토리를 방문하지 않기 때문에별로 도움이되지 않을 것입니다.

최신 정보:

좋은 해결책은 대답을 수락했다. 내 다른 사람에게, 관련 질문 . 기본적으로 대안을 만드십시오. cd 명령:

function cd2 { select a in $1*; do cd $a; break; done }

가능한 모든 완료를 한 번에 나열합니다.

$ cd2 2010080
(1) 20100801-rev124-test2
(2) 20100801-rev124-test1
(3) 20100802-rev126-bar

번호를 입력하여 하나를 선택할 수 있습니다.



답변

그만큼 dirs -v 명령은 각 디렉토리 앞에 번호가있는 디렉토리 스택을 나열하고 pushd 명령을 사용하여 해당 디렉토리로 건너 뜁니다. 예를 들어, if dirs -v 변경하고자하는 디렉토리에 2 그 앞에 (즉, 목록의 세 번째 디렉토리), pushd +2 해당 디렉토리로 변경됩니다.

타이핑을 줄이기 위해 다음과 같은 별칭을 지정하여 명령을 단축 할 수 있습니다.

alias dv="dirs -v"
alias pd=pushd

답변

와일드 카드를 사용할 수 있습니다.

cd ../*test1 or even cd *t1
cd ../2010*test2
cd ../*bar

그것들은 훨씬 더 유연하고 각기 다른 상황에 대한 스크립트를 계획 할 필요가 없습니다. 일단 익숙해지면 모든 종류의 디렉토리에 사용할 것입니다.
예 :

cd /e*/n*k will take you to /etc/network
cd /h* to /home

그들은 어디에서나 사용할 수 있습니다 ( ls 또한 물론 볼 수 있도록 필터링 할 수 있습니다)

배쉬 와일드 카드


답변

  1. hist 명령을 사용하여 실행 한 모든 명령의 내역을 가져 오십시오.
  2. 자주 cd 할 각 디렉토리에 대해 cd 명령을 사용하여 쉘 스크립트를 작성하십시오.

답변

  • 탭 완료
  • 히스토리 액세스 (특히 화살표 키 액세스를 제공하는 셸에서)
  • bash에서는 popdpushd

답변

이런 질문에서, 나는 당신이 사용하는 쉘을 언급하는 것을 말하고 싶습니다. 각 쉘에는 약간 다른 도구가 있습니다. 여기 내 대답은 bash에 적용됩니다. 아마 사용.

또한, ‘Frank Computer’에게 쉘 스크립트를 사용할 수 없으며, 자체 프로세스를 생성하고, 그 프로세스에서 cd를 종료하고, 현재 쉘이 여전히 사용자의 위치에 있습니다.

나는 ‘별칭’이 당신의 친구라고 생각합니다. 같은 것을 추가하십시오 :

alias CD_test2-'cd /absolute/path/to/foo/20100801-rev124-test2'

.bashrc (또는 .kshrc 또는 zshrc)

bash에는 env var도 있습니다. CDPATH, 상대 경로로 cd’ing에 대한 앵커로 사용할 수 있습니다. 예 :

CDPATH=/usr:.; cd bin

거기에 /usr/bin 너를 거기두고, 그렇지 않다면 너를 넣어 라. ./bin. 이것은 아마도 도움이되지 않을 것입니다. 아마도이 작업을하기 위해서는 전체 하위 디렉토리를 입력해야 할 것입니다.

CDPATH=/root/to/all/testing/dirs:.; cd 20100801-rev124-test2

최소한 bash에서는 Methinks 별칭을 사용할 수 있습니다. zsh에는 더 나은 도구가있을 수 있습니다.


답변

한밤중 사령관 ( mc )는 터미널 기반 (문자 모드) 파일 관리자입니다. 그것은 당신이 자주 사용하는 목록에 디렉토리를 추가하고 목록에서 그들을 선택하여 cd 할 수있는 핫 -리스트 기능을 가지고 있습니다. 또한 빠른 cd 기능을 가지고 있기 때문에 cd 명령을 입력 할 때 전체 디렉토리에 cd 명령을 입력 할 수 있습니다. mc 명령 행. 일반적인 파일 관리자 탐색을 수행 할 수도 있습니다.

또 다른 키 입력 보호기는 쉘의 CDPATH 변수 (대부분의 셸에서 사용할 수 있음).

CDPATH=/some/top/dir:/another/one
cd foo

“foo”가 현재 디렉토리에 존재하면, cd 너를 거기로 옮길거야. 그렇지 않은 경우 디렉토리에서 다음을 검색합니다. CDPATH 거기서 찾은 첫 번째 “foo”로 이동합니다.