Grep -um arquivos binários

Grep -um arquivos binários
Em uma distribuição Linux, todos os documentos que não têm extensão de texto são chamados de arquivo binário, que inclui tudo, desde comandos e utilitários do sistema até documentos de imagem e aplicativos gerados. No entanto, apenas porque esses documentos são binários não significa que não se pode examiná -los.

Na realidade, você pode usar várias instruções para recuperar informações de arquivos de formato binário ou mostrar seu conteúdo. Veremos a opção “-a” da instrução Grep para o Ubuntu 20.04 Para processar ou executar dados de arquivo binário como um texto.

Vamos começar fazendo login no Ubuntu 20.04 Sistema Linux. Antes de ir mais longe, atualizaremos nosso sistema para atender aos requisitos e evitar erros.

Atualização $ sudo apt-get

Certifique -se de ter a utilidade mais recente de "Grep" configurada no seu Ubuntu 20.04 Sistema. É necessário porque usaremos a instrução “grep” para a pesquisa de arquivos binários. O mesmo pacote "apt-get" foi utilizado aqui com a palavra-chave "grep" para instalá-lo. O processamento mostra que já foi configurado no nosso fim.

$ sudo apt-get install grep

Arquivo binário vs Arquivo de texto

Nesta ilustração, vamos dar uma olhada no arquivo binário e no arquivo de texto e dar uma olhada em suas diferenças. Já afirmamos que o arquivo é considerado binário se não tiver uma extensão ou formato de texto. Criamos 2 arquivos do tipo texto no diretório doméstico usando a instrução "Touch" em nosso shell i.e. um.txt e dois.TXT.

O comando de arquivo, que reconhece documentos por formato, está entre os procedimentos mais simples para extrair informações de um formato binário. A instrução do arquivo ignora principalmente a extensão do arquivo que usamos para avaliar um documento. Tome nota de como ele responde à seguinte instrução aplicada aos arquivos de texto I.e. Resultados "vazios".

$ arquivo um.TXT
$ arquivo dois.TXT

Digamos que você tenha um arquivo de formato JPEG chamado "Baby" no seu diretório doméstico i.e. arquivo de imagem. Quando você usa a instrução "arquivo", ele exibe a saída para este arquivo em uma variedade de métodos, incluindo a análise do conteúdo, pesquisando um "número mágico" (um indicador de formato de arquivo) e examinando a sintaxe. Como este arquivo é uma imagem, ele mostra seu formato e medidas padrão diferentes.

$ arquivo baby.JPEG

Objetivo

De acordo com nossa pesquisa, é usado principalmente para processar qualquer tipo de arquivo binário como um arquivo de tipo de texto simples. Antes de usar a opção "-a" de instrução Grep sobre diferentes tipos de arquivos, vamos dar uma olhada na mangueira "Grep" especialmente formulada para nossa ajuda. A instrução “página do homem” é usada para esse fim, como mostrado abaixo.

$ Man Grep

A página do homem para "Grep" é aberta. Você verá o nome e a sintaxe para usar no shell.

Role um pouco para baixo e dentro de sua área de "opções", você encontrará a opção "-a" com sua descrição e uso para arquivos binários. Ele afirma que é usado para processar quaisquer documentos binários como um documento de texto simples e também podemos usar seu alternativo “-Binary-Files = Text” no shell.

Grep -a no arquivo Bash

Vamos criar um novo arquivo Bash para adicionar algum código Bash com a instrução "Touch" no shell. O nome deste arquivo foi atribuído como “novo.SH ”e foi aberto dentro do editor“ GNU Nano ”do Ubuntu para facilidade e resposta rápida.

Dentro deste arquivo Bash, adicionamos um suporte de basquete i.e. “#!/Bin/Bash ”. Depois disso, uma única declaração "Echo" foi usada para imprimir o texto "Hello World" na concha. Salve este código por um tempo.

Ao executar este arquivo Bash com a instrução "Bash" em um shell, temos o "Hello World" exibido na tela de casca do nosso Ubuntu.

$ Bash novo.sh

Agora, é hora de utilizar a instrução grep “-a” para executar o “novo.Arquivo binário sh. Então, nós o usamos com a opção "-a" junto com o padrão e o nome do arquivo i.e. "novo.sh ”. Como as citações duplas foram deixadas sem nada na primeira execução, ele exibiu todo o código do arquivo como texto.

Ao usar os padrões "Espaço", "/", "#", "Echo" e "Hello" em outras execuções, as respectivas linhas dos padrões foram exibidas enquanto todas as outras linhas foram excluídas.

$ grep -a “” novo.sh
$ grep -a “” novo.sh
$ grep -a “/” novo.sh
$ grep -a "#" novo.sh
$ grep -a "echo" novo.sh
$ grep -a “olá” novo.sh

Você também pode usar o comando "Grep -a" combinado com o comando "Cat", como mostrado abaixo.

$ CAT NOVO.sh | grep -a "olá"
$ CAT NOVO.sh | grep -a "mundo"

Vamos usar a alternativa “-Binary-Files = Text” da opção “-a” para o comando Grep no 'Novo.Arquivo binário Sh '. Ele mostra a mesma saída que obtemos para a opção "-a".

$ GREP - - - -Files Binários = Texto "" Novo.sh
$ GREP - - - -Files Binários = Texto "#" Novo.sh
$ GREP - - - -Files Binários = Texto "/" Novo.sh
$ GREP - - - -Files Binários = Texto "O" Novo.sh
$ GREP - - - -Files Binários = Texto "" Novo.sh
$ GREP - - - -Files Binários = Texto "Echo" Novo.sh

Grep -a no arquivo de imagem

Vamos usar a opção Grep "-a" para o arquivo binário "jpeg". Então, baixamos um arquivo de imagem “Baby.jpeg ”e colocou -o na pasta doméstico.

$ ls

Ele contém a imagem de bebê mostrada de baixo para baixo.

Ao usar o comando "grep -a" em "Baby.JPEG ”, obtivemos a produção ambígua incapaz de entender por uma pessoa normal. Isso ocorre porque o arquivo binário contém informações de pixel que não podem ser representadas por texto simples.

$ grep -a “” bebê.JPEG

Conclusão:

Este artigo demonstra o uso do comando "grep" junto com sua opção "-a" para exibir os dados do arquivo binário no shell. Discutimos o uso do comando "arquivo" para exibir as informações do arquivo binário em comparação com um arquivo de texto simples. Por fim, usamos o comando "Grep -a" em um arquivo Bash e um arquivo de imagem para exibir o conteúdo desses arquivos como saída de texto simples. Depois de praticar esses exemplos, você será um especialista em "Grep" para Linux.