Grep -a binære filer

Grep -a binære filer
På en Linux -distribusjon blir hvert dokument som ikke har tekstutvidelse referert til som en binær fil, som inkluderer alt fra systemkommandoer og verktøy til bildedokumenter og genererte applikasjoner. Bare fordi disse dokumentene er binære, vil ikke det bety at man ikke kan undersøke dem.

I virkeligheten kan du bruke flere instruksjoner for å hente informasjon fra binære formatfiler eller for å vise innholdet. Vi ser på alternativet “-a” av GREP-instruksjon for Ubuntu 20.04 for å behandle eller utføre binære fildata som en tekst.

La oss starte med å logge inn fra Ubuntu 20.04 Linux -system. Før vi går videre, vil vi oppdatere systemet vårt for å oppfylle kravene og unngå feil.

$ sudo apt-get oppdatering

Forsikre deg om at du har det siste verktøyet “grep” konfigurert i Ubuntu 20.04 System. Det er nødvendig fordi vi bruker "grep" -instruksjonen for vår binære filsøking. Den samme "apt-get" -pakken er blitt brukt her med søkeordet "grep" for å installere den. Behandlingen viser at den allerede er konfigurert på slutten.

$ sudo apt-get install grep

Binærfil vs tekstfil

Innenfor denne illustrasjonen vil vi se på den binære filen og tekstfilen og se et bredt blikk på forskjellene deres. Vi har allerede uttalt at filen sies å være binær hvis den ikke har en tekstutvidelse eller format. Vi har laget to teksttypefiler i hjemmekatalogen ved å bruke "berørings" -instruksjonen på skallet mitt i.e. en.txt, og to.tekst.

Filkommandoen, som gjenkjenner dokumenter etter format, er blant de enkleste prosedyrene for å hente ut informasjon ut av et binært format. Filinstruksjonen overser stort sett filen utvidelse som vi bruker for å vurdere et dokument. Legg merke til hvordan det svarer på følgende instruksjon som brukes på tekstfilene i.e. Resultater "tom".

$ fil en.tekst
$ fil to.tekst

La oss si at du har en JPEG -formatfil som heter “Baby” i hjemmekatalogen i.e. bildefil. Når du bruker "filen" -instruksjonen på den, vil den vise utdataene for denne filen i en rekke metoder, inkludert analyse av innholdet, søke etter et "magisk nummer" (et filformatindikator) og undersøke syntaks. Siden denne filen er et bilde, viser den formatet og forskjellige standardtiltak.

$ fil baby.JPEG

Formålet med grep -a

I henhold til vår forskning brukes den hovedsakelig til å behandle alle typer binære filer som en enkel teksttypefil. Før vi bruker "-a" -alternativet til GREP-instruksjon på forskjellige typer filer, vil vi ta en titt på "GREP" Manpage som er spesielt formulert for vår hjelp. "MAN -siden" -instruksjonen brukes til dette formålet som vist nedenfor.

$ mann grep

Mannssiden for “grep” åpnes. Du vil se navnet og syntaksen du skal bruke på skallet.

Bla litt nedover og innenfor sitt "alternativer" -område, finner du alternativet "-a" med beskrivelsen og bruk for binære filer. Den sier at det brukes til å behandle eventuelle binære dokumenter som et enkelt tekstdokument, og vi kan også bruke det alternative “-Binary-Files = Text” på skallet.

Grep -a på bash -fil

La oss opprette en ny bash -fil for å legge til noen bash -kode til den med "berørings" -instruksjonen på skallet. Navnet på denne filen ble tildelt som "ny.SH ”og det ble åpnet i Ubuntus“ GNU Nano ”-redaktør for letthet og rask respons.

Innenfor denne bash -filen la vi til en bash -støtte i.e. “#!/bin/bash ”. Etter det ble en enkelt "ekko" -uttalelse brukt til å skrive ut teksten "Hello World" på skallet. Lagre denne koden en stund.

Mens vi utfører denne bash -filen med "bash" -instruksjonen på et skall, har vi "Hello World" som vises på Ubuntu's Shell -skjermen.

$ BASH NY.sh

Nå er det på tide å bruke grep “-a” -instruksjonen for å utføre “nye.sh ”binærfil. Så vi brukte det med "-a" -alternativet sammen med mønsteret og filnavnet i.e. "ny.sh ”. Ettersom de doble sitatene var igjen med ingenting på den første utførelsen, viste den hele filkoden som tekst.

Ved bruk av "rom", "/", "#", "ekko" og "hei" mønstre i andre henrettelser, ble de respektive linjene i mønstrene vist mens alle de andre linjene ble ekskludert.

$ grep -a “” Ny.sh
$ grep -a “” Ny.sh
$ grep -a “/” Ny.sh
$ grep -a “#” nytt.sh
$ grep -a “ekko” nytt.sh
$ grep -a “hei” nytt.sh

Du kan også bruke “grep -a” -kommandoen kombinert med “Cat” -kommandoen som vist nedenfor.

$ katt ny.sh | grep -a "hei"
$ katt ny.sh | grep -a “verden”

La oss bruke alternativet “-Binary-Files = Text” av “-A” -alternativet for GREP-kommandoen på 'NYTT.sh 'binære fil. Det viser samme utgang som vi fikk for "-a" -alternativet.

$ grep --Binary -files = tekst “” Ny.sh
$ grep --Binary -files = tekst “#” Ny.sh
$ grep --Binary -files = tekst “/” Ny.sh
$ grep --Binary -files = tekst “O” Ny.sh
$ grep --Binary -files = tekst “” Ny.sh
$ grep --Binary -files = tekst “ekko” Ny.sh

Grep -a på bildefil

La oss bruke Grep “-a” -alternativet for “JPEG” binærfilen. Så vi lastet ned en bildefil “Baby.jpeg ”og plasserte den i hjemmemappen.

$ ls

Det inneholder det vistede babybildet.

Ved å bruke “grep -a” -kommandoen på “Baby.jpeg ”, vi fikk den tvetydige output som ikke klarer å forstå av en normal person. Dette er fordi den binære filen inneholder pikselinformasjon som ikke kan representeres med enkel tekst.

$ grep -a “” baby.JPEG

Konklusjon:

Denne artikkelen demonstrerer bruken av “grep” -kommandoen sammen med alternativet “-a” for å vise de binære fildataene på skallet. Vi diskuterte bruken av “Fil” -kommandoen for å vise informasjon om binærfilen sammenlignet med en enkel tekstfil. Til slutt brukte vi “grep -a” -kommandoen på en bash -fil og en bildefil for å vise innholdet i disse filene som enkel tekstutgang. Etter å ha øvd på disse eksemplene, vil du være en ekspert på "grep" for Linux.