GNU/Linux >> Linux Esercitazione >  >> Linux

Tutorial sui comandi delle stringhe Linux per principianti (5 esempi)

Guardare all'interno di un file binario/eseguibile per afferrare stringhe leggibili dall'uomo non è il tipo di lavoro che fanno tutti, ma cosa succede se ti viene chiesto di farlo? Aprire il file in un editor e cercare manualmente le cose non è una soluzione elegante. Quindi che si fa? Sì, hai indovinato:esiste un'utilità da riga di comando che fa questo per te.

Lo strumento in questione è denominato Stringhe e in questo tutorial discuteremo le basi di questo comando usando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi in questo articolo sono stati testati su una macchina Ubuntu 16.04 LTS.

Comando Linux Strings

Il comando Stringhe fondamentalmente stampa le stringhe di caratteri stampabili nei file. Di seguito è riportata la sua sintassi:

strings [OPTIONS] FILENAME

Ed ecco come lo descrive la pagina man dello strumento:

       For each file given, GNU strings prints the printable character
       sequences that are at least 4 characters long (or the number given with
       the options below) and are followed by an unprintable character.

       Depending upon how the strings program was configured it will default
       to either displaying all the printable sequences that it can find in
       each file, or only those sequences that are in loadable, initialized
       data sections.  If the file type in unrecognizable, or if strings is
       reading from stdin then it will always display all of the printable
       sequences that it can find.

       For backwards compatibility any file that occurs after a command line
       option of just - will also be scanned in full, regardless of the
       presence of any -d option.

       strings is mainly useful for determining the contents of non-text
       files.

Di seguito sono riportati alcuni esempi in stile Domande e risposte che dovrebbero darti una buona idea su come funziona il comando Stringhe.

Q1. Come utilizzare il comando stringhe?

L'utilizzo di base è abbastanza semplice:basta passare il nome del file come input ed eseguire il comando.

Tieni presente che poiché Strings viene utilizzato principalmente per estrarre informazioni da file binari/eseguibili, utilizzeremo uno di questi file in tutti i nostri esempi.

Ad esempio:

strings test

Ecco l'output prodotto da questo comando sul mio sistema:

Q2. Come forzare un limite di caratteri personalizzato?

Come spiegato all'inizio, il comportamento predefinito dello strumento Stringhe consiste nel stampare solo sequenze di caratteri che contengano almeno 4 caratteri. Tuttavia, se lo desideri, puoi modificare questo limite utilizzando l'opzione della riga di comando -n (che richiede di passare un numero che indica il nuovo limite).

Ad esempio, se vuoi impostare il limite su 2, ecco come puoi farlo:

strings -n 2 test

Quindi ora puoi vedere anche due e tre stringhe di caratteri nell'output.

T3. Come fare in modo che le stringhe stampino l'offset delle sequenze di caratteri?

Se si desidera che le stringhe visualizzino anche gli offset delle sequenze di caratteri visualizzate in output, è possibile farlo utilizzando l'opzione della riga di comando -t, che richiede di fornire un input di carattere singolo che specifichi la radice dell'offset - 'o' per ottale, 'x' per esadecimale o 'd' per decimale.

Ad esempio:

strings -t d test

Ed ecco l'output che ha prodotto sul mio sistema:

Quindi puoi vedere che le stringhe in output sono ora precedute dai rispettivi offset.

Q4. Come fare in modo che le stringhe eseguano la scansione dell'intero file?

A seconda di come è stato configurato Strings, potrebbe scansionare o meno l'intero file di input. Tuttavia, se vuoi essere assolutamente sicuro che lo strumento legga il file completo (e non solo le sezioni di dati caricabili e inizializzate), usa l'opzione della riga di comando -a.

Ad esempio:

strings -a test

Al contrario, se si desidera che le stringhe visualizzino solo le stringhe delle sezioni di dati inizializzate e caricate nel file, utilizzare l'opzione della riga di comando -d.

strings -d test

Q5. Come cambiare il separatore?

Come avrai osservato, per impostazione predefinita, il separatore utilizzato da Strings è una nuova riga. Tuttavia, se lo desideri, puoi avere un separatore personalizzato utilizzando l'opzione della riga di comando -s.

Ad esempio:

strings -s [[[]]] test

Conclusione

Il comando Strings è uno strumento estremamente utile se ti interessa cercare file binari/eseguibili per informazioni utili. Abbiamo discusso alcune importanti opzioni della riga di comando qui. Quindi esercitati e, una volta terminato, vai alla pagina man dello strumento per ulteriori informazioni.


Linux
  1. Tutorial sul comando cd di Linux per principianti (8 esempi)

  2. Tutorial comando Linux comm per principianti (5 esempi)

  3. Linux df Command Tutorial per principianti (8 esempi)

  4. Tutorial sul comando della data di Linux per principianti (8 esempi)

  5. Tutorial sul comando del nome host Linux per principianti (5 esempi)

Linux who Command Tutorial per principianti (8 esempi)

Linux nl Command Tutorial per principianti (7 esempi)

Tutorial sui comandi Linux nm per principianti (10 esempi)

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)