Provided by: util-linux-locales_2.41.2-4ubuntu1_all 

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
Od wersji 2.41, obsługiwana jest również zmienna środowiskowa $NO_COLOR, służąca do
wyłączenia kolorowania wyjścia, o ile nie włączy się je wprost opcją wiersza poleceń.
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.2 2025-10-17 HEXDUMP(1)