Grep -A file binari

Grep -A file binari
Su una distribuzione di Linux, ogni documento che non ha l'estensione del testo viene definito un file binario, che include tutto, dai comandi di sistema e utilità ai documenti di immagine e applicazioni generate. Tuttavia, solo perché questi documenti sono binari non significherà che non si può esaminarli.

In realtà, è possibile utilizzare diverse istruzioni per recuperare le informazioni dai file di formato binario o per mostrare il loro contenuto. Guarderemo l'opzione "-a" dell'istruzione grep per Ubuntu 20.04 per elaborare o eseguire i dati dei file binari come testo.

Cominciamo accedendo da Ubuntu 20.04 Sistema Linux. Prima di andare oltre, aggiorneremo il nostro sistema per soddisfare i requisiti ed evitare errori.

$ sudo apt-get update

Assicurati di avere l'ultima utilità di "Grep" configurata nel tuo Ubuntu 20.04 Sistema. È necessario perché useremo l'istruzione "grep" per la nostra ricerca di file binari. Lo stesso pacchetto "Apt-get" è stato utilizzato qui con la parola chiave "grep" per installarlo. L'elaborazione mostra che è già stato configurato alla nostra fine.

$ sudo apt-get Installa grep

File binario vs file di testo

All'interno di questa illustrazione, daremo uno sguardo al file binario e al file di testo e daremo uno sguardo ampio alle loro differenze. Abbiamo già affermato che si dice che il file sia binario se non ha un'estensione o un formato di testo. Abbiamo creato 2 file di tipo text nella directory home usando l'istruzione "tocco" sulla nostra shell i.e. uno.txt e due.TXT.

Il comando file, che riconosce i documenti per formato, è tra le procedure più semplici per estrarre informazioni da un formato binario. L'istruzione del file si affaccia principalmente sull'estensione del file che utilizziamo per valutare un documento. Prendi nota di come risponde alle seguenti istruzioni applicate ai file di testo i.e. Risultati "vuoto".

$ file one.TXT
$ file due.TXT

Diciamo che hai un file di formato jpeg chiamato "baby" nella tua home directory i.e. file immagine. Quando si utilizza l'istruzione "File" su di esso, visualizzerà l'output per questo file in una varietà di metodi tra cui l'analisi del contenuto, la ricerca di un "numero magico" (un indicatore del formato file) ed esaminando la sintassi. Poiché questo file è un'immagine, mostra il suo formato e diverse misure standard.

$ file baby.jpeg

Scopo di grep -a

Secondo la nostra ricerca, viene utilizzato principalmente per elaborare qualsiasi tipo di file binario come semplice file di tipo di testo. Prima di utilizzare l'opzione "-A" delle istruzioni GREP su diversi tipi di file, daremo un'occhiata alla manpaggia "Grep" appositamente formulata per il nostro aiuto. L'istruzione "Man Page" viene utilizzata a questo scopo come mostrato di seguito.

$ man grep

La pagina di uomo per "grep" è aperta. Vedrai il suo nome e la sua sintassi da utilizzare sulla shell.

Scorri un po 'verso il basso e all'interno della sua area "Opzioni", troverai l'opzione "-A" con la sua descrizione e usi per i file binari. Afferma che viene utilizzato per elaborare qualsiasi documento binario come semplice documento di testo e possiamo anche usare la sua alternativa "-binary-files = text" sulla shell.

Grep -a sul file bash

Creiamo un nuovo file bash per aggiungere un po 'di codice bash con l'istruzione "touch" sulla shell. Il nome di questo file è stato assegnato come "nuovo.Sh "ed è stato aperto nell'editore" Gnu Nano "di Ubuntu per facilità e risposta rapida.

All'interno di questo file bash, abbiamo aggiunto un supporto bash i.e. "##!/bin/bash ". Successivamente, una singola dichiarazione "Echo" è stata utilizzata per stampare il testo "Hello World" sulla shell. Salva questo codice per un po '.

Durante l'esecuzione di questo file bash con le istruzioni "bash" su una shell, abbiamo il "Hello World" visualizzato sullo schermo di Shell del nostro Ubuntu.

$ bash nuovo.sh

Ora è il momento di utilizzare l'istruzione Grep "-A" per eseguire la "nuova.SH "File binario. Quindi, l'abbiamo usato con l'opzione "-A" insieme al modello e al nome file I.e. "nuovo.sh". Poiché le doppie citazioni non sono state lasciate nulla nella prima esecuzione, ha visualizzato l'intero codice del file come testo.

Usando i modelli "spazio", "/", "#", "eco" e "ciao" in altre esecuzioni, sono state visualizzate le rispettive linee dei motivi mentre tutte le altre linee sono state escluse.

$ grep -a "" nuovo.sh
$ grep -a "" nuovo.sh
$ grep -a "/" nuovo.sh
$ grep -a "#" nuovo.sh
$ grep -a "eco" nuovo.sh
$ grep -a "ciao" nuovo.sh

Puoi anche usare il comando "grep -a" combinato con il comando "gatto" come mostrato di seguito.

$ cat nuovo.Sh | grep -a "ciao"
$ cat nuovo.Sh | grep -a "mondo"

Usiamo l'alternativa "-binary-files = text" dell'opzione "-a" per il comando Grep sul nuovo ".SH 'BINARY FILE. Mostra la stessa output che abbiamo ottenuto per l'opzione "-A".

$ grep --binary -files = text "" nuovo.sh
$ grep --binary -files = text “#” nuovo.sh
$ grep --binary -files = text "/" nuovo.sh
$ grep --binary -files = text “o” nuovo.sh
$ grep --binary -files = text "" nuovo.sh
$ grep --binary -files = text “echo” nuovo.sh

Grep -a sul file di immagine

Usiamo l'opzione Grep "-A" per il file binario "JPEG". Quindi, abbiamo scaricato un file di immagine “Baby.jpeg "e lo ha messo nella cartella di casa.

$ ls

Contiene l'immagine del bambino a nascita mostrata.

Usando il comando "grep -a" su "baby.jpeg ", abbiamo ottenuto l'uscita ambigua incapace di capire da una persona normale. Questo perché il file binario contiene informazioni pixel che non possono essere rappresentate da un testo semplice.

$ grep -a "" baby.jpeg

Conclusione:

Questo articolo dimostra l'uso del comando "grep" insieme alla sua opzione "-a" per visualizzare i dati dei file binari sulla shell. Abbiamo discusso dell'uso del comando "file" per visualizzare le informazioni sul file binario rispetto a un semplice file di testo. Infine, abbiamo usato il comando "Grep -a" su un file bash e un file di immagine per visualizzare il contenuto di questi file come semplice output di testo. Dopo aver praticato questi esempi, sarai un esperto di "grep" per Linux.