Caracteres Curinga Linux

LinuxBeginner
Pratique Agora

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.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 88%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

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:

  1. Primeiro, abra seu terminal e navegue até o diretório do projeto:

    cd ~/project
  2. Crie um diretório de prática para este laboratório e navegue até ele:

    mkdir -p wildcard_practice
    cd wildcard_practice
  3. Agora, vamos criar alguns arquivos de exemplo para trabalhar:

    touch file1.txt file2.txt file3.txt document1.pdf document2.pdf image.jpg
  4. Use o comando ls para listar todos os arquivos no diretório:

    ls

    Você deve ver todos os arquivos que acabou de criar:

    document1.pdf  document2.pdf  file1.txt  file2.txt  file3.txt  image.jpg
  5. Agora, vamos usar o curinga asterisco para listar apenas os arquivos de texto:

    ls *.txt

    Este comando deve exibir apenas os arquivos que terminam com .txt:

    file1.txt  file2.txt  file3.txt
  6. Você 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.txt
  7. Para listar todos os documentos PDF:

    ls *.pdf

    Este 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:

  1. Certifique-se de que você ainda está no diretório wildcard_practice:

    cd ~/project/wildcard_practice
  2. Vamos 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.log
  3. Para listar todos os arquivos "file-?.txt", onde ? é um único caractere:

    ls file-?.txt

    Este comando deve exibir:

    file-a.txt  file-b.txt  file-c.txt
  4. Da mesma forma, para listar todos os arquivos "test?.log":

    ls test?.log

    A saída deve ser:

    test1.log  test2.log  test3.log
  5. Você 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?.txt

    Isso deve mostrar:

    file1.txt  file2.txt  file3.txt
  6. O 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:

  1. Certifique-se de que você ainda está no diretório wildcard_practice:

    cd ~/project/wildcard_practice
  2. Vamos criar alguns arquivos adicionais para trabalhar:

    touch data-1.csv data-2.csv data-3.csv data-a.csv data-b.csv
  3. Para 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].csv

    Isso deve exibir:

    data-1.csv  data-2.csv  data-3.csv
  4. Da mesma forma, para listar arquivos que têm uma letra nessa posição:

    ls data-[a-z].csv

    Isso deve mostrar:

    data-a.csv  data-b.csv
  5. Você 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].csv

    Isso deve exibir:

    data-1.csv  data-a.csv
  6. O 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].csv

    Este 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.

  1. Primeiro, certifique-se de que você está no diretório wildcard_practice:

    cd ~/project/wildcard_practice
  2. Vamos criar um diretório de backup para armazenar cópias de nossos arquivos:

    mkdir backup
  3. Copie todos os arquivos de texto para o diretório de backup usando o curinga asterisco:

    cp *.txt backup/
  4. 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.txt
  5. Agora, vamos criar outro diretório para organizar diferentes tipos de arquivos:

    mkdir csv_files pdf_files log_files
  6. Mova todos os arquivos CSV para o diretório csv_files:

    mv *.csv csv_files/
  7. Mova todos os arquivos PDF para o diretório pdf_files:

    mv *.pdf pdf_files/
  8. Mova todos os arquivos de log para o diretório log_files:

    mv *.log log_files/
  9. 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.

  10. 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].txt
  11. Verifique 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:

  1. Usando o curinga asterisco (*) para corresponder a qualquer número de caracteres
  2. Usando o curinga ponto de interrogação (?) para corresponder exatamente a um caractere
  3. Usando colchetes [] para corresponder a caracteres ou intervalos específicos
  4. 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.