Strings (Unix)

In computer software, strings is a program in Unix, Plan 9, Inferno, and Unix-like operating systems that finds and prints the strings of printable characters in files. The files can be of regular text files or binary files such as executables. It can be used on object files and core dumps. strings is mainly useful for determining the contents of non-text files.

Overview
Strings are recognized by looking for sequences of at least 4 (by default) printable characters terminating in a NUL character (that is, null-terminated strings). Some implementations provide options for determining what is recognized as a printable character, which is useful for finding non-ASCII and wide character text. By default, it only prints the strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from the whole file. With regular text files, strings and cat give different output. cat outputs the non printable characters but strings does not.

strings is part of the GNU Binary Utilities (binutils), and has been ported to other operating systems including Windows.

Example
Using strings to print sequences of characters that are at least 8 characters long (this command prints the system's BIOS information; should be run as root):

dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8 | less