Come Utilizzare le stringhe di Comando su Linux

0
548
Fatmawati Achmad Zaenuri/Shutterstock.com

Vuoi vedere il testo all’interno di un binario o un file di dati? Linux stringhe di comando tira quei pezzetti di testo chiamato “stringhe”—per voi.

Linux è pieno di comandi che possono sembrare soluzioni in cerca di problemi. Le stringhe di comando sicuramente rientra in quel campo. Proprio quello che è il suo scopo? C’è un punto, a un comando che elenca le stringhe stampabili dall’interno di un file binario?

Facciamo un passo indietro. I file binari, come file di programma—può contenere stringhe di testo leggibile. Ma come si fa a vedere? Se si utilizza un gatto o meno è probabile che finire con un appeso finestra di terminale. I programmi che sono progettati per lavorare con i file di testo non far fronte anche se i caratteri non stampabili sono alimentati attraverso di loro.

La maggior parte dei byte all’interno di un file binario non sono leggibili e non possono essere stampati per la finestra del terminale, in modo che abbia un senso. Non ci sono personaggi o simboli per rappresentare i numeri binari valori che non corrispondono ai caratteri alfanumerici, segni di punteggiatura o spazi vuoti. Collettivamente, questi sono conosciuti come “stampabile” caratteri. Il resto sono “non stampabili” caratteri.

Così, cercando di visualizzare o di ricerca attraverso un binario o un file di dati per le stringhe di testo è un problema. Ed è qui che le stringhe entra. Estrae le stringhe di caratteri di stampa da file, in modo che gli altri comandi possono utilizzare le stringhe senza dover combattere con caratteri non stampabili.

Utilizzando le stringhe di Comando

Non c’è niente di complicato le stringhe di comando, e il suo utilizzo di base è molto semplice. Forniamo il nome del file che vogliamo stringhe di ricerca attraverso la riga di comando.

Qui, abbiamo intenzione di utilizzare le stringhe in un file binario—un file eseguibile chiamato “jibber.” Abbiamo tipo di corde, uno spazio, “jibber” e quindi premere Invio.

stringhe jibber

Le stringhe vengono estratti dal file elencati nella finestra del terminale.

Impostazione della Lunghezza Minima di Stringa

Per impostazione predefinita, le stringhe di ricerca per le stringhe che sono quattro caratteri o più. Per impostare un tempo più lungo o più breve di lunghezza minima, usare l’opzione-n (lunghezza minima) opzione.

Nota che il più breve di lunghezza minima, maggiore è la probabilità si vedrà più spazzatura.

Alcuni valori binari hanno lo stesso valore numerico, come il valore che rappresenta un carattere stampabile. Se due di questi valori numerici, che capita di essere a fianco del file e specificare la lunghezza minima di due, quelle byte verranno segnalati come se fossero una stringa.

A chiedere stringhe di utilizzare come lunghezza minima, utilizzare il comando riportato di seguito.

corde -n 2 jibber

Ora abbiamo due lettere corde incluse nei risultati. Si noti che gli spazi sono contati come un carattere stampabile.

Tubazioni di stringhe Attraverso Meno

A causa della lunghezza dell’output di stringhe, stiamo andando a tubo attraverso di meno. Possiamo quindi scorrere il file cercando il testo di interesse.

stringhe jibber | meno

L’elenco è presentato ora per noi in meno, con la parte superiore dell’elenco visualizzato per primo.

Utilizzo di stringhe con i File Oggetto

In genere, il codice sorgente del programma i file vengono compilati in file oggetto. Questi sono collegati con il file di libreria per creare un file binario eseguibile. Abbiamo il jibber file oggetto a portata di mano, quindi, diamo uno sguardo all’interno di quel file. Nota “.o” estensione del file.

jibber.o | meno

Il primo set di corde sono tutti avvolti in colonna di otto, se sono più di otto caratteri. Se sono stati avvolti, un “H” di carattere è nella colonna nove. Si possono riconoscere queste stringhe SQL.

Scorrere l’uscita rivela che questa formattazione non viene utilizzato in tutto il file.

È interessante vedere le differenze nelle stringhe di testo tra i file oggetto e finito eseguibile.

La ricerca In Specifiche Aree del File

