Scroll to navigation

HEXDUMP(1) Polecenia użytkownika HEXDUMP(1)

NAZWA

hexdump - display file contents in hexadecimal, decimal, octal, or ascii

SKŁADNIA

hexdump [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

Below, the length and offset arguments may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB"), or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.

Jednobajtowe wyświetlanie ósemkowe. Wyświetl szesnastkowo offset wejściowy, a za nim szesnaście, trójkolumnowych, oddzielonych spacjami, wypełnionych zerami bajtów wejściowych w formacie ósemkowym.
Jednobajtowe wyświetlanie znakowe. Wyświetl szesnastkowo offset wejściowy, a za nim szesnaście, trójkolumnowych, oddzielonych spacjami bajtów w formacie ascii.
Canonical hex+ASCII display. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, hexadecimal bytes, followed by the same sixteen bytes in %_p format enclosed in '|' characters. Invoking the program as hd implies this option.
Dwubajtowe wyświetlanie dziesiętne. Wyświetl szesnastkowo offset wejściowy, a za nim osiem, pięciokolumnowych, oddzielonych spacjami, wypełnionych zerami jednostek dwubajtowych, zawierających dane wejściowe, w formacie dziesiętnym.
Podaje napis formatujący, którego użyć do wyświetlania danych.
Podaje plik, który zawiera jeden, lub więcej, oddzielonych nową linią napisów formatujących. Puste linie, oraz linie zaczynające się od krzyżyka (#) są ignorowane.
Accept color units for the output. The optional argument when can be auto, never or always. If the when argument is omitted, it defaults to auto. The colors can be disabled; for the current built-in default see the --help output. See also the Colors subsection and the COLORS section below.
Interpretuj tylko długość bajtów wejścia.
Dwubajtowe wyświetlanie ósemkowe. Wyświetl szesnastkowo offset wejściowy, a za nim osiem szeciokolumnowych, oddzielonych spacjami, wypełnionych zerami, dwubajtowych fragmentów danych wejściowych, w formacie ósemkowym.
Pomiń offset bajtów, licząc od początku wejścia.
Opcja -v powoduje wyświetlenie zrzutu wszystkich danych wejściowych. Bez opcji -v, dowolna liczba grup linii wyjściowych, która będzie identyczna z bezpośrednio poprzedzającą grupą linii (poza offsetami wejściowymi), będzie zamieniana linią z gwiazdką.
Dwubajtowe wyświetlanie szesnastkowe. Wyświetl szesnastkowo offset wejściowy, a za nim osiem, oddzielonych spacjami, czterokolumnowych, wypełnionych zerami, dwubajtowych fragmentów danych wejściowych, w formacie szesnastkowym.
Wyświetla informacje o wersji i kończy działanie.
Wyświetla ten tekst i kończy pracę.

Dla każdego pliku wejściowego hexdump kopiuje dane wejściowe na standardowe wyjście, przekształcając dane według napisów formatujących, podanych w opcjach -e i -f, w wypadku gdy były one podane.

FORMATY

Napis 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 ukośnikiem są ignorowane.

Format jest częścią wymaganą i musi być ujęty w podwójne cudzysłowy (" "). Jest on interpretowany jak napis formatujący fprintf (zobacz 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 napis).
3.
Znaki konwersji h, l, n, p i q nie są obsługiwane.
4.
Obsługiwane są następujące sekwencje eskejpowe pojedynczych znaków, opisane w standardzie C:

\0
<alert character>
\a
<backspace>
\b
<wysuw_strony>
\f
<nowy wiersz>
\n
<powrót karetki>
\r
<tab>
\t
<tabulacja pionowa>
\v

Napisy konwersji

Polecenie hexdump obsługuje również następujące dodatkowe napisy konwersji:

_a[dox]
Wyświetl offset wejściowy, kumulujący się na przestrzeni plików wejściowych, wskazujący 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 napisem konwersji _a z tą tylko różnicą, że jest dokonywane tylko raz, po przetworzeniu wszystkich danych wejściowych.
_c
Drukuj znaki z domyślnego zestawu znaków. Niedrukowalne znaki są wyświetlane w trójznakowych, wypełnionych zerami sekwencjach ósemkowych, poza tymi, które są reprezentowane standardową notacją eskejpową (patrz wyżej), które są wyświetlane jako napisy znakowe.
_p
Drukuj znaki z domyślnego zestawu znaków. Niedrukowane znaki są wyświetlane jako pojedyncza kropka '.'.
_u
Wyświetlaj znaki US-ASCII, z wyjątkiem znaków sterujących, które są wyświetlane w następujących określeniach. Znaki większe niż 0xff, są wyświetlane jako napisy 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

When put at the end of a format specifier, hexdump highlights the respective string with the color specified. Conditions, if present, are evaluated prior to highlighting.

_L[color_unit_1,color_unit_2,...,color_unit_n]

The full syntax of a color unit is as follows:

[!]COLOR[:VALUE][@OFFSET_START[-END]]

!
Negate the condition. Please note that it only makes sense to negate a unit if both a value/string and an offset are specified. In that case the respective output string will be highlighted if and only if the value/string does not match the one at the offset.
One of the 8 basic shell colors.
A value to be matched specified in hexadecimal, or octal base, or as a string. Please note that the usual C escape sequences are not interpreted by hexdump inside the color_units.
An offset or an offset range at which to check for a match. Please note that lone OFFSET_START uses the same value as END offset.

Counters

Domyślne i wspierane 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, wspierane są też liczniki jedno i dwubajtowe.
%E, %e, %f, %G, %g
Domyślnie osiem bajtów, wspierane są też liczniki czterobajtowe.

Ilość danych, interpretowanych przez każdy napis formatujący jest sumą danych wymaganych przez każdą jednostką formatującą, która jest obliczana jako iteracja razy licznik bajtów.

Wejście jest obsługiwane w blokach, gdzie blok jest zdefiniowany jako największa porcja danych, podanych przez dowolny z napisów formatujących. Napisy 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ślonwego licznka iteracji, mają zwiększany licznik iteracji, aż cały blok nie zostanie przetworzony, lub aż zabraknie danych do zadowolenia napisu formatującego.

Jeśli w wyniku specyfikacji 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/napisami konwersji, chyba że wszystkie poza jednym znakiem/napisem konwersji są _a lub _A.

Jeśli w wyniku podania opcji -n osiągnięty zostanie EOF, dane wejściowe zadowolą napis formatujący tylko częściowo, blok wejściowy jest wypełniony zerami, wystarczająco aby wyświetlić wszystkie dostępne dane (np. wszystkie jednostki formatujące, zachodzące za koniec danych będą wyświetlały jakąś liczbę bajtów zera).

Dalsze wyjście takich napisów formatujących jest zamieniane odpowiadającą ilością spacji. Odpowiadająca ilość 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 napis NULL.

If no format strings are specified, the default display is very similar to the -x output format (the -x option causes more space to be used between format units than in the default output).

KOD ZAKOŃCZENIA

hexdump kończy działanie z kodem zera po sukcesie i większym od zera po błędzie.

ZGODNE Z

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

PRZYKŁADY

Wyświetl wyjście w przestudiowanym formacie:


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

Implementuj opcję -x:


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

MBR Boot Signature example: Highlight the addresses cyan and the bytes at offsets 510 and 511 green if their value is 0xAA55, red otherwise.


"%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

Jawne kolorowanie można wyłączyć za pomocą pustego pliku /etc/terminal-colors.d/hexdump.disable.

Więcej informacji o konfiguracji kolorów zawiera podręcznik terminal-colors.d(5).

DOSTĘPNOŚĆ

Polecenie hexdump jest częścią pakietu util-linux i jest dostępne z Archiwum jądra Linux.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

kwiecień 2013 util-linux