Metacaracteres do Linux e seus significados
Um metacaractere é qualquer caractere que possui um significado especial, como um carat (^), cifrão ($) ou um asterisco (*). Linux tem um bom número desses metacaracteres, e seus significados diferem dependendo de qual Comando Linux ou programa que você usa.
O ponto final como um metacaractere (.)
O ponto final (.) indica a posição atual ao executar comandos como CD, achar, ou sh. Em aplicações como awk, grepe sed, é um curinga que denota um número específico de qualquer caractere.
Como exemplo, o seguinte comando encontra todos Arquivos MP3 na pasta atual e suas subpastas.
achar. -tipo f -nome '* .mp3'
Se você executar esse comando no diretório de trabalho atual (pwd), verá os resultados retornados, supondo que você mantenha os arquivos MP3 em uma pasta de música em sua pasta pessoal.
Agora olhe para este comando:
ps -ef | grep f..efox
O comando ps lista todos os processos em execução no seu computador. O comando grep pega linhas de entrada e procura um padrão.

O comando ps -ef recupera uma lista de processos em execução. O cano (
Se o Firefox estiver rodando, você obterá uma correspondência. Da mesma forma, se um programa chamado fonefox ou freefox estiver em execução, eles também serão retornados.
Se você precisar pesquisar apenas um único caractere, em vez de usar o metacaractere ponto final (.), Use o caractere? metacaractere. Usando o? metacaractere refere-se a qualquer caractere único no início ou no final do padrão.
O asterisco como um metacaractere (*)
O asterisco (*) é um metacaractere universalmente conhecido. Significa zero ou mais de qualquer caractere ao pesquisar um padrão. Por exemplo:
ls * .flac

o * .flac parte do comando retorna uma correspondência para qualquer nome de arquivo que termine em .flac. Da mesma forma, você pode usar o asterisco com o comando grep na última seção da seguinte maneira:
ps -ef | grep f * efox
Isso difere um pouco porque o asterisco significa zero ou mais, portanto, além de localizar firefox, facefox e fonefox, também encontra flutefox, ferretfox e fefox.

O Carat como Metacaractere (^)
O quilate (^) é usado para denotar o início de uma linha ou string. Então, como é usado?
O comando ls lista os arquivos em uma pasta, da seguinte maneira:
ls -a
Se você quiser listar os arquivos em uma pasta que começa com uma certa string, por exemplo, gnome, o carat pode ser usado para especificar essa string. Por exemplo:
ls -a | grep ^ gnome
Isso lista os arquivos que começam com gnome. Se você quiser arquivos com gnome em qualquer lugar do nome do arquivo, use o asterisco.

No exemplo acima, o comando ls retorna uma lista de nomes de arquivos e passa essa lista para o comando grep, que é usado para correspondência de padrões. Grep sabe que o símbolo do quilate significa encontrar qualquer coisa que comece com os caracteres que vêm depois dele e, neste caso, é o gnomo.
O símbolo do dólar como um metacaractere ($)
O símbolo do dólar ($) tem vários significados como um metacaractere no Linux. Quando usado para combinar padrões, significa o oposto de quilate e denota qualquer padrão que termine com uma determinada string. Por exemplo:
ls | grep png $
Isso lista todos os arquivos que terminam com png.
O símbolo do dólar também é usado para acessar variáveis de ambiente dentro do shell bash. Por exemplo:
#! /bin/bash
exportar cachorro = molly
echo $ dog

A linha exportar cachorro = molly cria uma variável de ambiente chamada cão e define seu valor Molly. Para acessar a variável de ambiente, use o símbolo $. Com o símbolo $, o echo $ dog declaração exibe molly. Sem isso, o cachorro eco declaração exibe a palavra cachorro.
Metacaracteres de escape (\\)
Às vezes, você não deseja que o metacaractere tenha um significado especial. Por exemplo, se um arquivo é chamado f.refox e outro arquivo é chamado Raposa de fogo.
Agora observe o seguinte comando:
ls | grep f.refox
O que você acha que foi devolvido? Ambos f.refox e firefox são retornados porque ambos correspondem ao padrão.

Para retornar apenas f.refox, escape do ponto final para significar realmente um ponto final, da seguinte maneira:
ls | grep f \\. refox
Parênteses como um metacaractere ([])
Você pode usar colchetes ([ ]) ao pesquisar padrões. Os colchetes especificam letras específicas para corresponder a qualquer lugar no padrão. Por exemplo:
ls | grep [abc]
Isso lista todos os arquivos que contêm as letras a, b ou c.

Você pode usar colchetes no início, no final ou no meio de um padrão de pesquisa.
Para pesquisar um intervalo de letras, use o caractere hífen (-). Por exemplo, ls [a-h] * retorna arquivos que começam com qualquer letra de a a h.
O Metacaractere Sotaque Grave
Nos exemplos acima, o metacaractere pipe envia os resultados de um comando (como o comando ls) para outro comando (como o comando grep).
Uma maneira alternativa de fazer isso é usar a citação anterior, também conhecida como sotaque grave (`), para inserir os resultados de um comando em outro comando. Para fazer isso, armazene o resultado de um comando em uma variável. Por exemplo:
comando = `ls -lah`
echo $ command

O exemplo é super artificial e provavelmente você nunca fará nada parecido, mas pode ver como funciona. O personagem backtick executa um comando e salva o resultado. Isso pode ser útil em scripts, mas é menos flexível do que usar o pipe para comandos simples.
Metacaracteres comuns e seus significados
Personagem | Significado |
. | Qualquer personagem. |
* | Zero ou mais caracteres. |
^ | Corresponde a qualquer linha ou string que comece com um padrão (por exemplo, ^ gnome). |
$ | Corresponde a qualquer linha ou string que termine com um padrão (por exemplo, gnome $). |
\ | Escapa o próximo caractere para remover seu significado especial. |
[] | Corresponde a um de uma lista ou intervalo (por exemplo, ["abc", "def"] ou [1..9]). |
+ | Corresponde a um ou mais precedentes (por exemplo, grep a +). |
? | Corresponde a zero ou um precedente. |