Como usar o comando Grep e exemplos Tree Linux

Um dos sistemas operativos mais versáteis para gerir através do terminal é sem dúvida o Linux em qualquer uma das suas distribuições disponíveis e isto graças à integração de inúmeros comandos disponíveis na sua consola. Não importa se usamos um sistema baseado em terminal (como as versões de servidor) ou um ambiente baseado em GUI (como as versões de desktop), em todos eles o terminal e seus comandos serão sempre uma fonte confiável de gerenciamento e Apoio, suporte.

Em nossas atividades diárias está a criação e edição de pastas e arquivos, que podem ser numerosos dependendo da função desempenhada. Isso em algum ponto de suporte é normal que de uma forma ou de outra afete negativamente a busca de elementos não apenas pelo número de arquivos, mas também pelo local onde eles estão hospedados.

Para ajudar a gerenciar esses tipos de atividades de uma forma muito mais simples, temos dois comandos essenciais para pesquisar e visualizar objetos no Linux e são os comandos Grep e Tree. Solvetic irá explicar em detalhes seu uso e como aplicá-los de forma abrangente na distribuição Linux que usamos.

1. Qual é o comando GREP

Qual é o comando GrepGrep é um comando desenvolvido para executar tarefas de pesquisa de texto, o Grep se encarrega de pesquisar no arquivo que indicamos as linhas onde se detecta uma correspondência com as palavras ou com a string que atribuímos durante a execução desta. Seu nome é derivado do editor UNIX g / re / p. Durante a execução do Grep, será possível indicar o nome de um arquivo ou é possível deixar a entrada padrão, portanto, o Grep se encarrega de gerar as linhas correspondentes.

Variáveis ​​GrepExistem três (3) variáveis ​​gerenciadas durante o processo Grep, que são:

  • -G, --basic-regexp: é responsável por interpretar o padrão como uma expressão regular básica, é o valor padrão.
  • -E, --extended-regexp: Esta opção valida o padrão como uma expressão regular estendida.
  • -F, --fixed-strings: com esta opção, o padrão é interpretado como uma lista de strings de caracteres fixos, separados por quebras de linha onde a correspondência será encontrada em qualquer um deles.

O comando Grep (Global Regular Expression Print) é um comando que nos permitirá analisar o sistema para encontrar as correspondências e uma vez detectadas, proceder à impressão dos resultados para que seja possível gerir centralmente estes resultados.

Sintaxe GrepA sintaxe para usar o comando Grep é a seguinte:

 grep (opção) padrão (arquivo) 

Parâmetros do comando GrepHá uma série de parâmetros que podemos usar com o comando grep para obter os melhores resultados, são eles:

  • -E, --extended-regexp: os padrões são entendidos como expressões regulares
  • -F, --fixed-strings: os padrões são strings
  • -G, --basic-regexp: os padrões são expressões regulares básicas
  • -P, --perl-regexep: os padrões são expressões Perl
  • -e, regexp = PATTERNS: Pesquisa por padrões para correspondências
  • -F. -file (arquivo): faz uso de padrões como arquivo
  • -i, --ignore-case: ignora a capitalização
  • -w, --word-regexp: Corresponde às mesmas palavras
  • -x, --line-regexp: Corresponde a todas as linhas
  • -s, --no-messages: remove mensagens de erro
  • -v, --invert-match: Selecione as linhas que não correspondem aos critérios de pesquisa
  • -V, --version: Exibe a versão grep usada
  • -m, --max-count = NUM: Pare de pesquisar após um número especificado de linhas
  • -b, --byte-offset = Exibir o deslocamento de byte próximo às linhas de saída
  • -n, --line-number: Imprime o número de linhas
  • -H, --with-filename: exibe o nome do arquivo nas linhas de saída
  • -q, --quiet: Suprime todos os resultados
  • -d, --directories = Action: Indica como os diretórios são tratados
  • -l, --files-without-match = Imprime apenas nomes de arquivo, não incluindo linhas
  • -c, --count: Imprime as linhas selecionadas por arquivo

Eu não tenho comando GrepO comando grep é por padrão nas distribuições Linux, mas se por algum motivo você não o tiver, poderá instalá-lo com os seguintes comandos:

 sudo apt-get install grep (Debian e Ubuntu) sudo yum install grep (Redhat, CentOS e Fedora)

