Strings (Unix)
# Strings (Unix)

strings è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX e GNU, che legge i dati di uno o più file, o i dati provenienti dallo standard input, ricercando in essi delle sequenze di byte rappresentanti valide stringhe di caratteri visibili, e le visualizza sullo standard output, una linea per ciascuna stringa trovata, opzionalmente indicando anche l'offset a cui la stringa è stata trovata.

Il funzionamento si basa sul fatto che solo alcune delle sequenze di byte presenti in un flusso di dati possono rappresentare anche delle valide stringhe di caratteri secondo la codifica di caratteri in uso.

Il comportamento predefinito prevede di ricercare stringhe composte da almeno 4 caratteri, e di considerare solo le porzioni dei dati ritenute rilevanti (ad esempio, nel caso di file eseguibili nel formato nativo del sistema, sono normalmente prese in considerazione solo le sezioni contenenti i dati del programma, e non quelli contenenti ad esempio le istruzioni).

## Sintassi

La sintassi generale del comando strings è la seguente:

I parametri facoltativi file specificano i nomi dei file da cui leggere i dati. Se non sono specificati, o se è un trattino (-), strings legge i dati provenienti dallo standard input.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

## Opzioni

Tra le opzioni principali vi sono:

### -a

    Effettua la ricerca considerando tutti i dati, anziché le sole sezioni considerate rilevanti.

### -n num

    Indica la lunghezza minima delle stringhe da ricercare (il valore predefinito è 4).

### -t formato

    Indica di mostrare anche l'offset a partire dall'inizio dei dati a cui la stringa è stata trovata. Il parametro formato è una lettera che specifica la base numerica con cui visualizzare l'offset, e può essere
   * d per il formato decimale;

   * o per il formato ottale;

   * x per il formato esadecimale.

## Esempi

Mostra le stringhe nelle sole sezioni considerate rilevanti del file /bin/ls:

Mostra le stringhe di almeno 6 caratteri del file /tmp/dati.dat, indicando anche l'offset in forma esadecimale:

