STRINGS(1)

NOME
strings - stampa le sequenze di caratteri stampabili nei file

SINTASSI
strings [-afovV] [-min-len]
        [-n min-len] [--bytes=min-len]
        [-t radix] [--radix=radix]
        [-e encoding] [--encoding=encoding]
        [-U method] [--unicode=method]
        [-] [--all] [--print-file-name]
        [-T bfdname] [--target=bfdname]
        [-w] [--include-all-whitespace]
        [-s] [--output-separator sep_string]
        [--help] [--version] file...

DESCRIZIONE
Per ciascun file dato, GNU strings stampa la sequenza di caratteri stampabili lunga almeno 4 caratteri (o il numero dato con le opzioni sottostanti) ed è seguita da un carattere non stampabile.

A seconda di come è stato configurato il programma strings, avrà il comportamento predefinito di stampare tutte le sequenze di caratteri stampabili che trova in ogni file, oppure solo quelle che si trovano nelle sezioni «loadable» e «dati inizializzati». Se il tipo di file non è riconoscibile, o se le stringhe sono lette dallo standard input, allora mostrerà sempre tutte le sequenze di caratteri che trova.

Per compatibilità all'indietro ogni file indicato dopo una opzione a riga di comando composta solo da - verrà interamente controllato, al di là della presenza di qualsiasi opzione -d.

strings è principalmente utile per determinare il contenuto di file non testuali.

OPZIONI

-a
--all
-   Analizza l'intero file, al di là di quali sezioni contenga o che queste siano non inizializzate e caricate. Normalmente questo è il comportamento predefinito, ma strings può essere configurato in modo che -d sia sottinteso.

    L'opzione - è dipendente dalla posizione e obbliga strings ad effettuare un controllo completo di ogni file che è menzionato dopo - sulla riga di comando, anche se l'opzione -d è stata indicata.

-d
--data
    Stampa solo stringhe dalle sezioni «inizializzata» e «dati caricati» del file. Questo può ridurre la quantità di spazzatura nell'output, ma espone il programma strings a qualsiasi problema di sicurezza possa derivare dall'utilizzo della libreria BFD usata per analizzare e caricare le sezioni. Strings può essere configurato in modo che questo sia il comportamento predefinito. In questo caso, l'opzione -a può essere usata per evitare l'utilizzo della libreria BFD e stampare le stringhe trovate in tutto il file.

-f
--print-file-name
    Stampa il nome del file prima di ciascuna stringa.

--help
    Stampa un riassunto dell'uso del programma sullo standard output ed esce.

-min-len
-n min-len
--bytes=min-len
    Stampa le sequenze di caratteri stampabili che siano almeno di min-len caratteri. Se non indicato, viene assunto il valore 4. La distinzione tra caratteri stampabili e non è guidata dalle opzioni -e e -U. Le sequenze sono sempre terminate dai caratteri di controllo, come quelli di «new line» o «carriage return», ma non dal carattere di tabulazione.

-o  Come -t o. Alcune altre versioni di strings hanno -o che agisce invece come -t d. Poiché non si può essere compatibili con entrambe le modalità, se ne scelga solamente una.

-t base
--radix=base
    Stampa l'offset all'interno del file prima di ciascuna stringa. L'argomento di un solo carattere specifica la base dell'offset---o per ottale, x per esadecimale, o d per decimale.

-e encoding
--encoding=encoding
    Seleziona la codifica dei caratteri delle stringhe da trovare. I valori possibili per encoding sono: s = caratteri di un solo byte di 7-bit (codifica predefinita), S = caratteri di un solo byte di 8-bit, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Utile per trovare stringhe di caratteri larghi. (l e b si applicano, per esempio, alle codifiche UTF-16/UCS-2).

-U [d|i|l|e|x|h]
--unicode=[default|invalid|locale|escape|hex|highlight]
    Controlla come mostrare stringhe di caratteri multi byte codificate in UTF-8. In maniera predefinita (--unicode=default) non viene fatto nessun trattamento speciale, aderendo alle indicati dell'opzione --encoding. Gli altri valori di questa opzione abilitano automaticamente --encoding=S.

    L'opzione --unicode=invalid li tratta come caratteri non grafici e quindi non come parti di stringhe valide. Tutte le opzioni rimanenti li trattano come caratteri di stringhe valide.

    L'opzione --unicode=locale li mostra in base alla locale attuale, che può o meno supportate la codifica UTF-8. L'opzione --unicode=hex li stampa come sequenze di byte esadecimali racchiusi tra i caratteri <>. L'opzione --unicode=escape li mostra come sequenze escape (\uxxxx) e l'opzione --unicode=highlight come sequenze escape evidenziate in rosso (se supportato dal terminale). La colorazione ha lo scopo di attirare l'attenzione sulla presenza di sequenze unicode dove non sarebbero attese.

-T bfdname
--target=nomebfd
    Specifica un formato di codice oggetto diverso dal formato predefinito del sistema in uso.

-v
-V
--version
    Stampa il numero di versione del programma sullo standard output ed esce.

-w
--include-all-whitespace
    Normalmente i caratteri di tabulazione e gli spazi sono inclusi nelle stringhe mostrate, mentre altri separatori bianchi, come «new line» e «carriage return» non lo sono. L'opzione -w fa in modo che tutti i separatori bianchi siano considerati parti di una stringa.

-s
--output-separator
    Normalmente le stringhe in output sono separate dal «new line». Questa opzione permette di fornire una stringa qualsiasi da usare durante l'output come separatore di record. Utile quando combinata con --include-all-whitespace dove le stringhe possono contenere internamente dei «new line».

@file
    Legge le opzioni da riga di comando da file. Le opzioni lette sono inserite al posto dell'opzione originale @file. Se file non esiste o non può essere letto, l'opzione sarà trattata letteralmente, e non rimossa.

    Le opzioni in file sono separate da spazi vuoti. Si può includere uno spazio vuoto in un'opzione racchiudendo l'intera opzione fra apici, singoli o doppi. Può essere incluso qualsiasi carattere (compresa la barra inversa) facendo precedere al carattere una barra inversa. Il file può esso stesso contenere ulteriori opzioni @file; ciascuna di queste opzioni sarà elaborata ricorsivamente.

VEDERE ANCHE
ar(1), nm(1), objdump(1), ranlib(1), readelf(1) e i campi Info per binutils.

COPYRIGHT
Copyright (c) 1991-2026 Free Software Foundation, Inc.

È permesso copiare, distribuire e/o modificare questo documento nei termini della “Licenza per documentazione libera GNU” (GNU Free Documentation License), versione 1.3 o ogni versione successiva pubblicata dalla Free Software Foundation; senza sezioni non modificabili, senza testi di prima di copertina e di quarta di copertina. Una copia della licenza è inclusa nella sezione intitolata “Licenza per la documentazione libera GNU" (GNU Free Documentation License).

TRADUZIONE
La traduzione italiana di questa pagina di manuale è stata creata da Giulio Daprelà <giulio@pluto.it>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 (https://www.gnu.org/licenses/gpl-3.0.html) o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.