Passo 1
A sintaxe geral, que pode conter vários parâmetros, é a seguinte:

 grep [-AB] num] [-CEFGVbchiLlnqsvwxyUu] [[-e] padrão | -f file] [--extended-regexp] [--fixed-strings] [--basic-regexp] [--regexp = PATTERN] [--file = FILE] [--ignore-case] [--word -regexp] [--line-regexp] [--line-regexp] [--no-messages] [--invert-match] [--version] [--help] [--byte-offset] [- -line-number] [--com-filename] [--no-filename] [--quiet] [--silent] [--files-without-match] [--files-with-matcces] [- count ] [--before- context = NUM] [--after-context = NUM] [--context] [--binary] [--unix-byte-offsets] arquivos … 
Passo 2
Veremos alguns exemplos de uso do Grep antes de conhecer seus parâmetros. Se quisermos pesquisar o diretório / etc / passwd para tudo relacionado a um usuário específico, podemos executar o seguinte:
 grep "usuário" / etc / passwd 
etapa 3
O resultado será o seguinte:

Passo 4
Também será possível forçar o comando Grep a ignorar letras maiúsculas e minúsculas, ou seja, permitir a correspondência de solvético, Solvético ou SOLVETIC junto com todas as combinações usando o parâmetro -i:

 grep -i "solvético" / etc / passwd 

Etapa 5
Esta opção também pode ser executada usando o comando cat como este:

 cat / etc / passwd | grep -i "solvético" 

2. Exemplos de uso do comando Grep


O uso de comandos em sistemas operacionais Linux é uma tarefa obrigatória para todos os administradores e usuários de TI, pois graças a eles podemos realizar centenas de tarefas administrativas, informativas e de suporte. Existem vários comandos, cada um com seus próprios critérios e funções, mas um deles especial para pesquisar texto em arquivos localizados em diretórios ou pastas é o comando Grep.

Agora veremos como usar o comando Grep no Linux.

Como usar Grep em geralPara entender como funciona o Grep, vamos pesquisar no diretório / etc / passwd todos os resultados associados ao nosso usuário:

 grep solvetic / etc / passwd 
Como resultado, veremos o seguinte:

Como um ponto adicional, vamos lembrar que é possível dizer ao grep para ignorar letras maiúsculas e minúsculas nos resultados, para isso executamos o seguinte:

 grep -i "solvético" / etc / passwd 

Grep é ideal para pesquisar termos específicos em arquivos conhecidos, por exemplo, vamos fazer a seguinte pesquisa:

 grep Solvetic Solvetic.txt 
Como resultado, veremos as linhas onde essa palavra é repetida:

Podemos pesquisar este mesmo termo em diferentes arquivos simultaneamente, para isso utilizaremos a seguinte linha:

 grep Solvetic Solvetic.txt Solvetic1.txt 

Uma maneira mais rápida de fazer isso é executando o seguinte:

 grep solvetic *. * 

Como usar o grep para redirecionar os resultados para um arquivo no LinuxIsso é útil para os casos em que devemos realizar tarefas de administração nos arquivos posteriormente, portanto, é possível redirecionar a saída do comando grep para um arquivo específico, por exemplo, faremos o seguinte:

 grep Solvetic Solvetic.txt> Solvetic2.txt 
Como resultado, veremos que o arquivo de texto necessário foi criado:

PROLONGAR

Como usar o grep para pesquisar diretóriosGraças ao parâmetro -r poderemos buscar um valor nos subdiretórios disponíveis, faremos o seguinte:

 grep -r Solvetic / home / solvetic 
Isso pesquisará em todo o diretório inicial o termo destacando os resultados detectados:

Como usar o grep para exibir o número da linhaPara tarefas de auditoria ou suporte avançado, o ideal é mostrar o número da linha onde se encontra o padrão de busca, para isso podemos utilizar o parâmetro -n da seguinte forma. Lá encontramos o número da linha onde cada valor é encontrado.

 grep -n Solvetic Solvetic.txt 

Como usar o grep para destacar os resultadosComo sabemos que muitas vezes o texto pode ficar confuso, uma solução é destacar os critérios de pesquisa que focam nossa visão diretamente naquela linha, para isso usaremos o parâmetro de cor assim:

 grep -color Solvetic Solvetic.txt 

Como usar o grep para mostrar linhas que começam ou terminam com o padrão indicadoÉ possível que queiramos ver apenas os resultados das linhas que começam ou terminam com um critério de pesquisa, para isso, se quisermos pesquisar as linhas que começam, usaremos a seguinte linha:

 grep Solvetic Solvetic.txt 

Agora, para exibir as linhas que terminam, usaremos o seguinte:

 grep Solvetic $ Solvetic.txt 

Como usar o grep para imprimir todas as linhas sem ver quais correspondemSe quisermos ver todas as linhas, exceto aquelas onde o valor é pesquisado, devemos usar o parâmetro -v como este:

 grep -v Solvetic Solvetic.txt 

Como usar grep com outros comandosGrep, como muitos comandos do Linux, pode ser usado simultaneamente com outros comandos para resultados mais claros, por exemplo, se quisermos implantar processos HTTP, usaremos grep junto com ps da seguinte maneira:

 ps -ef | grep http 

Como usar o grep para contar o quanto uma palavra é repetida em um arquivoSe quisermos saber quantas vezes um padrão é repetido em um determinado arquivo, usaremos o parâmetro -c:

 grep -c Solvetic Solvetic.txt 

Como usar o grep para fazer uma pesquisa reversaEmbora pareça estranho, isso nada mais é do que exibir as palavras que não especificamos no resultado, obtemos isso com o parâmetro -v:

 grep -v Solvetic Solvetic2.txt

Como usar o grep para ver os detalhes do hardwareVimos antes que podemos combinar grep com outros comandos para exibir um resultado, bem, se quisermos obter detalhes específicos de hardware, podemos usar cat com grep como este:

 cat / proc / cpuinfo | grep -i 'Model' 

Aprendemos globalmente o uso que o comando grep nos dá para acessar resultados muito mais específicos de critérios de pesquisa no Linux.

3. Como usar o comando Grep Linux recursivamente

Passo 1
O Grep nos dá a possibilidade de realizar uma busca recursiva, ou seja, que esta busca leia todos os arquivos em cada diretório para uma string específica, por exemplo, o endereço IP do computador, podemos executar qualquer uma das seguintes opções:

 grep -r "192.168.0.25" / etc / ou grep -R "192.168.0.25" / etc /

ObservaçãoLá podemos inserir o endereço IP atual do equipamento em uso.

Passo 2
Também podemos executar o mesmo com o IP 192.168.1.5 que o sistema usa para saídas padrão:

etapa 3
Podemos notar que com ambos os endereços IP uma linha separada é exibida precedida do nome do arquivo no qual foi detectado, se quisermos eliminar a inclusão deste valor, será possível suprimi-lo usando a opção -h assim:

 grep -h -R "192.168.1.5" / etc / ou grep -hR "192.168.1.5" / etc /

ObservaçãoEste comando deve ser executado como root ou adicionando sudo ao comando.

4. Como usar o comando Grep Linux para executar pesquisas de palavras

Passo 1
O Grep é útil para pesquisar termos em um determinado arquivo, assim, o resultado exibirá em destaque cada linha onde o termo pesquisado for encontrado, assim como as palavras (não realçadas) que acompanham o termo pesquisado, a sintaxe a ser utilizada é o seguinte. Neste caso, 3 correspondências foram detectadas no arquivo Solvetic1.

 grep -w arquivo "palavra"

Passo 2
No caso de querer pesquisar dois termos em um arquivo, devemos executar a seguinte sintaxe usando o comando egrep. Como podemos ver, as palavras pesquisadas serão destacadas no resultado.

 egrep -w 'term1 | term2' arquivo 

5. Como usar o comando Grep Linux para contar palavras

Passo 1
Outra opção prática do Grep é a possibilidade de saber quantas vezes uma palavra se repete em um determinado arquivo, isso é conseguido graças ao parâmetro -c assim:

 arquivo grep -c 'palavra' 

Passo 2
Como alternativa, podemos usar o parâmetro -n para preceder cada linha de saída com o número da linha em que foi inserido no arquivo selecionado:

 arquivo grep -n 'palavra' 

6. Como forçar a pesquisa reversa do comando Grep Linux


Com a pesquisa reversa, queremos dizer que o comando Grep exibirá apenas os resultados das linhas que não contenham a palavra definida, isso é feito com o parâmetro -v como este:
 grep -v arquivo de "termo" 

7. Como usar Pipes UNIX / Linux junto com o comando Grep

Passo 1
O comando Grep no Linux pode ser combinado com os canais do shell do UNIX, por exemplo, se quisermos listar o nome dos dispositivos de disco rígido, executaremos a seguinte linha:

 dmesg | egrep '(s | h) d [a-z]' 

Passo 2
Lá os resultados serão exibidos com todas as respectivas informações. Para exibir o modelo de CPU, executamos:

 cat / proc / cpuinfo | grep -i 'Model' 

