GNU/Linux >> Znalost Linux >  >> Linux

Linux strings Command Tutorial pro začátečníky (5 příkladů)

Podívat se do binárního/spustitelného souboru, abyste získali lidsky čitelné řetězce, není ten druh práce, který dělá každý, ale co když vás o to požádá? Otevření souboru v editoru a ruční hledání věcí není elegantní řešení. Tak co dělat? Ano, uhodli jste správně – existuje nástroj příkazového řádku, který to udělá za vás.

Dotyčný nástroj se nazývá Řetězce a v tomto tutoriálu probereme základy tohoto příkazu pomocí několika snadno srozumitelných příkladů. Ale než to uděláme, stojí za zmínku, že všechny příklady v tomto článku byly testovány na počítači Ubuntu 16.04 LTS.

Příkaz Linux Strings

Příkaz Strings v podstatě vytiskne řetězce tisknutelných znaků v souborech. Následuje jeho syntaxe:

strings [OPTIONS] FILENAME

A zde je návod, jak to popisuje manuálová stránka nástroje:

       For each file given, GNU strings prints the printable character
       sequences that are at least 4 characters long (or the number given with
       the options below) and are followed by an unprintable character.

       Depending upon how the strings program was configured it will default
       to either displaying all the printable sequences that it can find in
       each file, or only those sequences that are in loadable, initialized
       data sections.  If the file type in unrecognizable, or if strings is
       reading from stdin then it will always display all of the printable
       sequences that it can find.

       For backwards compatibility any file that occurs after a command line
       option of just - will also be scanned in full, regardless of the
       presence of any -d option.

       strings is mainly useful for determining the contents of non-text
       files.

Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak příkaz Strings funguje.

O1. Jak používat příkaz strings?

Základní použití je poměrně snadné – stačí zadat název souboru jako vstup a spustit příkaz.

Upozorňujeme, že protože Strings se používají hlavně k extrahování informací z binárních/spustitelných souborů, budeme ve všech našich příkladech používat jeden takový soubor.

Například:

strings test

Zde je výstup, který tento příkaz vytvořil v mém systému:

Q2. Jak vynutit vlastní omezení počtu znaků?

Jak bylo vysvětleno na začátku, výchozí chování nástroje Řetězce je tisknout pouze sekvence znaků, které jsou dlouhé alespoň 4 znaky. Pokud však chcete, můžete tento limit změnit pomocí volby -n příkazového řádku (která vyžaduje, abyste předali číslo, které označuje nový limit).

Chcete-li například nastavit limit na 2, postupujte následovně:

strings -n 2 test

Nyní tedy můžete ve výstupu vidět také řetězce dvou a tří znaků.

3. Jak zajistit, aby řetězce tiskly offset sekvencí znaků?

Pokud chcete, aby řetězce také zobrazovaly offsety sekvencí znaků, které zobrazuje na výstupu, pak to lze provést pomocí volby příkazového řádku -t, která vyžaduje zadání jediného znakového vstupu, který specifikuje radix ofsetu - 'o' pro osmičkovou soustavu,  „x“ pro šestnáctkové nebo „d“ pro desítkové.

Například:

strings -t d test

A zde je výstup, který vytvořil v mém systému:

Takže můžete vidět, že řetězcům ve výstupu nyní předchází jejich příslušné offsety.

4. Jak přimět řetězce skenovat celý soubor?

V závislosti na tom, jak byly řetězce nakonfigurovány, může nebo nemusí prohledat celý vstupní soubor. Pokud však chcete mít naprostou jistotu, že nástroj přečte celý soubor (a nejen načítatelné inicializované datové části), použijte volbu -a příkazového řádku.

Například:

strings -a test

Naopak, pokud chcete, aby Řetězce zobrazovaly pouze řetězce z inicializovaných, načtených datových sekcí v souboru, použijte volbu -d příkazového řádku.

strings -d test

O5. Jak změnit oddělovač?

Jak jste si všimli, ve výchozím nastavení je oddělovač používaný řetězci nový řádek. Pokud však chcete, můžete mít vlastní oddělovač pomocí volby příkazového řádku -s.

Například:

strings -s [[[]]] test

Závěr

Příkaz Strings je extrémně užitečný nástroj, pokud hledáte užitečné informace v binárních/spustitelných souborech. Zde jsme probrali některé důležité možnosti příkazového řádku. Procvičte si je, a až budete hotovi, přejděte na stránku manuálu nástroje, kde najdete další informace.


Linux
  1. Linux cd command tutorial pro začátečníky (8 příkladů)

  2. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  3. Linux hostname Command Tutorial pro začátečníky (5 příkladů)

  1. Výuka příkazů Linux pro začátečníky (5 příkladů)

  2. Linux df Command Tutorial pro začátečníky (8 příkladů)

  3. Linux du Command Tutorial pro začátečníky (10 příkladů)

  1. Výukový program Linux echo Command pro začátečníky (5 příkladů)

  2. Linux env Command Tutorial pro začátečníky (5 příkladů)

  3. Návod k příkazu velikosti Linuxu pro začátečníky (6 příkladů)