Zde je příklad ze skutečného života, kde může být hexdump užitečný. Pokud pracujete s binárními daty, bude to velmi obtížné pochopit. Pro usnadnění můžete binární data rychle změnit na hexadecimální nebo desítková.
V této příručce se podívejte, jak používat příkaz hexdump v systému Linux.
Hexdump v Linuxu
Hexdump je jednoduchý, ale užitečný program napsaný v jazyce C. Proto může být pro profesionální programátory C jeho použití snadné. I když však nemáte zkušenosti s programováním v jazyce C, stále můžete pro svůj účel použít hexdump.
Hexdump je předinstalován v jakékoli linuxové distribuci. V této příručce budu pro demonstrační účely používat Ubuntu.
Využití Hexdump
Pro demonstraci použití hexdump jsem vytvořil ukázkový textový soubor figuríny.txt.
$ kočičí figurína.txt
Tento soubor předáme hexdumpu, abychom převedli jeho obsah do různých formátů výstupu.
Osmibajtový osmičkový displej
Následující příkaz hexdump vytiskne vstupní data v hexadecimálním formátu. Na výstupu obsahuje každý řádek 16 mezerově oddělených bajtů vstupních dat, z nichž každý má 3 sloupce a je vyplněn nulou, v osmičkovém formátu.
$ hexdump -b
Zobrazení jednobajtových znaků
Následující příkaz hexdump zobrazí vstupní data v hexadecimálním formátu. Na výstupu obsahuje každý řádek 16 znaků oddělených mezerami vstupních dat, přičemž každý má 3 sloupce a je vyplněn mezerou.
$ hexdump -c
Kanonický hexadecimální + ASCII displej
Následující příkaz hexdump zobrazí vstupní data v hexadecimálním formátu. Na výstupu obsahuje každý řádek 16 hexadecimálních bajtů oddělených mezerami, z nichž každý má 2 sloupce. Následující obsah bude mít stejné bajty % _p formát uzavřený v „|“ postavy.
$ hexdump -C
Dvoubajtové desetinné zobrazení
Následující příkaz hexdump zobrazí vstupní data v hexadecimálním formátu. Ve výstupu obsahuje každý řádek 8 mezerami oddělených 2 bajtových jednotek vstupních dat, z nichž každý má 5 sloupců a je vyplněn nulou, v desetinném znaku bez znaménka.
$ hexdump -d
Dvoubajtový osmičkový displej
Následující příkaz hexdump vytiskne vstupní data v hexadecimálním formátu. Na výstupu obsahuje každý řádek 8 mezerami oddělených 2 bajtů vstupních dat, každý se 6 sloupci a nulovým vyplněním, v osmičkovém formátu.
$ hexdump -o
Dvoubajtové hexadecimální zobrazení
Následující příkaz hexdump vytiskne vstupní data v hexadecimálním formátu. Ve výstupu obsahuje každý řádek 8 mezerami oddělených 2 bajtů vstupních dat, každý se 4 sloupci a nulovým vyplněním, v šestnáctkové soustavě.
$ hexdump -x
Zobrazit všechny vstupy
Při použití hexdump nahradí obsah opakovaných řádků jednou hvězdičkou. Pokud chcete vynutit hexdump, aby vydal veškerý obsah, použijte příznak „-v“.
$ kočičí figurína.txt$ hexdump -b figurína.txt
$ hexdump -v -b
Omezit počet bajtů
Hexdump podporuje možnost rozhodování o konkrétním počtu bajtů ze souboru na hexdump. Chcete-li určit částku, použijte příznak „-s“ následovaný velikostí bajtu.
$ hexdump -s 2 -c
Poslední myšlenka
Zde ukázané příklady jsou způsoby, kterými budete většinou používat hexdump. Chcete-li získat úplné informace o hexdumpu, je manuálová stránka jedním z nejlepších zdrojů.
$ man hexdump
Hexdump je mocný nástroj, pokud víte, kdy a jak jej použít. Nástroje však nejsou vždy odpovědí, pokud jde o ladění. Podívejte se, jak ladit bash skript. Pokud jste v NodeJS, podívejte se, jak používat debugger NodeJS.
Užívat si!