I programmi compilati sono diverse aree all’interno di se stessi che vengono utilizzati per memorizzare il testo. Per impostazione predefinita, le stringhe di ricerca l’intero file di testo. Questo è proprio come se si fosse impiegato-a (tutti) opzione. Per avere stringhe di ricerca solo in inizializzato, caricato sezioni di dati nel file, utilizzare l’opzione-d (dati) opzione.

corde -d jibber | meno

A meno che non hai un buon motivo per, si potrebbe anche utilizzare l’impostazione di default e di ricerca di tutto il file.

Stampa l’Offset della Stringa

Siamo in grado di avere stringhe di stampa offset dall’inizio del file in cui ognuno si trova la stringa. Per fare questo, utilizzare l’opzione-o (offset) opzione.

corde -o parse_phrases | meno

L’offset è in Ottale.

Per avere l’offset visualizzato in una diversa base numerica, come decimale o esadecimale, utilizzare l’opzione-t (radix) opzione. La radice opzione deve essere seguita da d (decimale), x (esadecimale) o o (Ottale). Utilizzando -t o è la stessa cosa che usare -o.

corde -t d parse_phrases | meno

I correttori sono ora stampati in formato decimale.

corde -t x parse_phrases | meno

I correttori sono ora stampati in formato esadecimale.

Tra Spazi Vuoti

stringhe ritiene scheda e caratteri di spazio da parte delle stringhe che trova. Altri spazi, come i ritorni a capo e ritorni a capo, non sono trattati come se fossero parte delle stringhe. L’-w (spazio) opzione fa sì che le stringhe per il trattamento di tutti gli spazi personaggi come se fossero parti di una stringa.

corde -w add_data | meno

Siamo in grado di vedere la riga bianca in uscita, che è un risultato di (invisibile) di ritorno a capo e caratteri di nuova riga alla fine della seconda riga.

Non siamo Limitati a File

Siamo in grado di utilizzare le stringhe con tutto ciò che è, o è in grado di produrre un flusso di byte.

Con questo comando, si può guardare attraverso la memoria ad accesso casuale (RAM) del computer.

Abbiamo bisogno di utilizzare sudo perché siamo l’accesso a /dev/mem. Questo è un dispositivo a caratteri file che contiene un’immagine della memoria principale del computer.

sudo stringhe /dev/mem | meno

La scheda non l’intero contenuto della RAM. Si tratta solo di stringhe che possono essere estratti.

CORRELATI: Cosa Significa “Tutto È un File” Significa in Linux?

La Ricerca Di File In Una Sola Volta

I caratteri jolly possono essere utilizzati per selezionare i gruppi di file da ricercare. Il carattere * rappresenta più personaggi, e l’ ? carattere rappresenta qualsiasi carattere singolo. Si può anche scegliere di fornire molti nomi di file sulla riga di comando.

Stiamo andando a utilizzare un carattere jolly e cercare tutti i file eseguibili nella directory /bin. Poiché l’elenco conterrà i risultati di molti file, possiamo utilizzare l’opzione-f (filename) opzione. Questo consentirà di stampare il nome del file all’inizio di ogni riga. Possiamo quindi vedere che file di ogni stringa è stata trovata in.

Siamo tubazioni i risultati attraverso il grep, e alla ricerca per le stringhe che contengono la parola “d’autore”.

corde -f /bin/* | grep Copyright

Abbiamo un accurato elenco delle dichiarazioni di copyright per ogni file nella directory /bin, con il nome del file all’inizio di ogni riga.

stringhe Disfatta

Non c’è nessun mistero a corde; si tratta di un tipico comando di Linux. Qualcosa di molto specifico e lo fa molto bene.

È un altro di Linux ingranaggi, e prende vita quando si è al lavoro con altri comandi. Quando si vede come si può sedere tra i file binari e di altri strumenti come grep, si comincia ad apprezzare la funzionalità di questo leggermente oscuro di comando.

CONTINUA A LEGGERE

  • “Come Controllare e Serrare Tutti i Vostri iPhone Impostazioni per la Privacy
  • “Come Usare Linux ar Comando per Creare Librerie Statiche
  • “Che cosa È un Deepfake, e dovrei Essere Preoccupato?
  • “Come Velocità Di Internet Prove Di Lavoro? (e Come Precisa Sono?)
  • “Come Controllare il Vostro Segnale Wi-Fi Forza