0Pricing
Linux Command Line & Bash Scripting Mastery · Aula

Expansão e Globbing do Shell

Entenda como o shell expande comandos, incluindo expansão de chaves, expansão de til e padrões de correspondência de nomes de arquivos.

Expansão e Globbing do Shell é uma aula grátis de Linux Command Line & Bash Scripting Mastery no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Command Line & Bash Scripting Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Command Line & Bash Scripting Mastery inclui 4 aulas no total.

O que é expansão do shell?

No Linux, o shell funciona como um tradutor entre você e o sistema operacional. Antes de executar seu comando, ele geralmente realiza uma espécie de "mágica" chamada expansão.

A expansão do shell significa que ele procura caracteres especiais ou padrões no seu comando e os substitui por outra coisa. Isso acontece antes de o comando ser realmente executado, reduzindo a digitação e tornando os comandos mais poderosos!

Seu diretório pessoal com til `~`

A expansão do til (~) é um atalho muito prático. Ela é expandida automaticamente para o diretório pessoal do usuário atual.

Em vez de digitar /home/yourusername, pode simplesmente usar ~. Isso é especialmente útil para navegar ou fazer referência a arquivos na sua pasta pessoal.

echo ~
echo ~/Documents

Til para outros usuários

O til não serve apenas para o seu próprio diretório pessoal! Também pode usá-lo para fazer referência ao diretório pessoal de outro usuário.

Ao digitar ~username, o shell expandirá isso para o diretório pessoal do "username" especificado. Isso é ótimo para acessar arquivos ou configurações compartilhados.

  • ~root seria expandido para /root
  • ~guest seria expandido para /home/guest

Expansão de chaves `{}`

A expansão de chaves permite gerar sequências de caracteres arbitrárias. É uma forma rápida de criar vários itens a partir de um único padrão, sem precisar digitar todos eles.

O shell expandirá o conteúdo dentro das chaves {} em uma lista de palavras separadas. Isso é muito útil para criar arquivos ou diretórios com nomes semelhantes ou para executar comandos em vários itens.

echo {apple,banana,cherry}

Intervalos com chaves

Também pode usar a expansão de chaves para gerar sequências de números ou letras. Isso é feito usando dois itens separados por .. dentro das chaves.

O shell gerará todos os itens da sequência, facilitando a criação de arquivos ou diretórios numerados ou a iteração por um conjunto de valores.

echo file_{1..3}.txt
echo {a..c}_report.log

Introdução ao uso de curingas

O uso de curingas é a forma como o shell encontra nomes de arquivos e caminhos usando caracteres curinga especiais. É como usar um "padrão de pesquisa" para encontrar arquivos.

Quando digita um comando como ls *.txt, o shell não envia *.txt para ls. Em vez disso, ele expande *.txt para uma lista de todos os arquivos correspondentes no diretório atual e então passa essa lista para ls.

Correspondendo a tudo com `*`

O asterisco (*) é o curinga mais comum. Ele corresponde a zero ou mais caracteres em um nome de arquivo.

Pode usá-lo para corresponder a qualquer sequência de caracteres, o que o torna extremamente versátil para selecionar arquivos com base em partes de seus nomes.

mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_test

Correspondendo a um caractere com `?`

O curinga ponto de interrogação (?) corresponde a exatamente um caractere.

Isso é útil quando sabe o tamanho exato da parte do nome de arquivo que deseja encontrar, mas não o caractere específico.

mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_test

Caracteres específicos `[]`

Pode usar colchetes ([]) para corresponder a qualquer caractere individual dentro de um conjunto especificado.

Isso permite uma correspondência mais precisa do que ?. Pode listar caracteres individuais ou especificar um intervalo (por exemplo, [a-z] para qualquer letra minúscula, [0-9] para qualquer algarismo).

mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_test

Combinações de curingas

Pode combinar diferentes padrões de curingas e até mesmo a expansão de chaves para selecionar arquivos de forma poderosa.

O shell processa essas expansões da esquerda para a direita, criando padrões complexos que correspondem exatamente ao que precisa.

mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_test

Verificação rápida

Qual dos comandos a seguir listará os arquivos chamados report1.doc, report2.doc e report3.doc, mas NÃO reportA.doc?

Recapitulação e próximos passos

Excelente trabalho! Você aprendeu como o shell expande os comandos antes mesmo de executá-los. Essa "mágica" torna seu trabalho na linha de comando muito mais eficiente.

  • Expansão do til (~): um atalho para diretórios pessoais.
  • Expansão de chaves ({}): gera sequências ou textos personalizados.
  • Uso de curingas (*, ?, []): encontra nomes de arquivos usando curingas para uma seleção poderosa baseada em padrões.

Entender essas expansões é essencial para escrever comandos eficazes e concisos. Continue praticando!

Perguntas Frequentes

A aula “Expansão e Globbing do Shell” é grátis?

Sim — o texto completo de “Expansão e Globbing do Shell” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Command Line & Bash Scripting Mastery, atualize para CoddyKit PRO. O curso de Linux Command Line & Bash Scripting Mastery inclui 4 aulas no total.

O que vou aprender em “Expansão e Globbing do Shell”?

Entenda como o shell expande comandos, incluindo expansão de chaves, expansão de til e padrões de correspondência de nomes de arquivos. Você pratica Linux Command Line & Bash Scripting Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Linux Command Line & Bash Scripting Mastery?

Nenhuma experiência prévia é necessária. Linux Command Line & Bash Scripting Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Expansão e Globbing do Shell”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Linux Command Line & Bash Scripting Mastery?

Sim. Cada aula de Linux Command Line & Bash Scripting Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Controle de Tarefas (bg, fg, jobs)
  2. Expansão e Globbing do Shell
  3. Aliases e Prompts Personalizados
  4. Funções de Shell e Fragmentos Reutilizáveis
← Voltar para Linux Command Line & Bash Scripting Mastery