명령 행에서 다른 디렉토리를 쉽게 전환 할 수있는 좋은 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, 나는 사용한다. pushd
과 popd
때때로, 그러나 여기에서는 주어진 순서대로 디렉토리를 방문하지 않기 때문에별로 도움이되지 않을 것입니다.
최신 정보:
좋은 해결책은 대답을 수락했다. 내 다른 사람에게, 관련 질문 . 기본적으로 대안을 만드십시오. 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
또한 물론 볼 수 있도록 필터링 할 수 있습니다)
답변
- hist 명령을 사용하여 실행 한 모든 명령의 내역을 가져 오십시오.
- 자주 cd 할 각 디렉토리에 대해 cd 명령을 사용하여 쉘 스크립트를 작성하십시오.
답변
- 탭 완료
- 히스토리 액세스 (특히 화살표 키 액세스를 제공하는 셸에서)
- bash에서는
popd
과pushd
답변
이런 질문에서, 나는 당신이 사용하는 쉘을 언급하는 것을 말하고 싶습니다. 각 쉘에는 약간 다른 도구가 있습니다. 여기 내 대답은 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”로 이동합니다.