Como ter uma visão melhor ao digitar diretórios no terminal?

8

Atualmente, estou usando um Mac e aprendendo a usar o terminal, mas a questão também se aplica aos sistemas Linux.

Gostaria de perguntar, ao digitar caminhos no terminal / linha de comando, existe uma maneira dentro do terminal para ter uma melhor visualização dos diretórios?

Por exemplo, eu quero cd para um diretório específico. Depois de começar a digitar o endereço, existe uma maneira basicamente de ls em cada diretório? Se, por exemplo, desejar copiar um arquivo de um diretório para outro e digitar 2 caminhos absolutos, preciso memorizar 2 caminhos? Sei que pressionar Tab ajuda no preenchimento automático, mas e se eu não souber a primeira letra?

No momento, dependo de usar o Finder para isso, mas imagino que as pessoas que usam o terminal exclusivamente tenham uma maneira melhor.

Obrigado !

user1367903
fonte

Respostas:

9

Tabé exatamente o que você precisa. Se você acertar tabduas vezes, mostrará todas as conclusões possíveis:

$ cd /usr/  ## Hit tab twice here
bin/     include/ lib64/   sbin/    src/     
games/   lib/     local/   share/   var/     

Você não precisa saber a primeira letra, a segunda tablhe mostrará tudo.

Terdon
fonte
A guia <kbd> </kbd> também se aplica à linha de comando do Windows.
Hind-D
E bash / zsh pelo menos no linux
linuxdev2013
5

Algumas palavras mais sobre Tab

Tabé ótimo concluir um comando escrito parcial (ou uma opção) entre os disponíveis, conforme sublinhado por Terdon em outra resposta .

Para concluir um comando, basta pressionarTab uma vez. Para ter a lista completa, pressioneTab novamente.
Além disso, você pode personalizar o comportamento deTab . Tente, por exemplo, essas 2 linhas:

bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"

O primeiro Tabmostra todas as possibilidades e o comando é completado automaticamente com o primeiro disponível; a partir da segunda vez que você pressiona Tab , o comando começa a circular entre eles.

Notas:

Você pode escrever seus próprios scripts de conclusão do bash , com opções de regras ...
Existem mais algumas dicas no artigo Uma introdução à conclusão do bash : a primeira parte é para as bases e a segunda para escrever seu próprio script.

Você pode achar interessante bind completee as referências aqui abaixo.

2ª resposta: caminhos absolutos e atalhos

Nem sempre é obrigatório escrever o caminho absoluto (completo) em cada comando, mesmo que seja uma boa prática quando você escreve um script e deseja evitar o risco de explorar como cavalos de Troia .

Há algum atalho para ir mais rápido, como, por exemplo, Tab, , , e um todas as variáveis definidas no shell atual. Alt+..~

Aqui abaixo alguns exemplos ( .significa aqui e ~significa lar ):

Para copiar um arquivo para o diretório atual, basta escrever Para copiar do diretório para um arquivo atual, você pode escrever Para copiar um arquivo do diretório atual para o último, escreva o último argumento do último comando armazenado no histórico . Se pressionado novamente, substituirá o que foi encontrado com o da posição anterior no histórico do bash. Com um exemplo é mais simples:cp /my/far/far/away/myfile .
homecp ~/myfile .
cp myfile $OLDPWD
Alt+.

mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
   # press `Alt + .` again and you will see "cd OldDir"

Referências:

Hastur
fonte
2

E dê uma olhada Midnight Commander- um gerenciador de arquivos em modo texto que é realmente ótimo. Você pode navegar em dois painéis, uma vez que um arquivo localizado em uma simples F5 o copie. O F6 move ... Eu uso muito terminais, se não na maioria das vezes, mas não poderia viver sem mc(o nome normal do pacote).

jcoppens
fonte