Introdução
Os curingas (wildcards) do Linux são caracteres especiais que permitem pesquisar e manipular múltiplos arquivos simultaneamente com base em padrões em seus nomes. Eles são ferramentas poderosas para gerenciar arquivos de forma eficiente no ambiente da linha de comando. Neste laboratório, você aprenderá como usar diferentes curingas para realizar operações comuns, como listar, copiar e remover arquivos com base na correspondência de padrões.
Entendendo o Curinga Asterisco (*)
O asterisco * é o caractere curinga mais comum no Linux. Ele representa qualquer número de caracteres (incluindo zero caracteres) em um nome de arquivo. Isso o torna incrivelmente útil para trabalhar com grupos de arquivos que compartilham padrões de nomenclatura semelhantes.
Vamos praticar o uso do curinga asterisco:
Primeiro, abra seu terminal e navegue até o diretório do projeto:
cd ~/projectCrie um diretório de prática para este laboratório e navegue até ele:
mkdir -p wildcard_practice cd wildcard_practiceAgora, vamos criar alguns arquivos de exemplo para trabalhar:
touch file1.txt file2.txt file3.txt document1.pdf document2.pdf image.jpgUse o comando
lspara listar todos os arquivos no diretório:lsVocê deve ver todos os arquivos que acabou de criar:
document1.pdf document2.pdf file1.txt file2.txt file3.txt image.jpgAgora, vamos usar o curinga asterisco para listar apenas os arquivos de texto:
ls *.txtEste comando deve exibir apenas os arquivos que terminam com
.txt:file1.txt file2.txt file3.txtVocê também pode usar o curinga para corresponder arquivos que começam com um padrão específico. Para listar todos os arquivos que começam com "file":
ls file*Este comando deve mostrar:
file1.txt file2.txt file3.txtPara listar todos os documentos PDF:
ls *.pdfEste comando deve exibir:
document1.pdf document2.pdf
O curinga asterisco é versátil e pode ser usado em qualquer posição no padrão. Por exemplo, *1* corresponderia a qualquer arquivo que tenha "1" em qualquer lugar em seu nome.
Usando Curingas com a Interrogação (?)
O curinga interrogação ? representa exatamente um caractere. É útil quando você deseja corresponder arquivos com nomes semelhantes, mas que diferem por um único caractere em uma posição específica.
Vamos explorar como o curinga interrogação funciona:
Certifique-se de que você ainda está no diretório
wildcard_practice:cd ~/project/wildcard_practiceVamos criar alguns arquivos adicionais para demonstrar melhor o curinga interrogação:
touch file-a.txt file-b.txt file-c.txt test1.log test2.log test3.logPara listar todos os arquivos "file-?.txt", onde ? é um único caractere:
ls file-?.txtEste comando deve exibir:
file-a.txt file-b.txt file-c.txtDa mesma forma, para listar todos os arquivos "test?.log":
ls test?.logA saída deve ser:
test1.log test2.log test3.logVocê pode combinar múltiplas interrogações para corresponder a múltiplos caracteres únicos. Por exemplo, para corresponder a todos os arquivos de texto com nomes da forma "file?":
ls file?.txtIsso deve mostrar:
file1.txt file2.txt file3.txtO curinga interrogação é especialmente útil quando você precisa corresponder a um padrão específico com variações em posições exatas. Por exemplo, se você deseja arquivos que terminam com um número de um único dígito seguido por .log:
ls test?.log
O curinga interrogação é mais específico que o asterisco, pois corresponde exatamente a um caractere, enquanto o asterisco pode corresponder a qualquer número de caracteres.
Usando Colchetes [] para Classes de Caracteres
Os colchetes [] como curinga permitem que você especifique um conjunto ou intervalo de caracteres para corresponder em uma posição específica em um nome de arquivo. Isso fornece mais precisão do que os curingas asterisco ou interrogação.
Vamos praticar o uso do curinga colchetes:
Certifique-se de que você ainda está no diretório
wildcard_practice:cd ~/project/wildcard_practiceVamos criar alguns arquivos adicionais para trabalhar:
touch data-1.csv data-2.csv data-3.csv data-a.csv data-b.csvPara listar arquivos que têm um dígito em uma posição específica, você pode usar a notação de colchetes com um intervalo:
ls data-[1-3].csvIsso deve exibir:
data-1.csv data-2.csv data-3.csvDa mesma forma, para listar arquivos que têm uma letra nessa posição:
ls data-[a-z].csvIsso deve mostrar:
data-a.csv data-b.csvVocê também pode listar caracteres específicos dentro dos colchetes. Por exemplo, para listar arquivos com '1' ou 'a' após "data-":
ls data-[1a].csvIsso deve exibir:
data-1.csv data-a.csvO símbolo acento circunflexo
^dentro dos colchetes nega a correspondência. Para listar todos os arquivos "data-" exceto aqueles que terminam com "1" ou "2":ls data-[^12].csvEste comando deve mostrar:
data-3.csv data-a.csv data-b.csv
Os colchetes oferecem controle preciso quando você precisa corresponder arquivos que diferem por caracteres específicos em posições específicas.
Operações Práticas com Arquivos e Curingas
Agora que entendemos os diferentes tipos de curingas, vamos usá-los para realizar operações comuns em arquivos, como copiar, mover e remover arquivos.
Primeiro, certifique-se de que você está no diretório
wildcard_practice:cd ~/project/wildcard_practiceVamos criar um diretório de backup para armazenar cópias de nossos arquivos:
mkdir backupCopie todos os arquivos de texto para o diretório de backup usando o curinga asterisco:
cp *.txt backup/Vamos verificar se os arquivos foram copiados corretamente:
ls backup/Você deve ver todos os arquivos de texto no diretório de backup:
file-a.txt file-b.txt file-c.txt file1.txt file2.txt file3.txtAgora, vamos criar outro diretório para organizar diferentes tipos de arquivos:
mkdir csv_files pdf_files log_filesMova todos os arquivos CSV para o diretório csv_files:
mv *.csv csv_files/Mova todos os arquivos PDF para o diretório pdf_files:
mv *.pdf pdf_files/Mova todos os arquivos de log para o diretório log_files:
mv *.log log_files/Vamos verificar se cada diretório contém os arquivos corretos:
echo "CSV Files:" ls csv_files/ echo "PDF Files:" ls pdf_files/ echo "Log Files:" ls log_files/A saída deve mostrar os arquivos apropriados em cada diretório.
Finalmente, vamos limpar removendo todos os arquivos de texto de backup que têm um número em seu nome:
rm backup/file[0-9].txtVerifique se apenas os arquivos de texto nomeados com letras permanecem no diretório de backup:
ls backup/A saída deve mostrar:
file-a.txt file-b.txt file-c.txt
Esses exemplos demonstram como os curingas podem simplificar muito as tarefas de gerenciamento de arquivos que, de outra forma, exigiriam vários comandos ou o manuseio manual de arquivos individuais.
Resumo
Neste laboratório, você aprendeu como usar curingas do Linux para gerenciar e manipular arquivos de forma eficiente. Os principais conceitos abordados incluem:
- Usando o curinga asterisco (*) para corresponder a qualquer número de caracteres
- Usando o curinga ponto de interrogação (?) para corresponder exatamente a um caractere
- Usando colchetes [] para corresponder a caracteres ou intervalos específicos
- Aplicando curingas a operações comuns em arquivos, como listar, copiar e remover arquivos
Essas técnicas de curinga são ferramentas essenciais para qualquer usuário Linux, economizando tempo e reduzindo erros ao trabalhar com vários arquivos. Elas permitem que você execute operações complexas em arquivos com comandos simples e concisos, em vez de ter que lidar com cada arquivo individualmente.
À medida que você continua a trabalhar com sistemas Linux, encontrará inúmeras oportunidades para aplicar esses padrões de curinga para otimizar seu fluxo de trabalho e aumentar sua produtividade.



