/usr/local/bin
CD를 사용 했지만 비밀번호를 로 변경하고 싶다고 가정해 보겠습니다 /usr/bin
. zsh로 어떻게 할 수 있나요? 비밀번호를 로 변경하기 위해 cd /a/b/
와 같은 작업을 수행할 수 있다는 것을 알고 있지만 원하는 작업을 수행하는 방법을 잘 모르겠습니다.cd b c
/a/b
답변1
zsh의 유연한 기능을 고려하면 cd
원하는 작업을 수행하는 데 최소한 세 가지 방법이 있습니다. cd /usr/local /usr
또는 cd local /
또는 을 쓸 수 있습니다 cd local/bin bin
. 아마도 더 많은 해결책을 생각해낼 수 있을 것입니다.
cd
zsh의 구문은 입니다 cd OLD NEW
. 이 명령은 $PWD
와 일치 OLD
하고 일치하는 부분을 으로 바꿉니다 NEW
. 이는 현재 디렉토리를 기준으로 작동한다는 점을 명심해야 합니다 . 따라서 에 있는 동안 cd
작성하면 와 같은 디렉토리가 없기 때문에 zsh에서 오류가 발생합니다 . 항상 슬래시를 조심하십시오.cd /usr/local usr
/usr/local/bin
/usr/local/bin/usr/bin
답변2
당신은 사용할 수 있습니다2인수 형식cd
현재 작업 디렉토리의 하위 문자열을 대체합니다. 예를 들어 제거하려면 /local
다음을 사용할 수 있습니다.
cd /local ''
슬래시가 여러 개 있어도 아무런 차이가 없으므로 cd /local /
(결과는 /usr//bin
이고 이중 슬래시는 단일 슬래시로 단순화됨) 또는 cd local /
(결과도 /usr//bin
)로 쓸 수도 있습니다.
또 다른 접근 방식은 명령줄 버전을 사용하는 것입니다. 기본 설정으로 cd $PWD
명령줄에 입력한 다음 키를 누르세요 Tab. 변수 대체가 변수 값으로 바뀌고 원하는 대로 편집할 수 있습니다. 아래에서는 먼저 setopt auto_cd
작성할 필요가 없습니다 cd
. 구성으로 인해 Tab변수가 확장되지 않으면 . expand-or-complete
대신 zle 함수를 호출하는 키를 사용하십시오 complete-word
.