Como navego para cima em um diretório do terminal?


16

Super pergunta noob: eu posso navegar no diretório usando a cdpartir do terminal. Como navego de volta se for longe demais?



unix.stackexchange.com/a/81232/18237, ótimo para trabalhar em vários ramos de diretório e marcar um ponto "inicial" para voltar a #
Mateo

Eu sei que nenhum de vocês quer admitir que era tão estúpido, mas essa pergunta atingiu 1000 visualizações. então haha eu sei que outras pessoas como eu estão lá fora. : P
Vince Scalia

Respostas:


30

cd .. trará de volta exatamente um diretório.

Você pode agrupar aqueles para subir em vários diretórios, por exemplo, até 3

cd ../../..

Em vez de digitar cd ..várias vezes, o que você pode fazer é colocar a função abaixo no seu, em .bashrcalgum lugar no topo, salvar .bashrce executar source .bashrcou apenas fechar e reabrir um terminal. Agora, você tem uma função que executa cd..exatamente quantas vezes você pediu.

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

Demo:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

Alternativamente:

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

Observe que esse método traz de volta os links simbólicos. Aqui está o que eu quero dizer:

$ 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

Veja também


Adicionado mais algumas informações, confira.
Sergiy Kolodyazhnyy 28/11

Isso pode ser justo for i in $(seq "$1"); do cd ..; done.
Deltab

@Deltab verdade, poderia ser feito também. . . .Mas eu prefiro usar while + counter para simular um loop for. Eu fiz uma pergunta relevante antes no site da U&L #
Sergiy Kolodyazhnyy 29/11
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.