Man page - hexdump(1)
Packages contains this manual
Available languages:
en pl ja ro sr deManual
HEXDUMP
NAZWASKŁADNIA
OPIS
OPCJE
FORMATY
Łańcuchy konwersji
Kolory
Liczniki
STATUS ZAKOŃCZENIA
ZGODNE Z
PRZYKŁADY
KOLORY
ZGŁASZANIE BŁĘDÓW
DOSTĘPNOŚĆ
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:
Ł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.
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/>.