Strings (Unix): Difference between revisions

Content deleted Content added
mNo edit summary
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T13 CW#549 - Fix errors for CW project (Split link)
 
(32 intermediate revisions by 12 users not shown)
Line 1:
{{Short description|Shell command for extracting printable text from a binary file}}
{{lowercase}}
{{distinguish|string (computing)}}
{{Oneone source |date=JulyApril 20082024}}
In [[computer software]], '''strings''' is a program in [[Unix-like]] [[operating system]]s that finds and prints text [[string (computer science)|strings]] embedded in [[binary files]] such as executables. It can be used on object files and [[core dump]]s.
{{Portal|FreeInfobox software}}
| name = strings
| logo =
| screenshot = Strings Command.png
| screenshot size =
| caption = The {{code|strings}} command
| author =
| developer =
| released =
| latest release version =
| latest release date =
| programming language = [[C (programming language)|C]]
| operating system = [[Unix]], [[Unix-like]], [[Plan 9 from Bell Labs|Plan 9]], [[Inferno (operating system)|Inferno]]
| platform = [[Cross-platform]]
| genre = [[Command (computing)|Command]]
| license = Plan 9: [[MIT License]]
| website =
}}
<code>'''strings'''</code> is a [[Shell (computing)|shell command]] that extracts [[printable character]] [[String (computer science)|strings]] from a [[computer file|file]] {{endash}} which is particular useful for analyzing the content of a [[binary file]]. By definition, a binary file contains data that is not printable text yet a binary file often does contain some printable character text {{endash}} often in relatively short sequences distributed throughout the file. These portions of the binary file can be informative as to what the file contains overall. For a [[text file]], a file containing all printable characters, the command prints the entire file content, and therefore, provides no utility over more commonly used file output commands such as <code>[[cat (Unix)|cat]]</code>.
 
<code>Strings</code>The arecommand recognized by lookingsearches for sequences of at least 4 (by default) printable characters terminatingthat inend with a NUL character (that is, [[null-terminated string|NUL character]]s) but ignores any sequence that is less than a specified length or 4 characters by default. 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 selects strings from the initialized and loaded sections of an object file. For other types of files, it selects strings from the whole file.
 
The command is available in [[Unix]], [[Plan 9 from Bell Labs|Plan 9]], [[Inferno (operating system)|Inferno]], and [[Unix-like]] systems. It is part of the [[GNU Binary Utilities]] ({{mono|binutils}}), and has been portedimplemented toin other operating systems including [[Microsoft Windows|Windows]].<ref>[[cygwin]]</ref>
Common usage includes piping its output to [[grep|<code>grep</code>]] and <tt>[[Fold (Unix)|fold]]</tt> or redirecting the output to a [[Computer file|<code>file</code>]].<ref>{{cite book|last=Kiddle|first=Oliver |author2=Jerry Peek |author3=Peter Stephenson|title=From Bash to Z Shell |year=2005 |___location=New York, NY |publisher=Apress|isbn=978-1-590-59376-9|page=413 |oclc=57450917 |url=http://www.apress.com/9781590593769}}</ref>
 
It is part of the [[GNU Binary Utilities]] (binutils), and has been ported to other operating systems including [[Microsoft Windows]].<ref>[[cygwin]]</ref>
 
==Example==
Using <code>strings</code> 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):
<source lang="bash">
dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8 | less
</source>
 
The following command searches the system's [[BIOS]] for strings that are at 8 characters long:
==See also==
{{Portal|Free software}}
 
dd if=/dev/mem bs=1k skip=768 count=256 2>[[/dev/null]] | strings -n 8 | less
*<tt>[[Cat (Unix)|cat]]</tt>
 
*[[Paste (Unix)|paste]]
==See also==
*[[GNU Debugger]]
{{Portal|Free and open-source software}}
*<tt>[[Strip (Unix)|strip]]</tt>
* {{Annotated link|GNU Debugger}}
* {{Annotated link|List of POSIX commands}}
* {{Annotated link|Paste (Unix)}}
* {{Annotated link|Strip (Unix)}}
 
==References==
Line 27 ⟶ 44:
 
==External links==
{{Wikibooks|Guide to Unix|Commands}}
{{One source|date=July 2008}}
* {{man|cu|strings|SUS}}
* {{man|1|strings|Plan 9}}
* {{man|1|strings|Inferno}}
 
{{unixUnix commands}}
{{Plan 9 commands}}
 
[[Category:Unix text processing utilities]]
[[Category:Unix SUS2008 utilities]]
[[Category:Plan 9 commands]]
[[Category:Inferno (operating system) commands]]
[[Category:String (computer science)]]
 
 
{{unix-stub}}