터미널에서 하나의 디렉토리를 어떻게 탐색합니까?


16

슈퍼 멍청한 질문 : cd터미널에서 사용하여 디렉토리를 탐색 할 수 있습니다 . 너무 멀리 가면 어떻게 다시 탐색합니까?



unix.stackexchange.com/a/81232/18237 여러 디렉토리 브랜치에서 작업하고 "시작"지점을 표시하는 데 적합
Mateo

나는 당신이이 멍청한 사람임을 인정하고 싶지 않다는 것을 알고 있지만,이 질문은 단지 1000 회 조회에 도달했습니다. 그래서 하하 내가 거기있는 것처럼 나는 다른 사람들을 알고있다. : P
Vince Scalia

답변:


30

cd .. 정확히 하나의 디렉토리를 다시 불러옵니다.

여러 개의 디렉토리로 이동하기 위해 이들을 묶을 수 있습니다 (예 : 위로 3 개)

cd ../../..

cd ..여러 번 입력 하는 대신 함수 벨로우즈를 .bashrc맨 위 어딘가에 놓고 저장 .bashrc하고 실행 source .bashrc하거나 터미널을 닫았다가 다시 열면됩니다. 자, 당신은 cd..당신이 말한 것과 정확히 몇 번을 하는 기능을 가지고 있습니다 .

function goUp {
  num=$1
  while [ $num -ne 0  ];do
    cd ..
    num=$((num-1))
  done
}

데모:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

또는

goup(){ 
    cd $(n=$1 awk 'BEGIN{
        for(i=1;i<=ENVIRON["n"];i++) 
            printf "../"}';) 
}

이러한 방법을 사용하면 심볼릭 링크가 다시 나타납니다. 여기 내가 의미하는 바가있다 :

$ namei "$PWD" 
f: /home/user/VirtualBox VMs/CentOS
 d /
 d home
 d user
 l VirtualBox VMs -> /mnt/ubuntu/vboxvms
   d /
   d mnt
   d ubuntu
   d vboxvms
 d CentOS

$ goup 2
$ pwd
/home/user

또한보십시오


더 많은 정보를 추가하고 확인하십시오.
Sergiy Kolodyazhnyy

그건 그냥 될 수 있습니다 for i in $(seq "$1"); do cd ..; done.
델탭

@deltab true, 수행 할 수도 있습니다. . . 하지만 while + 카운터를 사용하여 for 루프를 시뮬레이션하는 것을 선호합니다. 나는 U & L 사이트에서 관련 질문을하기 전에
Sergiy Kolodyazhnyy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.