Como se mover entre dois diretórios muito diferentes no terminal?

0

Quando movo arquivos com um gerenciador de arquivos GUI, navego até o diretório de origem e de destino em duas janelas diferentes e, em seguida, arrasto e solto. Existe uma maneira de fazer isso no BASH (mover um arquivo para um diretório, mas ser capaz de navegar para o novo diretório em vez de precisar saber o caminho completo imediatamente para colocar no argumento)

Eu sei como usar comandos como mv e cp, mas ambos usam um caminho completo como argumento, e eu quero poder navegar para o novo destino separado da navegação para o arquivo de origem ... se isso faz sentido

    
por chasemc67 19.09.2013 / 00:32

6 respostas

2

Não tenho certeza se entendi, mas você quer um gerenciador de arquivos de console para poder navegar em suas pastas em dois painéis. Você poderia tentar com o comandante da meia-noite .

Instale-o com:

sudo apt-get install mc
    
por Alter Lagos 19.09.2013 / 19:30
2

Existem dois comandos para permitir que você alterne facilmente entre os diretórios:

pushd
popd

Por exemplo, navegue até o primeiro diretório com cd:

cd /home/aperson/more/path/to/a/very/long/and/annoying/to/type/

Em seguida, use pushd para ir para o outro diretório:

pushd /home/aperson/more/path/to/a/different/very/long/and/annoying/to/type/

Agora, quando você chamar popd novamente, você voltará ao primeiro diretório.

Isso ajuda na navegação, mas você ainda precisará fazer seu mv ou cp separadamente.

Dependendo de quanto você precisa fazer, pode valer a pena atribuir seus caminhos a variáveis, para que você não precise digitar o caminho completo:

DIR1="/home/aperson/a/very/long/and/annoying/to/type/"
DIR2="/home/aperson/a/different/very/long/and/annoying/to/type/"

Agora você pode usar $DIR1 e $DIR2 para se referir aos diretórios, por exemplo

cp somestuff.stuff $DIR1
cd $DIR1
mv somestuff.stuff $DIR2
cd $DIR2
    
por Michael Shaw 09.07.2015 / 15:45
1

Esta não é exatamente a navegação, mas acredito que o que você está procurando é TAB AUTO COMPLETION.

Isso permitirá que você obtenha a parte integral de qualquer diretório sem precisar conhecê-lo.

Aqui está um ótimo tutorial para isso .

    
por ps95 09.07.2015 / 09:59
1

Eu não entendo porque ninguém mencionou duas maneiras fáceis de alcançar o que op pede.

Primeira maneira:

cd -  #goes back to previous directory

Segunda via:

cd $OLDPWD

Para mais informações, confira o seguinte link link

EDIT: Eu encontrei realmente uma função .bashrc agradável no seguinte link por Adam Katz, que é uma obrigação para facilitar a navegação no shell bash: navegação rápida no diretório">

Eu tentei, funciona bem.

    
por kenn 09.07.2015 / 16:29
0

Você pode usar o recurso de guia que vem com o terminal do Ubuntu ( ctrl + shift + t ). Dessa forma, você pode procurar seu diretório de destino na segunda guia usando os comandos cd e ls . em seguida, uma vez no diretório desejado, você poderia usar o comando pwd (print working directory) para obter o caminho completo para o diretório mencionado. Depois de ter feito isso, copie e cole o caminho para a primeira guia do terminal em que você está executando o comando cp ou mv .

Sevocênãoestáfamiliarizadocomcdels,aquiestáumótimotutorialparaalgunsdoscomandosbashbásicos.

Curso intensivo de linha de comando

Espero que isso seja útil para você.

    
por Bryan 19.09.2013 / 00:41
0

Outra opção é mais parecida com a ideia de cortar e colar da GUI.

cd /long/path/to/wherever/the/file/is/now
mv file_to_move /tmp/
cd /destination/directory/somewhere/else/
mv /tmp/file_to_move ./

Mas, na verdade, envolve muito mais digitação do que um simples single cp <source> <destination>

    
por Popup 09.07.2015 / 09:53