Befehle · 3 min read · Sep 19, 2025

Linux Strings-Befehl Tutorial für Anfänger (5 Beispiele)

Das Durchsuchen einer Binär-/Ausführungsdatei nach lesbaren Zeichen ist nicht die Art von Arbeit, die jeder macht, aber was, wenn Sie darum gebeten werden? Die Datei in einem Editor zu öffnen und manuell nach Inhalten zu suchen, ist keine elegante Lösung. Also, was tun? Ja, Sie haben es richtig erraten - es gibt ein Befehlszeilenwerkzeug, das dies für Sie erledigt.

Das betreffende Tool wird Strings genannt, und in diesem Tutorial werden wir die Grundlagen dieses Befehls anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einer Ubuntu 16.04 LTS-Maschine getestet wurden.

Linux Strings-Befehl

Der Strings-Befehl gibt im Wesentlichen die Zeichenfolgen druckbarer Zeichen in Dateien aus. Folgendes ist seine Syntax:

strings [OPTIONEN] DATEINAME

Und so beschreibt die Man-Seite des Tools:

       Für jede angegebene Datei gibt GNU strings die druckbaren Zeichenfolgen aus,  
       die mindestens 4 Zeichen lang sind (oder die Anzahl, die mit  
       den untenstehenden Optionen angegeben ist) und von einem nicht druckbaren Zeichen gefolgt werden.  
       
       Je nachdem, wie das Strings-Programm konfiguriert wurde, wird es standardmäßig  
       entweder alle druckbaren Sequenzen anzeigen, die es in  
       jeder Datei finden kann, oder nur die Sequenzen, die sich in ladbaren,  
       initialisierten Datensektionen befinden. Wenn der Dateityp nicht erkennbar ist  
       oder wenn Strings von stdin liest, werden immer alle druckbaren  
       Sequenzen angezeigt, die es finden kann.  
       
       Aus Gründen der Rückwärtskompatibilität wird jede Datei, die nach einer  
       Befehlszeilenoption von nur - auftritt, ebenfalls vollständig gescannt,  
       unabhängig von der Anwesenheit einer -d-Option.  
       
       Strings ist hauptsächlich nützlich, um den Inhalt von Nicht-Textdateien zu bestimmen.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon geben sollten, wie der Strings-Befehl funktioniert.

Q1. Wie verwendet man den Strings-Befehl?

Die grundlegende Verwendung ist ziemlich einfach - geben Sie einfach den Dateinamen als Eingabe an und führen Sie den Befehl aus.

Bitte beachten Sie, dass Strings hauptsächlich verwendet wird, um Informationen aus Binär-/Ausführungsdateien zu extrahieren. Wir werden in all unseren Beispielen eine solche Datei verwenden.

Zum Beispiel:

strings test

Hier ist die Ausgabe, die dieser Befehl auf meinem System erzeugt hat:

Wie man den Strings-Befehl verwendet

Q2. Wie zwingt man ein benutzerdefiniertes Zeichenlimit?

Wie zu Beginn erklärt, besteht das Standardverhalten des Strings-Tools darin, nur Zeichenfolgen auszugeben, die mindestens 4 Zeichen lang sind. Wenn Sie jedoch möchten, können Sie dieses Limit mit der Befehlszeilenoption -n ändern (die erfordert, dass Sie eine Zahl angeben, die das neue Limit angibt).

Zum Beispiel, wenn Sie das Limit auf 2 setzen möchten, so können Sie dies tun:

strings -n 2 test

Jetzt können Sie auch zwei- und dreiziffrige Zeichenfolgen in der Ausgabe sehen.

Q3. Wie lässt man Strings die Offsets von Zeichenfolgen ausgeben?

Wenn Sie möchten, dass Strings auch die Offsets der Zeichenfolgen anzeigt, die es in der Ausgabe anzeigt, kann dies mit der Befehlszeilenoption -t erfolgen, die erfordert, dass Sie eine einzelne Zeichen-Eingabe angeben, die die Basis des Offsets angibt - ‘o’ für oktal, ‘x’ für hexadezimal oder ‘d’ für dezimal.

Zum Beispiel:

strings -t d test

Und hier ist die Ausgabe, die es auf meinem System erzeugt hat:

Wie man Strings die Offsets von Zeichenfolgen ausgeben lässt

Jetzt sehen Sie, dass die Zeichenfolgen in der Ausgabe nun von ihren jeweiligen Offsets vorangestellt sind.

Q4. Wie lässt man Strings die gesamte Datei scannen?

Je nachdem, wie Strings konfiguriert wurde, kann es die gesamte Eingabedatei scannen oder auch nicht. Wenn Sie jedoch sicherstellen möchten, dass das Tool die gesamte Datei liest (und nicht nur ladbare, initialisierte Datensektionen), verwenden Sie die Befehlszeilenoption -a.

Zum Beispiel:

strings -a test

Umgekehrt, wenn Sie möchten, dass Strings nur Zeichenfolgen aus initialisierten, geladenen Datensektionen in der Datei anzeigt, verwenden Sie die Befehlszeilenoption -d.

strings -d test

Q5. Wie ändert man den Separator?

Wie Sie vielleicht bemerkt haben, ist der Separator, der standardmäßig von Strings verwendet wird, ein Zeilenumbruch. Wenn Sie möchten, können Sie einen benutzerdefinierten Separator mit der Befehlszeilenoption -s verwenden.

Zum Beispiel:

strings -s [[[]]] test

Wie man den Separator ändert

Fazit

Der Strings-Befehl ist ein äußerst nützliches Tool, wenn Sie Binär-/Ausführungsdateien nach nützlichen Informationen durchsuchen. Wir haben hier einige wichtige Befehlszeilenoptionen besprochen. Üben Sie sie, und sobald Sie fertig sind, gehen Sie zur Man-Seite des Tools für weitere Informationen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.