etapa 3
Para este mesmo resultado, também podemos executar o seguinte:

 grep -i 'Model' / proc / cpuinfo 
Passo 4
Um dos usos mais especiais do comando Grep ou egrep é a capacidade de filtrar a saída de comandos tradicionais como yum, dpkg, apt ou apt-get. Por exemplo, podemos executar a seguinte linha para encontrar imagens Linux com dpkg:
 dpkg --list | grep linux-image 

Etapa 5
Será possível fazer a busca com o apt:

 apt pesquisar maria | egrep 'servidor | cliente' 

8. Como listar apenas os nomes de arquivo que correspondem ao Grep


Para tanto, podemos utilizar a opção -l para listar o nome do arquivo em que seu conteúdo será destacado da seguinte forma:
 grep -l 'termo' * .c 
Parâmetros do comando GrepA seguir, veremos as diversas variáveis ​​que o Grep nos oferece para seu gerenciamento no Linux:

  • -num: Com esta opção, as linhas correspondentes estarão próximas aos números das linhas anteriores e subsequentes.
  • -A num, --after-context = NUM: Exibe o número de linhas de contexto depois que correspondem às indicadas.
  • -B num, --before-context = NUM: Usar esta opção irá exibir as linhas de contexto antes das que correspondem à pesquisa.
  • -V, --version: Exibe o número da versão do grep usado.
  • -b, --byte-offset: Este parâmetro exibe o deslocamento em bytes desde o início do arquivo de entrada antes de cada linha de sua saída.
  • -c, --count: conta o número de linhas que correspondem ao termo especificado.
  • -h, --no-filename: Suprime a impressão de nomes de arquivo na saída.
  • i, --ignore-case: Não leva em consideração se as letras são maiúsculas ou minúsculas.
  • -L, --files-without-match: Esta opção mostra o nome de cada arquivo de entrada onde nenhuma correspondência foi encontrada.
  • -l, --files-with-match: Mostra o nome de cada arquivo de entrada que pode gerar um resultado.
  • -n, --line-number: Mapeia cada linha de saída com o respectivo número de linha no arquivo de pesquisa.
  • -q, --quiet: ativa o modo silencioso que suprime a saída normal e a busca termina na primeira correspondência.
  • -s, --silent: Suprime mensagens de erro.
  • -v, --invert-match: Esta opção inverte a direção da pesquisa, ou seja, exibirá os resultados que não correspondem ao termo da pesquisa.
  • w, --word-regexp: Este parâmetro seleciona apenas linhas que contêm correspondências que constituem palavras inteiras.
  • -x, --line-regexp: Esta opção seleciona apenas correspondências que consistem na linha inteira.

9. Como usar e instalar o comando Tree no Linux


Agora falaremos um pouco sobre o comando Tree, como o próprio nome indica, ele foi desenvolvido para mostrar os diretórios do sistema em forma de árvore, facilitando assim o seu gerenciamento.

O comando Tree atua com um comando recursivo de listagem de diretórios que resulta no formato de árvore projetado com uma série de cores apenas se a variável de ambiente LS_COLORS estiver configurada e a saída for tty, caso nenhum argumento seja atribuído, este comando listará os arquivos em o diretório atual.

