Como evitar escrever nomes de arquivos completos

Como evitar escrever nomes de arquivos completos

Eu queria saber se existe uma maneira no shell do Linux de digitar a primeira parte exclusiva de um nome de arquivo ou nome de diretório e, em seguida, adicionar "~" ou "..." e evitar escrever o nome do arquivo inteiro.

Por exemplo, se eu tiver quecdpara o diretório

example-program-source-0.11.229-dev

Em vez de escrever

cd example-program-source-0.11.229-dev

Só para escrever algo assim

cd example-program...

Ou

cd example-program~

Acho que deveria haver algo assim integrado no shell, mas não sei exatamente o que procurar.

Responder1

A maioria dos shells suporta o que é conhecido como "Tab Completion". Basta digitar a parte exclusiva do nome do arquivo e pressionar a Tabtecla. O shell deve preencher automaticamente o restante do nome do arquivo para você. Se ainda houver vários arquivos que correspondam ao que você digitou até agora, o shell percorrerá os arquivos correspondentes quando você clicar Tabou imprimirá uma lista de todos os arquivos correspondentes quando você clicar duas vezes em Tab, dependendo da configuração. Por padrão, o Bash imprime uma lista quando você toca Tabduas vezes.

Responder2

Você pode usar *como curinga:

cd example-program*

Observe que isso se expandirá paratodosos arquivos que correspondem ao curinga. No seu caso, você só poderá usá-lo se houver apenas um caminho começando com example-program. Se houver vários diretórios com o prefixo, o comando será efetivamente expandido para, por exemplo:

cd example-program-source-0.11.229-dev example-program-other example-program.txt

Isto pode ser útil se você de fatoquererpara trabalhar em vários arquivos, por exemplo, se quiser mostrar o conteúdo de todos .logos arquivos em uma pasta:

cat *.log

informação relacionada