HEXDUMP(1) Polecenia uzytkownika HEXDUMP(1) NAZWA hexdump - zrzuca zawartosc pliku szesnastkowo, dziesietnie, osemkowo lub w ascii SKLADNIA hexdump opcje plik ... hd opcje plik ... OPIS Narzedzie hexdump jest filtrem, ktory wyswietla podane pliki - lub standardowe wejscie, jesli nie podano plikow - uzywajac do tego celu podanego przez uzytkownika formatu. OPCJE Ponizej, po argumentach rozmiar i przesuniecie moga wystepowac przyrostki binarne (2^N): KiB (=1024), MiB (=1024*1024) i tak dalej dla GiB, TiB, PiB, EiB, ZiB oraz YiB (czesc "iB" jest opcjonalna, na przyklad "K" ma to samo znaczenie, co "KiB") lub dziesietne (10^N): KB (=1000), MB (=1000*1000) i podobnie dla GB, TB, PB, EB, ZB oraz YB. -b, --one-byte-octal Jednobajtowe wyswietlanie osemkowe. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim szesnascie trojkolumnowych, oddzielonych spacjami, uzupelnionych zerami bajtow wejsciowych w formacie osemkowym, na wiersz. -X, --one-byte-hex Jednobajtowe wyswietlanie szesnastkowe. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim szesnascie dwukolumnowych, oddzielonych spacjami, uzupelnionych zerami bajtow wejsciowych w formacie szesnastkowym, na wiersz. -c, --one-byte-char Jednobajtowe wyswietlanie znakowe. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim szesnascie, trojkolumnowych, oddzielonych spacjami znakow wejsciowych, na wiersz. -C, --canonical Tradycyjne wyswietlanie szesnastkowe+ASCII. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim szesnascie dwukolumnowych, oddzielonych spacjami, bajtow w formacie osemkowym; po ktorych wystepuje tych samych szesnascie bajtow w formacie %_p ujetym znakami |. Wywolanie programu jako hd wymusza te opcje. -d, --two-bytes-decimal Dwubajtowe wyswietlanie dziesietne. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim osiem pieciokolumnowych, oddzielonych spacjami, uzupelnionych zerami jednostek dwubajtowych, zawierajacych dane wejsciowe, w formacie dziesietnym, na wiersz. -e, --format lancuch-formatu Okresla lancuch formatu, ktory ma posluzyc do wyswietlania danych. -f, --format-file plik Podaje plik, ktory zawiera jeden, lub wiecej, oddzielonych nowym wierszem lancuchow formatujacych. Puste wiersze oraz wiersze zaczynajace sie od kratki (#) sa ignorowane. -L, --color[=kiedy] Koloryzuje wynik. Opcjonalnym argumentem kiedy moze byc auto, never (nigdy) lub always (zawsze). Gdy nie poda sie argumentu kiedy, domyslnym ustawieniem jest auto. Kolory moga byc wylaczone, aktualne wbudowane ustawienie domyslne pokaze opcja --help. Zob. rowniez podrozdzial Kolory oraz rozdzial KOLORY ponizej. -n, --length dlugosc Interpretuje tylko dlugosc bajtow wejscia. -o, --two-bytes-octal Dwubajtowe wyswietlanie osemkowe. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim osiem szesciokolumnowych, oddzielonych spacjami, uzupelnionych zerami, dwubajtowych fragmentow danych wejsciowych, w formacie osemkowym, na wiersz. -s, --skip przesuniecie Pomija przesuniecie bajtow, liczac od poczatku wejscia. -v, --no-squeezing Opcja -v powoduje wyswietlenie przez hexdump zrzutu wszystkich danych wejsciowych. Bez opcji -v, dowolna liczba grup wierszy wyjsciowych, ktora bedzie identyczna z bezposrednio poprzedzajaca grupa wierszy (poza przesunieciami wejsciowymi), bedzie zamieniana wierszem z pojedyncza gwiazdka. -x, --two-bytes-hex Dwubajtowe wyswietlanie szesnastkowe. Wyswietla szesnastkowo przesuniecie wejsciowe, a za nim osiem oddzielonych spacjami, czterokolumnowych, uzupelnionych zerami, dwubajtowych fragmentow danych wejsciowych, w formacie szesnastkowym, na wiersz. -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. Dla kazdego pliku wejsciowego hexdump kopiuje sekwencyjnie dane wejsciowe na standardowe wyjscie, przeksztalcajac dane wedlug lancuchow formatujacych, podanych w opcjach -e i -f, w kolejnosci, w jakiej byly podane. FORMATY Lancuch formatujacy sklada sie z dowolnej ilosci jednostek formatujacych, oddzielonych biala spacja. Jednostka formatujaca sklada sie z maksymalnie trzech elementow: licznika iteracji, licznika bajtow i formatu. Licznik iteracji jest opcjonalna dodatnia liczba calkowita, ktorej wartosc domyslna to jeden. Kazdy format jest zalaczany tyle razy, ile wskazano w liczniku iteracji. Licznik bajtow jest opcjonalna dodatnia liczba calkowita. Jesli zostanie podana, to definiuje liczbe bajtow, ktore nalezy zinterpretowac w kazdej iteracji formatu. Jesli podano licznik iteracji i/lub bajtow, to po liczniku iteracji i/lub przed licznikiem bajtow trzeba umiescic ukosnik, aby moc je rozroznic. Biale spacje przed i za ukosnikiem sa ignorowane. Format jest czescia wymagana i musi byc ujety w podwojne cudzyslowy (" "). Jest on interpretowany jak lancuch formatujacy fprintf (zob. fprintf(3)), lecz z nastepujacymi wyjatkami: 1. Gwiazdka (*) nie moze byc uzywana do okreslania precyzji lub szerokosci pola. 2. Liczba bajtow lub dokladnosc pola jest wymagana dla kazdego znaku konwersji s (w przeciwienstwie do fprintf(3) gdzie domyslnie, bez podanej precyzji, drukowany jest caly lancuch). 3. Znaki konwersji h, l, n, p i q nie sa obslugiwane. 4. Obslugiwane sa nastepujace sekwencje specjalne pojedynczych znakow, opisane w standardzie C: +--------------------+----+ |NULL | \0 | +--------------------+----+ | | \a | +--------------------+----+ | | \b | +--------------------+----+ | | \f | +--------------------+----+ | | \n | +--------------------+----+ | | \r | +--------------------+----+ | | \t | +--------------------+----+ | | \v | +--------------------+----+ Lancuchy konwersji Polecenie hexdump obsluguje rowniez nastepujace dodatkowe lancuchy konwersji: _a[dox] Wyswietla przesuniecie wejscia, kumulujace sie na przestrzeni plikow wejsciowych, wskazujace nastepny wyswietlany bajt. Dodane znaki d, o, i x wskazuja format wyswietlenia jako dziesietny, osemkowy lub szesnastkowy. _A[dox] Identyczne z lancuchem konwersji _a z ta tylko roznica, ze jest dokonywane tylko raz, po przetworzeniu wszystkich danych wejsciowych. _c Wypisuje znaki z domyslnego zestawu znakow. Znaki niedrukowalne sa wyswietlane w trojznakowych, uzupelnionych zerami sekwencjach osemkowych, poza tymi, ktore sa reprezentowane standardowa notacja specjalna (zob. wyzej) - te sa wyswietlane jako lancuchy dwuznakowe. _p Wypisuje znaki z domyslnego zestawu znakow. Niedrukowane znaki sa wyswietlane jako pojedyncza kropka ".". _u Wyswietla znaki US ASCII, z wyjatkiem znakow sterujacych, ktore sa wyswietlane za pomoca nastepujacych nazw, pisanych malymi literami. Znaki wieksze niz szesnastkowe 0xff, sa wyswietlane jako lancuchy szesnastkowe. +--------+---------+---------+---------+---------+---------+ |000 nul | 001 soh | 002 stx | 003 etx | 004 eot | 005 enq | +--------+---------+---------+---------+---------+---------+ |006 ack | 007 bel | 008 bs | 009 ht | 00A lf | 00B vt | +--------+---------+---------+---------+---------+---------+ |00C ff | 00D cr | 00E so | 00F si | 010 dle | 011 dc1 | +--------+---------+---------+---------+---------+---------+ |012 dc2 | 013 dc3 | 014 dc4 | 015 nak | 016 syn | 017 etb | +--------+---------+---------+---------+---------+---------+ |018 can | 019 em | 01A sub | 01B esc | 01C fs | 01D gs | +--------+---------+---------+---------+---------+---------+ |01E rs | 01F us | 0FF del | | | | +--------+---------+---------+---------+---------+---------+ Kolory Gdy umiesci sie je na koncu lancucha formatu, hexdump podswietla odpowiedni lancuch zadanym kolorem. Warunki, jesli sa obecne, sa sprawdzane przed podswietlaniem. _L[jednostka_koloru_1,jednostka_koloru_2,...,jednostka_koloru_n] Pelna definicja jednostki koloru jest nastepujaca: [!]KOLOR[:WARTOSC][@PRZESUNIECIA_POCZATEK[-KONIEC]] ! Zaprzecza warunkowi. Prosze zauwazyc, zaprzeczenie jednostce ma sens tylko wowczas, gdy poda sie zarowno wartosc/lancuch oraz przesuniecie. W takim przypadku, dany lancuch wyjsciowy zostanie podswietlony wtedy i tylko wtedy, gdy wartosc/lancuch nie odpowiada tej/temu na przesunieciu. KOLOR Jeden z 8 podstawowych kolorow powloki. WARTOSC Wartosc, ktora ma byc dopasowana, podana szesnastkowo lub osemkowo, albo jako lancuch. Prosze zauwazyc, ze zwykle sekwencje specjalne C nie sa interpretowane przez hexdump w jednostkach_koloru. PRZESUNIECIE Przesuniecie lub zakres przesuniecie, wobec ktorego zostanie sprawdzone dopasowanie. Prosze zauwazyc, ze sam PRZESUNIECIA_POCZATEK uzywa tej samej wartosci, co KONIEC przesuniecia. Liczniki Domyslne i obslugiwane liczniki bajtow dla znakow konwersji sa nastepujace: %_c, %_p, %_u, %c Tylko liczniki jednobajtowe. %d, %i, %o, %u, %X, %x Domyslnie cztery bajty; obslugiwane sa liczniki jedno-, dwu- i czterobajtowe. %E, %e, %f, %G, %g Domyslnie osiem bajtow, obslugiwane sa tez liczniki czterobajtowe. Ilosc danych, interpretowanych przez kazdy lancuch formatujacy jest suma danych wymaganych przez kazda jednostka formatujaca, ktora jest obliczana jako iteracja razy licznik bajtow; albo iteracja razy licznik bajtow wymaganych przez format, jesli nie podano licznika bajtow. Wejscie jest obslugiwane w blokach, gdzie blok jest zdefiniowany jako najwieksza porcja danych, podanych przez dowolny z lancuchow formatujacych. Lancuchy formatujace, ktore interpretuja mniej danych niz zawartych jest w bloku wejsciowym, w ktorym ostatnia jednostka formatujaca interpretuje pewna liczbe bajtow i nie ma ustawionego okreslonego licznika iteracji, maja zwiekszany licznik iteracji, az caly blok nie zostanie przetworzony, lub az zabraknie danych do zadowolenia lancucha formatujacego. Jesli w wyniku okreslenia przez uzytkownika, lub modyfikacji licznika iteracji przez hexdump, licznik iteracji jest wiekszy niz jeden, to podczas ostatniej iteracji nie sa wyswietlane koncowe biale spacje. Bledem jest podawanie licznika bajtow razem z wieloma znakami/lancuchami konwersji, chyba ze wszystkie, poza jednym znakiem/lancuchem konwersji, to _a lub _A. Jesli w wyniku podania opcji -n lub osiagniecia konca pliku, dane wejsciowe zadowola lancuch formatujacy tylko czesciowo, blok wejsciowy jest wypelniony zerami, wystarczajaco aby wyswietlic wszystkie dostepne dane (tj. wszystkie jednostki formatujace, zachodzace za koniec danych beda wyswietlaly jakas liczbe bajtow zerowych). Dalsze wyjscie takich lancuchow formatujacych jest zamieniane odpowiadajaca liczba spacji. Odpowiadajaca liczba spacji jest zdefiniowana jako liczba wyjscia spacji przez znak konwersji s z tym samym polem i precyzja co oryginalny znak konwersji, lub napis konwersji, lecz z usunietymi wszelkimi znakami flag "+", " ", "*#"' i wskazujacym na lancuch NULL. Jesli nie poda sie lancucha formatujacego, domyslne wyswietlanie jest bardzo zblizone do formatu wyjsciowego -x (opcja -x powoduje, ze pomiedzy jednostkami formatu jest wiecej miejsca, niz w domyslnym wyjsciu). STATUS ZAKONCZENIA hexdump wychodzi z 0 przy powodzeniu i z > 0 jesli wystapil blad. ZGODNE Z Polecenie hexdump powinno byc zgodne z IEEE Std 1003.2 ("POSIX.2"). PRZYKLADY Wyswietla wejscie w przestudiowanym formacie: "%06.6_ao " 12/1 "%3_u " "\t" "%_p " "\n" Implementuje opcje -x: "%07.7_Ax\n" "%07.7_ax " 8/2 "%04x " "\n" Przyklad sygnatury rozruchu MBR: Podswietla adresy na blekitno, a bajty w przesunieciach 510 i 511 na zielono, jesli ich wartosc to 0xAA55 lub na czerwono w innym przypadku. "%07.7_Ax_L[cyan]\n" "%07.7_ax_L[cyan] " 8/2 " %04x_L[green:0xAA55@510-511,!red:0xAA55@510-511] " "\n" KOLORY Kolorowanie wyjsciowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie mozna wylaczyc za pomoca pustego pliku /etc/terminal-colors.d/hexdump.disable dla polecenia hexdump albo dla wszystkich narzedzi plikiem /etc/terminal-colors.d/disable Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option. Globalne ustawienie przeslonia $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d danego uzytkownika. Prosze zauwazyc, ze kolorowanie wyjscia moze byc domyslnie wlaczone i wowczas katalogi terminal-colors.d moga jeszcze nie istniec. ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie hexdump jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.41 2025-03-29 HEXDUMP(1)