HEXDUMP(1) Polecenia uzytkownika HEXDUMP(1) NAZWA hexdump - zrzuca zawartosc pliku szesnastkowo, dziesietnie, osemkowo lub w ascii SKLADNIA hexdump [options] file ... hd [options] file ... 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: \0 NULL \a alert character \b backspace \f form-feed \n newline \r carriage return \t tab \v vertical tab 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. 00 nul 08 bs 10 dle 18 can 7F del 01 soh 09 ht 11 dc1 19 em 02 stx 0A lf 12 dc2 1A sub 03 etx 0B vt 13 dc3 1B esc 04 eot 0C ff 14 dc4 1C fs 05 enq 0D cr 15 nak 1D gs 06 ack 0E so 16 syn 1E rs 07 bel 0F si 17 etb 1F us 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). Note that the default format and the -x, -d, and -o options use multi-byte format units that are displayed in the system's native byte order (endianness). This means the same input may produce different output on little-endian (e.g., x86, ARM64) and big-endian (e.g., s390x) systems. For byte-order independent output, use single-byte formats such as -b, -c, -C, or -X. 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 Od wersji 2.41, obslugiwana jest rowniez zmienna srodowiskowa $NO_COLOR, sluzaca do wylaczenia kolorowania wyjscia, o ile nie wlaczy sie je wprost opcja wiersza polecen. 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.42.1 2026-05-18 HEXDUMP(1)