Como voltar n níveis de diretórios da linha de comando?

7

Por exemplo, eu faço o seguinte cd s em sucessão -

cd /tmp
cd /home/admin
cd /root/
cd /some_other/directory

Agora estou em /some_other/directory . Agora, existe alguma maneira de voltar ao /tmp , o diretório de onde eu comecei, a partir da linha de comando? Assim como nós navegamos em diretórios usando o botão voltar na GUI?

cd - só me leva um nível para trás.

    
por Pavan Manjunath 18.10.2012 / 09:03

3 respostas

6

Isso é específico do shell. Em um shell POSIX puro, você não pode sem digitar cd / tmp novamente. Em csh, tcsh, bash ou zsh, você pode usar pushd em vez de cd para alterar os diretórios e, em seguida, popd +1 para o primeiro diretório que você colocou na pilha.

    
por 18.10.2012 / 09:16
4

Leia este artigo do LinuxGazette sobre como adicionar um histórico ao cd com alguns scripts simples. É bastante utilizável.

Se você quer ser chique, então existe um programa chamado autojump (homepage aqui ) que mantém o histórico dos diretórios visitados, fornece atalhos e geralmente suporta "inteligente" cd .

autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line. The jumpstat command shows you the current contents of the database. You need to work a little bit before the database becomes usable. Once your database is reasonably complete, you can “jump” to a commonly "cd"ed directory by typing: j dirspec

    
por 18.10.2012 / 09:38
1

Eu estava procurando o mesmo problema e me deparei com a solução alternativa / atalho para alterar n diretórios de volta. Espero que isso ajude para o próximo visitante aqui.

Basta adicionar o seguinte ao bash_profile se você estiver usando um shell bash. Para outros shell's use de acordo com sua sintaxe.

    alias ..="cd .."
    alias ..2="cd ../.."
    alias ..3="cd ../../.."
    alias ..4="cd ../../../.."
    alias ..5="cd ../../../../.."

    # cd /tmp/very/long/directory/structure/that/is/too/deep
    #..4
    [Note: use ..4 to go up 4 directory level]
    # pwd
    /tmp/very/long/directory/structure/

Você também pode usar apenas pontos, em vez de pontos, seguidos de um número. A descrição detalhada está disponível no link abaixo.

Fonte: link

    
por 04.06.2015 / 13:50