Passo 1
Sua sintaxe geral é a seguinte:

 árvore [-acdfghilnpqrstuvxACDFQNSUX] [-L nível [-R]] [-H baseHREF] [-T título] [-o nome do arquivo] [--nolinks] [-P padrão] [-I padrão] [--inodes] [ --device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit #] [--si] [--prune] [--du] [--timefmt format ] [--matchdirs] [-] [diretório…] 
Passo 2
A primeira etapa é instalar o comando Tree executando o seguinte comando:
 sudo apt install tree 

etapa 3
Uma vez instalado, executamos diretamente o comando "tree" para listar o diretório atual em formato de árvore:

10. Como trabalhar com arquivos usando o comando Tree no Linux

Ver arquivos ocultos com ÁrvorePor padrão, o comando Tree não exibirá arquivos ocultos por motivos de segurança, se quisermos visualizá-los no resultado, será possível adicionar o parâmetro -a para este propósito:

 árvore -a 

PROLONGAR

Exibir apenas diretórios com árvoreCaso você queira que o Tree gere apenas as entradas do diretório, será possível fazê-lo usando o parâmetro -d assim:

 árvore -d 

PROLONGAR

Veja o caminho completo dos arquivos com a ÁrvoreO comando Tree nos dá a possibilidade de imprimir o prefixo do caminho completo para os arquivos no diretório usando o parâmetro -f:

 árvore -f 

PROLONGAR

Controle a dimensão do resultado com a árvoreEm alguns casos é possível que o resultado gerado seja extremamente longo, a árvore permite controlar a profundidade da árvore do diretório para sua saída, para isso devemos usar o parâmetro -L que requer um valor numérico que indica a profundidade do diretório permitida:

 árvore -d -L 2 

PROLONGAR

Use nomes seletivos com árvoreCom o parâmetro -l será possível excluir determinadas palavras dos resultados gerados pela Tree, por exemplo, podemos executar a seguinte linha para gerar resultados, mas sem o termo Android:

 árvore -d -I * Android 

PROLONGAR

11. Parâmetros para usar com o comando Tree no Linux

Parâmetros para usar com a árvoreA seguir, a Solvetic irá explicar os parâmetros disponíveis para usar com o Tree:

  • -a: Imprime todos os arquivos, lembre-se de que, por padrão, a árvore não imprime arquivos ocultos.
  • -d: Lista apenas os diretórios.
  • -l: continua os links simbólicos se eles apontam para diretórios, fingindo ser diretórios.
  • -f: Imprime o prefixo do caminho completo dos objetos.
  • -x: Permanece apenas no sistema de arquivos atual.
  • Nível -L: permite definir a profundidade máxima de exibição da árvore de diretórios no resultado.
  • -R: Atua cruzando recursivamente a árvore nos diretórios de cada nível e em cada um deles se executará. a árvore novamente adicionando `-o 00Tree.html '.
  • Padrão -P: Lista apenas os arquivos que correspondem ao padrão curinga.
  • Padrão -I: Não lista os arquivos que correspondem ao padrão curinga.
  • --matchdirs. Esta opção especifica um padrão de correspondência que permite que o padrão se aplique apenas a nomes de diretório.
  • --prune: Este parâmetro remove diretórios vazios da saída.
  • --noreport: ignora a impressão do relatório de arquivo e diretório no final da lista da árvore executada.

Opções gerais de árvoreEstas são as opções gerais da árvore disponíveis, mas também temos parâmetros exclusivos para os arquivos, são eles:

  • -q: Imprime caracteres não imprimíveis em nomes de arquivo.
  • -N: Imprime caracteres não imprimíveis.
  • -Q: Sua função é atribuir os nomes dos arquivos entre aspas duplas.
  • -p: Imprime o tipo de arquivo e as permissões para cada arquivo no diretório.
  • -u: Imprime o nome de usuário ou UID do arquivo.
  • -s: Imprime o tamanho de cada arquivo em bytes, bem como seu nome.
  • -g Imprime o nome do grupo ou GID do arquivo.
  • -h: Sua função é imprimir o tamanho de cada arquivo de forma legível.
  • --du: atua em cada diretório, gerando um relatório sobre seu tamanho, incluindo os tamanhos de todos os seus arquivos e subdiretórios.
  • --si: Usa potências de 1000 (unidades SI) para exibir o tamanho do arquivo.
  • -D: Imprime a data da última modificação dos arquivos.
  • -F: Sua tarefa é adicionar um `/ 'para diretórios, a` =' para arquivos de socket, um` * 'para arquivos executáveis, a`>' para portas (Solaris) e um `| ' para FIFO's.
  • --inodes: Imprime o número do inode do arquivo ou diretório.
  • --device: Imprime o número do dispositivo ao qual o arquivo ou diretório pertence na saída.
  • -v: classifica a saída por versão.
  • -U: Não ordena os resultados.
  • -r: classifica a saída na ordem inversa.
  • -t: Classifica os resultados com base na hora da última modificação, em vez de em ordem alfabética.
  • -S: Ativa os gráficos de linhas CP437
  • -n: Desativa a colorização do resultado.
  • -C: Ativa a colorização.
  • -X: Ativa a saída XML.
  • -J: ativa a saída JSON.
  • -H baseHREF: Ativa a saída HTML, incluindo referências HTTP.
  • --help: Ajuda da árvore de acesso.
  • --version: exibe a versão usada do comando Árvore.

Com a utilização desses dois comandos foi possível administrar de forma muito mais abrangente cada tarefa a ser realizada nos arquivos do Linux, complementando as tarefas de busca ou gerenciamento dos mesmos e acessando resultados abrangentes conforme necessário.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave