Initial import of binutils 2.27 on vendor branch
[dragonfly.git] / contrib / binutils-2.27 / binutils / doc / strings.1
1 .\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 .    ds C`
42 .    ds C'
43 'br\}
44 .\"
45 .\" Escape single quotes in literal strings from groff's Unicode transform.
46 .ie \n(.g .ds Aq \(aq
47 .el       .ds Aq '
48 .\"
49 .\" If the F register is turned on, we'll generate index entries on stderr for
50 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51 .\" entries marked with X<> in POD.  Of course, you'll have to process the
52 .\" output yourself in some meaningful fashion.
53 .\"
54 .\" Avoid warning from groff about undefined register 'F'.
55 .de IX
56 ..
57 .nr rF 0
58 .if \n(.g .if rF .nr rF 1
59 .if (\n(rF:(\n(.g==0)) \{
60 .    if \nF \{
61 .        de IX
62 .        tm Index:\\$1\t\\n%\t"\\$2"
63 ..
64 .        if !\nF==2 \{
65 .            nr % 0
66 .            nr F 2
67 .        \}
68 .    \}
69 .\}
70 .rr rF
71 .\"
72 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
74 .    \" fudge factors for nroff and troff
75 .if n \{\
76 .    ds #H 0
77 .    ds #V .8m
78 .    ds #F .3m
79 .    ds #[ \f1
80 .    ds #] \fP
81 .\}
82 .if t \{\
83 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
84 .    ds #V .6m
85 .    ds #F 0
86 .    ds #[ \&
87 .    ds #] \&
88 .\}
89 .    \" simple accents for nroff and troff
90 .if n \{\
91 .    ds ' \&
92 .    ds ` \&
93 .    ds ^ \&
94 .    ds , \&
95 .    ds ~ ~
96 .    ds /
97 .\}
98 .if t \{\
99 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
100 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
101 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
102 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
103 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
104 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
105 .\}
106 .    \" troff and (daisy-wheel) nroff accents
107 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
108 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
109 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
110 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
111 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
112 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
113 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
114 .ds ae a\h'-(\w'a'u*4/10)'e
115 .ds Ae A\h'-(\w'A'u*4/10)'E
116 .    \" corrections for vroff
117 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
118 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
119 .    \" for low resolution devices (crt and lpr)
120 .if \n(.H>23 .if \n(.V>19 \
121 \{\
122 .    ds : e
123 .    ds 8 ss
124 .    ds o a
125 .    ds d- d\h'-1'\(ga
126 .    ds D- D\h'-1'\(hy
127 .    ds th \o'bp'
128 .    ds Th \o'LP'
129 .    ds ae ae
130 .    ds Ae AE
131 .\}
132 .rm #[ #] #H #V #F C
133 .\" ========================================================================
134 .\"
135 .IX Title "STRINGS 1"
136 .TH STRINGS 1 "2016-08-03" "binutils-2.27" "GNU Development Tools"
137 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
138 .\" way too many mistakes in technical documents.
139 .if n .ad l
140 .nh
141 .SH "NAME"
142 strings \- print the strings of printable characters in files.
143 .SH "SYNOPSIS"
144 .IX Header "SYNOPSIS"
145 strings [\fB\-afovV\fR] [\fB\-\fR\fImin-len\fR]
146         [\fB\-n\fR \fImin-len\fR] [\fB\-\-bytes=\fR\fImin-len\fR]
147         [\fB\-t\fR \fIradix\fR] [\fB\-\-radix=\fR\fIradix\fR]
148         [\fB\-e\fR \fIencoding\fR] [\fB\-\-encoding=\fR\fIencoding\fR]
149         [\fB\-\fR] [\fB\-\-all\fR] [\fB\-\-print\-file\-name\fR]
150         [\fB\-T\fR \fIbfdname\fR] [\fB\-\-target=\fR\fIbfdname\fR]
151         [\fB\-w\fR] [\fB\-\-include\-all\-whitespace\fR]
152         [\fB\-s\fR] [\fB\-\-output\-separator\fR\fIsep_string\fR]
153         [\fB\-\-help\fR] [\fB\-\-version\fR] \fIfile\fR...
154 .SH "DESCRIPTION"
155 .IX Header "DESCRIPTION"
156 For each \fIfile\fR given, \s-1GNU \s0\fBstrings\fR prints the
157 printable character sequences that are at least 4 characters long (or
158 the number given with the options below) and are followed by an
159 unprintable character.
160 .PP
161 Depending upon how the strings program was configured it will default
162 to either displaying all the printable sequences that it can find in
163 each file, or only those sequences that are in loadable, initialized
164 data sections.  If the file type in unrecognizable, or if strings is
165 reading from stdin then it will always display all of the printable
166 sequences that it can find.
167 .PP
168 For backwards compatibility any file that occurs after a command line
169 option of just \fB\-\fR will also be scanned in full, regardless of
170 the presence of any \fB\-d\fR option.
171 .PP
172 \&\fBstrings\fR is mainly useful for determining the contents of
173 non-text files.
174 .SH "OPTIONS"
175 .IX Header "OPTIONS"
176 .IP "\fB\-a\fR" 4
177 .IX Item "-a"
178 .PD 0
179 .IP "\fB\-\-all\fR" 4
180 .IX Item "--all"
181 .IP "\fB\-\fR" 4
182 .IX Item "-"
183 .PD
184 Scan the whole file, regardless of what sections it contains or
185 whether those sections are loaded or initialized.  Normally this is
186 the default behaviour, but strings can be configured so that the
187 \&\fB\-d\fR is the default instead.
188 .Sp
189 The \fB\-\fR option is position dependent and forces strings to
190 perform full scans of any file that is mentioned after the \fB\-\fR
191 on the command line, even if the \fB\-d\fR option has been
192 specified.
193 .IP "\fB\-d\fR" 4
194 .IX Item "-d"
195 .PD 0
196 .IP "\fB\-\-data\fR" 4
197 .IX Item "--data"
198 .PD
199 Only print strings from initialized, loaded data sections in the
200 file.  This may reduce the amount of garbage in the output, but it
201 also exposes the strings program to any security flaws that may be
202 present in the \s-1BFD\s0 library used to scan and load sections.  Strings
203 can be configured so that this option is the default behaviour.  In
204 such cases the \fB\-a\fR option can be used to avoid using the \s-1BFD\s0
205 library and instead just print all of the strings found in the file.
206 .IP "\fB\-f\fR" 4
207 .IX Item "-f"
208 .PD 0
209 .IP "\fB\-\-print\-file\-name\fR" 4
210 .IX Item "--print-file-name"
211 .PD
212 Print the name of the file before each string.
213 .IP "\fB\-\-help\fR" 4
214 .IX Item "--help"
215 Print a summary of the program usage on the standard output and exit.
216 .IP "\fB\-\fR\fImin-len\fR" 4
217 .IX Item "-min-len"
218 .PD 0
219 .IP "\fB\-n\fR \fImin-len\fR" 4
220 .IX Item "-n min-len"
221 .IP "\fB\-\-bytes=\fR\fImin-len\fR" 4
222 .IX Item "--bytes=min-len"
223 .PD
224 Print sequences of characters that are at least \fImin-len\fR characters
225 long, instead of the default 4.
226 .IP "\fB\-o\fR" 4
227 .IX Item "-o"
228 Like \fB\-t o\fR.  Some other versions of \fBstrings\fR have \fB\-o\fR
229 act like \fB\-t d\fR instead.  Since we can not be compatible with both
230 ways, we simply chose one.
231 .IP "\fB\-t\fR \fIradix\fR" 4
232 .IX Item "-t radix"
233 .PD 0
234 .IP "\fB\-\-radix=\fR\fIradix\fR" 4
235 .IX Item "--radix=radix"
236 .PD
237 Print the offset within the file before each string.  The single
238 character argument specifies the radix of the offset\-\-\-\fBo\fR for
239 octal, \fBx\fR for hexadecimal, or \fBd\fR for decimal.
240 .IP "\fB\-e\fR \fIencoding\fR" 4
241 .IX Item "-e encoding"
242 .PD 0
243 .IP "\fB\-\-encoding=\fR\fIencoding\fR" 4
244 .IX Item "--encoding=encoding"
245 .PD
246 Select the character encoding of the strings that are to be found.
247 Possible values for \fIencoding\fR are: \fBs\fR = single\-7\-bit\-byte
248 characters (\s-1ASCII, ISO 8859,\s0 etc., default), \fBS\fR =
249 single\-8\-bit\-byte characters, \fBb\fR = 16\-bit bigendian, \fBl\fR =
250 16\-bit littleendian, \fBB\fR = 32\-bit bigendian, \fBL\fR = 32\-bit
251 littleendian.  Useful for finding wide character strings. (\fBl\fR
252 and \fBb\fR apply to, for example, Unicode \s-1UTF\-16/UCS\-2\s0 encodings).
253 .IP "\fB\-T\fR \fIbfdname\fR" 4
254 .IX Item "-T bfdname"
255 .PD 0
256 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4
257 .IX Item "--target=bfdname"
258 .PD
259 Specify an object code format other than your system's default format.
260 .IP "\fB\-v\fR" 4
261 .IX Item "-v"
262 .PD 0
263 .IP "\fB\-V\fR" 4
264 .IX Item "-V"
265 .IP "\fB\-\-version\fR" 4
266 .IX Item "--version"
267 .PD
268 Print the program version number on the standard output and exit.
269 .IP "\fB\-w\fR" 4
270 .IX Item "-w"
271 .PD 0
272 .IP "\fB\-\-include\-all\-whitespace\fR" 4
273 .IX Item "--include-all-whitespace"
274 .PD
275 By default tab and space characters are included in the strings that
276 are displayed, but other whitespace characters, such a newlines and
277 carriage returns, are not.  The \fB\-w\fR option changes this so
278 that all whitespace characters are considered to be part of a string.
279 .IP "\fB\-s\fR" 4
280 .IX Item "-s"
281 .PD 0
282 .IP "\fB\-\-output\-separator\fR" 4
283 .IX Item "--output-separator"
284 .PD
285 By default, output strings are delimited by a new-line. This option
286 allows you to supply any string to be used as the output record
287 separator.  Useful with \-\-include\-all\-whitespace where strings
288 may contain new-lines internally.
289 .IP "\fB@\fR\fIfile\fR" 4
290 .IX Item "@file"
291 Read command-line options from \fIfile\fR.  The options read are
292 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
293 does not exist, or cannot be read, then the option will be treated
294 literally, and not removed.
295 .Sp
296 Options in \fIfile\fR are separated by whitespace.  A whitespace
297 character may be included in an option by surrounding the entire
298 option in either single or double quotes.  Any character (including a
299 backslash) may be included by prefixing the character to be included
300 with a backslash.  The \fIfile\fR may itself contain additional
301 @\fIfile\fR options; any such options will be processed recursively.
302 .SH "SEE ALSO"
303 .IX Header "SEE ALSO"
304 \&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), \fIreadelf\fR\|(1)
305 and the Info entries for \fIbinutils\fR.
306 .SH "COPYRIGHT"
307 .IX Header "COPYRIGHT"
308 Copyright (c) 1991\-2016 Free Software Foundation, Inc.
309 .PP
310 Permission is granted to copy, distribute and/or modify this document
311 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
312 or any later version published by the Free Software Foundation;
313 with no Invariant Sections, with no Front-Cover Texts, and with no
314 Back-Cover Texts.  A copy of the license is included in the
315 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".