STRINGS(1)

名前
strings - ファイル中の表示可能な文字列を表示

書式
strings [-afovV] [-min-len]
        [-n min-len] [--bytes=min-len]
        [-t radix] [--radix=radix]
        [-e encoding] [--encoding=encoding]
        [-U method] [--unicode=method]
        [-] [--all] [--print-file-name]
        [-T bfdname] [--target=bfdname]
        [-w] [--include-all-whitespace]
        [-s] [--output-separator sep_string]
        [--help] [--version] file...

説明
与えられた file ごとに、 GNU strings は少なくとも 4文字 (または以下のオプションで指定された数) の印刷可能な文字シーケンスを印刷し、その後に印刷不可能な文字が続きます。

文字列プログラムがどのように設定されたかに応じて、デフォルトでは、各ファイル内で見つけられるすべての印刷可能なシーケンスを表示するか、ロード可能な初期化されたデータセクション内のシーケンスのみを表示するかのいずれかになります。ファイルタイプが認識できない場合、または文字列が stdin から読み込まれている場合は、検出されたすべての印刷可能なシーケンスが常に表示されます。

下位互換性のため、 - オプションの有無に関わらず、 -d のコマンドラインオプションの後に指定されたファイルもすべてスキャンされます。

strings は、主にテキスト以外のファイルの内容を決定する場合に便利です。

オプション

-a
--all
-   どのセクションが含まれているか、またはそれらのセクションがロードまたは初期化されているかに関係なく、ファイル全体をスキャンします。通常、これはデフォルトの動作ですが、代わりに -d がデフォルトになるように文字列を設定できます。

    - オプションは位置に依存し、 - オプションが指定されている場合でも、文字列はコマンドラインで -d の後に指定されているファイルを強制的にフルスキャンします。

-d
--data
    ファイル内の初期化され、ロードされたデータセクションからの文字列のみを出力します。これにより出力のゴミの量を減らすことができますが、文字列プログラムが、セクションのスキャンとロードに使用される BFD ライブラリに存在する可能性のあるセキュリティ上の欠陥にさらされることにもなります。文字列は、このオプションがデフォルトの動作になるように設定できます。このような場合、 -a オプションを使用すると、 BFD ライブラリを使用せずに、ファイル内で見つかったすべての文字列を出力できます。

-f
--print-file-name
    各文字列の前にファイル名を出力します。

--help
    プログラムの使用方法の概要を標準出力に表示して終了します。

-min-len
-n min-len
--bytes=min-len
    min-len 文字以上の表示可能な文字のシーケンスを出力します。指定しない場合は、デフォルトの最小長 4が使用されます。表示可能な文字と表示不可能な文字の区別は、 -e および -Uオプションの設定によって異なります。シーケンスは常に改行や復帰などの制御文字で終了しますが、タブ文字では終了しません。

-o  -t o と似ています。strings の他のバージョンでは、代わりに -o が -td のように動作します。両方の方法に対応することはできないので、単純に 2つのどちらかとなります。

-t radix
--radix=radix
    各文字列の前にファイル内のオフセットを表示します。1文字の引き数はオフセットの基数を指定します --- 8進数なら o 、 16進数なら x 、 10進数なら d です 。

-e encoding
--encoding=encoding
    検索する文字列の文字エンコーディングを選択します。 encoding で使用可能な値は、 s = 単一 7ビット・バイト文字 (デフォルト)、 S = 単一 8ビット・バイト文字、 b = 16ビット bigendian、 l = 16ビットlittleendian、B = 32ビットbigendian、L = 32ビットlittleendianです。ワイド文字列を検索するのに便利です。(l と b は、Unicode UTF-16/UCS-2 エンコーディングなどに適用されます)。

-U [d|i|l|e|x|h]
--unicode=[default|invalid|locale|escape|hex|highlight]
    文字列内の UTF-8 エンコード・マルチバイト文字の表示を制御します。 デフォルトの (--unicode=default) は、特別な処理を行わず、代わりに --encoding オプションの設定に依存します。このオプションの他の値は自動的に --encoding=S を有効にします。

    --unicode=invalid オプションは、これらを非グラフィック文字として処理するため、有効な文字列の一部ではありません。残りのすべてのオプションは、これらを有効な文字列として扱います。

    --unicode=locale オプションを使用すると、現在のロケールで表示されます。現在のロケールでは、UTF-8 エンコーディングがサポートされている場合とサポートされていない場合があります。 --unicode=hex オプションを指定すると、 <> 文字で囲まれた16進バイト列として表示されます。--unicode=escape オプションを指定すると、これらの文字は (\uxxxx) のエスケープシーケンスとして表示されます。 --unicode=highlight オプションを指定すると、これらの文字は赤で強調表示されます (出力デバイスでサポートされている場合) 。色分けは、unicode 配列の存在が予期されない場合に注意を引くことを目的としています。

-T bfdname
--target=bfdname
    システムのデフォルト形式以外のオブジェクトコード形式を指定します。 Xrefなので削る

-v
-V
--version
    プログラムのバージョン番号を標準出力に表示して終了します。

-w
--include-all-whitespace
    デフォルトでは、タブ文字と空白文字は表示される文字列に含まれますが、改行や復帰などの他の空白文字は含まれません。-w オプションはこれを変更し、すべての空白文字が文字列の一部と見なされるようにします。

-s
--output-separator
    デフォルトでは、出力文字列は改行で区切られます。このオプションを使用すると、出力レコードセパレータとして使用する任意の文字列を指定できます。文字列の内部に改行を含めることができる --include-all-whitespace とともに使用すると便利です。

@file
    file からコマンドラインオプションを読み込みます。読み込まれた オプションは、元の @file オプションの代わりに挿入されます。 fileが存在しない場合、または読み込めない場合、オプションは 文字通りに扱われ、削除されません。

    file 中のオプションは空白で区切られます。空白文字は、オプション 全体を一重引用符または二重引用符で囲むことによってオプションに含める ことができます。任意の文字 (バックスラッシュを含む) は、含まれる文字の 前にバックスラッシュを付けることによって含めることができます。 file 自体に追加の @file オプションを含めることができます。 このようなオプションは再帰的に処理されます。

関連項目
ar(1), nm(1), objdump(1), ranlib(1), readelf(1) と binutils の Info エントリ。

著作権
Copyright (c) 1991-2025 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

日本語訳
対応バージョン:2.45.50 翻訳日:2025-10-13 翻訳者:ribbon