.\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" %sccs.include.redist.man% .\" .\" @(#)strings.1 8.1 (Berkeley) 06/06/93 .\" .Dd .Dt STRINGS 1 .Os BSD 3 .Sh NAME .Nm strings .Nd find printable strings in a file .Sh SYNOPSIS .Nm strings .Op Fl afo .Op Fl n Ar number .Op Ar file ... .Sh DESCRIPTION .Nm Strings displays the sequences of printable characters in each of the specified files, or in the standard input, by default. By default, a sequence must be at least four characters in length before being displayed. .Pp The options are as follows: .Bl -tag -width Ds .It Fl a By default, .Nm strings only searches the text and data segments of object files. The .Fl a option causes .Nm strings to search the entire object file. .It Fl f Each string is preceded by the name of the file in which it was found. .It Fl n Specifies the minimum number of characters in a sequence to be .Ar number , instead of four. .It Fl o Each string is preceded by its decimal offset in the file. .El .Pp .Nm Strings is useful for identifying random binaries, among other things. .Sh SEE ALSO .Xr hexdump 1 .Sh BUGS The algorithm for identifying strings is extremely primitive. In particular, machine code instructions on certain architectures can resemble sequences of ASCII bytes, which will fool the algorithm. .Sh COMPATIBILITY Historic implementations of .Nm only search the initialized data portion of the object file. This was reasonable as strings were normally stored there. Given new compiler technology which installs strings in the text portion of the object file, the default behavior was changed. .Sh HISTORY The .Nm command appeared in .Bx 3.0 .