Merge branch 'vendor/TNFTP'
[dragonfly.git] / contrib / binutils-2.25 / 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 "2014-12-23" "binutils-2.25" "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\-\-help\fR] [\fB\-\-version\fR] \fIfile\fR...
153 .SH "DESCRIPTION"
154 .IX Header "DESCRIPTION"
155 For each \fIfile\fR given, \s-1GNU \s0\fBstrings\fR prints the
156 printable character sequences that are at least 4 characters long (or
157 the number given with the options below) and are followed by an
158 unprintable character.
159 .PP
160 Depending upon how the strings program was configured it will default
161 to either displaying all the printable sequences that it can find in
162 each file, or only those sequences that are in loadable, initialized
163 data sections.  If the file type in unrecognizable, or if strings is
164 reading from stdin then it will always display all of the printable
165 sequences that it can find.
166 .PP
167 For backwards compatibility any file that occurs after a command line
168 option of just \fB\-\fR will also be scanned in full, regardless of
169 the presence of any \fB\-d\fR option.
170 .PP
171 \&\fBstrings\fR is mainly useful for determining the contents of
172 non-text files.
173 .SH "OPTIONS"
174 .IX Header "OPTIONS"
175 .IP "\fB\-a\fR" 4
176 .IX Item "-a"
177 .PD 0
178 .IP "\fB\-\-all\fR" 4
179 .IX Item "--all"
180 .IP "\fB\-\fR" 4
181 .IX Item "-"
182 .PD
183 Scan the whole file, regardless of what sections it contains or
184 whether those sections are loaded or initialized.  Normally this is
185 the default behaviour, but strings can be configured so that the
186 \&\fB\-d\fR is the default instead.
187 .Sp
188 The \fB\-\fR option is position dependent and forces strings to
189 perform full scans of any file that is mentioned after the \fB\-\fR
190 on the command line, even if the \fB\-d\fR option has been
191 specified.
192 .IP "\fB\-d\fR" 4
193 .IX Item "-d"
194 .PD 0
195 .IP "\fB\-\-data\fR" 4
196 .IX Item "--data"
197 .PD
198 Only print strings from initialized, loaded data sections in the
199 file.  This may reduce the amount of garbage in the output, but it
200 also exposes the strings program to any security flaws that may be
201 present in the \s-1BFD\s0 library used to scan and load sections.  Strings
202 can be configured so that this option is the default behaviour.  In
203 such cases the \fB\-a\fR option can be used to avoid using the \s-1BFD\s0
204 library and instead just print all of the strings found in the file.
205 .IP "\fB\-f\fR" 4
206 .IX Item "-f"
207 .PD 0
208 .IP "\fB\-\-print\-file\-name\fR" 4
209 .IX Item "--print-file-name"
210 .PD
211 Print the name of the file before each string.
212 .IP "\fB\-\-help\fR" 4
213 .IX Item "--help"
214 Print a summary of the program usage on the standard output and exit.
215 .IP "\fB\-\fR\fImin-len\fR" 4
216 .IX Item "-min-len"
217 .PD 0
218 .IP "\fB\-n\fR \fImin-len\fR" 4
219 .IX Item "-n min-len"
220 .IP "\fB\-\-bytes=\fR\fImin-len\fR" 4
221 .IX Item "--bytes=min-len"
222 .PD
223 Print sequences of characters that are at least \fImin-len\fR characters
224 long, instead of the default 4.
225 .IP "\fB\-o\fR" 4
226 .IX Item "-o"
227 Like \fB\-t o\fR.  Some other versions of \fBstrings\fR have \fB\-o\fR
228 act like \fB\-t d\fR instead.  Since we can not be compatible with both
229 ways, we simply chose one.
230 .IP "\fB\-t\fR \fIradix\fR" 4
231 .IX Item "-t radix"
232 .PD 0
233 .IP "\fB\-\-radix=\fR\fIradix\fR" 4
234 .IX Item "--radix=radix"
235 .PD
236 Print the offset within the file before each string.  The single
237 character argument specifies the radix of the offset\-\-\-\fBo\fR for
238 octal, \fBx\fR for hexadecimal, or \fBd\fR for decimal.
239 .IP "\fB\-e\fR \fIencoding\fR" 4
240 .IX Item "-e encoding"
241 .PD 0
242 .IP "\fB\-\-encoding=\fR\fIencoding\fR" 4
243 .IX Item "--encoding=encoding"
244 .PD
245 Select the character encoding of the strings that are to be found.
246 Possible values for \fIencoding\fR are: \fBs\fR = single\-7\-bit\-byte
247 characters (\s-1ASCII, ISO 8859,\s0 etc., default), \fBS\fR =
248 single\-8\-bit\-byte characters, \fBb\fR = 16\-bit bigendian, \fBl\fR =
249 16\-bit littleendian, \fBB\fR = 32\-bit bigendian, \fBL\fR = 32\-bit
250 littleendian.  Useful for finding wide character strings. (\fBl\fR
251 and \fBb\fR apply to, for example, Unicode \s-1UTF\-16/UCS\-2\s0 encodings).
252 .IP "\fB\-T\fR \fIbfdname\fR" 4
253 .IX Item "-T bfdname"
254 .PD 0
255 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4
256 .IX Item "--target=bfdname"
257 .PD
258 Specify an object code format other than your system's default format.
259 .IP "\fB\-v\fR" 4
260 .IX Item "-v"
261 .PD 0
262 .IP "\fB\-V\fR" 4
263 .IX Item "-V"
264 .IP "\fB\-\-version\fR" 4
265 .IX Item "--version"
266 .PD
267 Print the program version number on the standard output and exit.
268 .IP "\fB\-w\fR" 4
269 .IX Item "-w"
270 .PD 0
271 .IP "\fB\-\-include\-all\-whitespace\fR" 4
272 .IX Item "--include-all-whitespace"
273 .PD
274 By default tab and space characters are included in the strings that
275 are displayed, but other whitespace characters, such a newlines and
276 carriage returns, are not.  The \fB\-w\fR option changes this so
277 that all whitespace characters are considered to be part of a string.
278 .IP "\fB@\fR\fIfile\fR" 4
279 .IX Item "@file"
280 Read command-line options from \fIfile\fR.  The options read are
281 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
282 does not exist, or cannot be read, then the option will be treated
283 literally, and not removed.
284 .Sp
285 Options in \fIfile\fR are separated by whitespace.  A whitespace
286 character may be included in an option by surrounding the entire
287 option in either single or double quotes.  Any character (including a
288 backslash) may be included by prefixing the character to be included
289 with a backslash.  The \fIfile\fR may itself contain additional
290 @\fIfile\fR options; any such options will be processed recursively.
291 .SH "SEE ALSO"
292 .IX Header "SEE ALSO"
293 \&\fIar\fR\|(1), \fInm\fR\|(1), \fIobjdump\fR\|(1), \fIranlib\fR\|(1), \fIreadelf\fR\|(1)
294 and the Info entries for \fIbinutils\fR.
295 .SH "COPYRIGHT"
296 .IX Header "COPYRIGHT"
297 Copyright (c) 1991\-2014 Free Software Foundation, Inc.
298 .PP
299 Permission is granted to copy, distribute and/or modify this document
300 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
301 or any later version published by the Free Software Foundation;
302 with no Invariant Sections, with no Front-Cover Texts, and with no
303 Back-Cover Texts.  A copy of the license is included in the
304 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".