Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NAZWA

       hexdump - zrzuca zawartość pliku szesnastkowo, dziesiętnie, ósemkowo lub w ascii

SKŁADNIA

       hexdump opcje plik ...

       hd opcje plik ...

OPIS

       Narzędzie hexdump jest filtrem, który wyświetla podane pliki - lub standardowe wejście, jeśli nie podano
       plików - używając do tego celu podanego przez użytkownika formatu.

OPCJE

       Poniżej, po argumentach rozmiar i przesunięcie mogą występować przyrostki binarne (2^N): KiB (=1024), MiB
       (=1024*1024) i tak dalej dla GiB, TiB, PiB, EiB, ZiB oraz YiB (część "iB" jest opcjonalna, na przykład
       "K" ma to samo znaczenie, co "KiB") lub dziesiętne (10^N): KB (=1000), MB (=1000*1000) i podobnie dla GB,
       TB, PB, EB, ZB oraz YB.

       -b, --one-byte-octal
           Jednobajtowe wyświetlanie ósemkowe. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim
           szesnaście trójkolumnowych, oddzielonych spacjami, uzupełnionych zerami bajtów wejściowych w formacie
           ósemkowym, na wiersz.

       -X, --one-byte-hex
           Jednobajtowe wyświetlanie szesnastkowe. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim
           szesnaście dwukolumnowych, oddzielonych spacjami, uzupełnionych zerami bajtów wejściowych w formacie
           szesnastkowym, na wiersz.

       -c, --one-byte-char
           Jednobajtowe wyświetlanie znakowe. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim
           szesnaście, trójkolumnowych, oddzielonych spacjami znaków wejściowych, na wiersz.

       -C, --canonical
           Tradycyjne wyświetlanie szesnastkowe+ASCII. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim
           szesnaście dwukolumnowych, oddzielonych spacjami, bajtów w formacie ósemkowym; po których występuje
           tych samych szesnaście bajtów w formacie %_p ujętym znakami |. Wywołanie programu jako hd wymusza tę
           opcję.

       -d, --two-bytes-decimal
           Dwubajtowe wyświetlanie dziesiętne. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim osiem
           pięciokolumnowych, oddzielonych spacjami, uzupełnionych zerami jednostek dwubajtowych, zawierających
           dane wejściowe, w formacie dziesiętnym, na wiersz.

       -e, --format łańcuch-formatu
           Określa łańcuch formatu, który ma posłużyć do wyświetlania danych.

       -f, --format-file plik
           Podaje plik, który zawiera jeden, lub więcej, oddzielonych nowym wierszem łańcuchów formatujących.
           Puste wiersze oraz wiersze zaczynające się od kratki (#) są ignorowane.

       -L, --color[=kiedy]
           Koloryzuje wynik. Opcjonalnym argumentem kiedy może być auto, never (nigdy) lub always (zawsze). Gdy
           nie poda się argumentu kiedy, domyślnym ustawieniem jest auto. Kolory mogą być wyłączone, aktualne
           wbudowane ustawienie domyślne pokaże opcja --help. Zob. również podrozdział Kolory oraz rozdział
           KOLORY poniżej.

       -n, --length długość
           Interpretuje tylko długość bajtów wejścia.

       -o, --two-bytes-octal
           Dwubajtowe wyświetlanie ósemkowe. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim osiem
           sześciokolumnowych, oddzielonych spacjami, uzupełnionych zerami, dwubajtowych fragmentów danych
           wejściowych, w formacie ósemkowym, na wiersz.

       -s, --skip przesunięcie
           Pomija przesunięcie bajtów, licząc od początku wejścia.

       -v, --no-squeezing
           Opcja -v powoduje wyświetlenie przez hexdump zrzutu wszystkich danych wejściowych. Bez opcji -v,
           dowolna liczba grup wierszy wyjściowych, która będzie identyczna z bezpośrednio poprzedzającą grupą
           wierszy (poza przesunięciami wejściowymi), będzie zamieniana wierszem z pojedynczą gwiazdką.

       -x, --two-bytes-hex
           Dwubajtowe wyświetlanie szesnastkowe. Wyświetla szesnastkowo przesunięcie wejściowe, a za nim osiem
           oddzielonych spacjami, czterokolumnowych, uzupełnionych zerami, dwubajtowych fragmentów danych
           wejściowych, w formacie szesnastkowym, na wiersz.

       -h, --help
           Wyświetla ten tekst i wychodzi.

       -V, --version
           Wyświetla wersję i wychodzi.

       Dla każdego pliku wejściowego hexdump kopiuje sekwencyjnie dane wejściowe na standardowe wyjście,
       przekształcając dane według łańcuchów formatujących, podanych w opcjach -e i -f, w kolejności, w jakiej
       były podane.

FORMATY

       Łańcuch formatujący składa się z dowolnej ilości jednostek formatujących, oddzielonych białą spacją.
       Jednostka formatująca składa się z maksymalnie trzech elementów: licznika iteracji, licznika bajtów i
       formatu.

       Licznik iteracji jest opcjonalną dodatnią liczbą całkowitą, której wartość domyślna to jeden. Każdy
       format jest załączany tyle razy, ile wskazano w liczniku iteracji.

       Licznik bajtów jest opcjonalną dodatnią liczbą całkowitą. Jeśli zostanie podana, to definiuje liczbę
       bajtów, które należy zinterpretować w każdej iteracji formatu.

       Jeśli podano licznik iteracji i/lub bajtów, to po liczniku iteracji i/lub przed licznikiem bajtów trzeba
       umieścić ukośnik, aby móc je rozróżnić. Białe spacje przed i za ukośnikiem są ignorowane.

       Format jest częścią wymaganą i musi być ujęty w podwójne cudzysłowy (" "). Jest on interpretowany jak
       łańcuch formatujący fprintf (zob. fprintf(3)), lecz z następującymi wyjątkami:

       1.
           Gwiazdka (*) nie może być używana do określania precyzji lub szerokości pola.

       2.
           Liczba bajtów lub dokładność pola jest wymagana dla każdego znaku konwersji s (w przeciwieństwie do
           fprintf(3) gdzie domyślnie, bez podanej precyzji, drukowany jest cały łańcuch).

       3.
           Znaki konwersji h, l, n, p i q nie są obsługiwane.

       4.
           Obsługiwane są następujące sekwencje specjalne pojedynczych znaków, opisane w standardzie C:
          ┌─────────────────────┬────┐
          │                     │    │
          │ NULL                │ \0 │
          ├─────────────────────┼────┤
          │                     │    │
          │ <alarm>             │ \a │
          ├─────────────────────┼────┤
          │                     │    │
          │ <backspace>         │ \b │
          ├─────────────────────┼────┤
          │                     │    │
          │ <wysuw-strony>      │ \f │
          ├─────────────────────┼────┤
          │                     │    │
          │ <nowy-wiersz>       │ \n │
          ├─────────────────────┼────┤
          │                     │    │
          │ <powrót-karetki>    │ \r │
          ├─────────────────────┼────┤
          │                     │    │
          │ <tabulator>         │ \t │
          ├─────────────────────┼────┤
          │                     │    │
          │ <tabulator-pionowy> │ \v │
          └─────────────────────┴────┘

   Łańcuchy konwersji
       Polecenie hexdump obsługuje również następujące dodatkowe łańcuchy konwersji:

       _a[dox]
           Wyświetla przesunięcie wejścia, kumulujące się na przestrzeni plików wejściowych, wskazujące
           następny wyświetlany bajt. Dodane znaki d, o, i x wskazują format wyświetlenia jako
           dziesiętny, ósemkowy lub szesnastkowy.

       _A[dox]
           Identyczne z łańcuchem konwersji _a z tą tylko różnicą, że jest dokonywane tylko raz, po
           przetworzeniu wszystkich danych wejściowych.

       _c
           Wypisuje znaki z domyślnego zestawu znaków. Znaki niedrukowalne są wyświetlane w
           trójznakowych, uzupełnionych zerami sekwencjach ósemkowych, poza tymi, które są
           reprezentowane standardową notacją specjalną (zob. wyżej) - te są wyświetlane jako łańcuchy
           dwuznakowe.

       _p
           Wypisuje znaki z domyślnego zestawu znaków. Niedrukowane znaki są wyświetlane jako pojedyncza
           kropka ".".

       _u
           Wyświetla znaki US ASCII, z wyjątkiem znaków sterujących, które są wyświetlane za pomocą
           następujących nazw, pisanych małymi literami. Znaki większe niż szesnastkowe 0xff, są
           wyświetlane jako łańcuchy 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 umieści się je na końcu łańcucha formatu, hexdump podświetla odpowiedni łańcuch
       zadanym kolorem. Warunki, jeśli są obecne, są sprawdzane przed podświetlaniem.

       _L[jednostka_koloru_1,jednostka_koloru_2,...,jednostka_koloru_n]

       Pełna definicja jednostki koloru jest następująca:

       [!]KOLOR[:WARTOŚĆ][@PRZESUNIĘCIA_POCZĄTEK[-KONIEC]]

       !
           Zaprzecza warunkowi. Proszę zauważyć, zaprzeczenie jednostce ma sens tylko wówczas,
           gdy poda się zarówno wartość/łańcuch oraz przesunięcie. W takim przypadku, dany
           łańcuch wyjściowy zostanie podświetlony wtedy i tylko wtedy, gdy wartość/łańcuch nie
           odpowiada tej/temu na przesunięciu.

       KOLOR
           Jeden z 8 podstawowych kolorów powłoki.

       WARTOŚĆ
           Wartość, która ma być dopasowana, podana szesnastkowo lub ósemkowo, albo jako
           łańcuch. Proszę zauważyć, że zwykłe sekwencje specjalne C nie są interpretowane przez
           hexdump w jednostkach_koloru.

       PRZESUNIĘCIE
           Przesunięcie lub zakres przesunięcie, wobec którego zostanie sprawdzone dopasowanie.
           Proszę zauważyć, że sam PRZESUNIĘCIA_POCZĄTEK używa tej samej wartości, co KONIEC
           przesunięcia.

   Liczniki
       Domyślne i obsługiwane liczniki bajtów dla znaków konwersji są następujące:

       %_c, %_p, %_u, %c
           Tylko liczniki jednobajtowe.

       %d, %i, %o, %u, %X, %x
           Domyślnie cztery bajty; obsługiwane są liczniki jedno-, dwu- i czterobajtowe.

       %E, %e, %f, %G, %g
           Domyślnie osiem bajtów, obsługiwane są też liczniki czterobajtowe.

       Ilość danych, interpretowanych przez każdy łańcuch formatujący jest sumą danych
       wymaganych przez każdą jednostką formatującą, która jest obliczana jako iteracja razy
       licznik bajtów; albo iteracja razy licznik bajtów wymaganych przez format, jeśli nie
       podano licznika bajtów.

       Wejście jest obsługiwane w blokach, gdzie blok jest zdefiniowany jako największa porcja
       danych, podanych przez dowolny z łańcuchów formatujących. Łańcuchy formatujące, które
       interpretują mniej danych niż zawartych jest w bloku wejściowym, w którym ostatnia
       jednostka formatująca interpretuje pewną liczbę bajtów i nie ma ustawionego określonego
       licznika iteracji, mają zwiększany licznik iteracji, aż cały blok nie zostanie
       przetworzony, lub aż zabraknie danych do zadowolenia łańcucha formatującego.

       Jeśli w wyniku określenia przez użytkownika, lub modyfikacji licznika iteracji przez
       hexdump, licznik iteracji jest większy niż jeden, to podczas ostatniej iteracji nie są
       wyświetlane końcowe białe spacje.

       Błędem jest podawanie licznika bajtów razem z wieloma znakami/łańcuchami konwersji, chyba
       że wszystkie, poza jednym znakiem/łańcuchem konwersji, to _a lub _A.

       Jeśli w wyniku podania opcji -n lub osiągnięcia końca pliku, dane wejściowe zadowolą
       łańcuch formatujący tylko częściowo, blok wejściowy jest wypełniony zerami, wystarczająco
       aby wyświetlić wszystkie dostępne dane (tj. wszystkie jednostki formatujące, zachodzące
       za koniec danych będą wyświetlały jakąś liczbę bajtów zerowych).

       Dalsze wyjście takich łańcuchów formatujących jest zamieniane odpowiadającą liczbą
       spacji. Odpowiadająca liczba spacji jest zdefiniowana jako liczba wyjścia spacji przez
       znak konwersji s z tym samym polem i precyzją co oryginalny znak konwersji, lub napis
       konwersji, lecz z usuniętymi wszelkimi znakami flag "+", " ", "*#"' i wskazującym na
       łańcuch NULL.

       Jeśli nie poda się łańcucha formatującego, domyślne wyświetlanie jest bardzo zbliżone do
       formatu wyjściowego -x (opcja -x powoduje, że pomiędzy jednostkami formatu jest więcej
       miejsca, niż w domyślnym wyjściu).

STATUS ZAKOŃCZENIA

       hexdump wychodzi z 0 przy powodzeniu i z > 0 jeśli wystąpił błąd.

ZGODNE Z

       Polecenie hexdump powinno być zgodne z IEEE Std 1003.2 ("POSIX.2").

PRZYKŁADY

       Wyświetla wejście w przestudiowanym formacie:

              "%06.6_ao "  12/1 "%3_u "
              "\t" "%_p "
              "\n"

       Implementuje opcję -x:

              "%07.7_Ax\n"
              "%07.7_ax  " 8/2 "%04x " "\n"

       Przykład sygnatury rozruchu MBR: Podświetla adresy na błękitno, a bajty w przesunięciach
       510 i 511 na zielono, jeśli ich wartość 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 wyjściowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie
       można wyłączyć za pomocą pustego pliku

          /etc/terminal-colors.d/hexdump.disable

       dla polecenia hexdump albo dla wszystkich narzędzi 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 przesłonią $XDG_CONFIG_HOME/terminal-colors.d lub
       $HOME/.config/terminal-colors.d danego użytkownika.

       Proszę zauważyć, że kolorowanie wyjścia może być domyślnie włączone i wówczas katalogi
       terminal-colors.d mogą jeszcze nie istnieć.

ZGŁASZANIE BŁĘDÓW

       Problemy należy zgłaszać w systemie śledzenia błędów
       <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

       Polecenie hexdump jest częścią pakietu util-linux, który można pobrać ze strony Archiwum
       jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                         HEXDUMP(1)