Provided by:
manpages-pl_20060617-2_all 
NAZWA
hexdump - zrzut ascii, dziesiętny, szesnastkowy, ósemkowy
SKŁADNIA
hexdump [-bcdovx] [-e napis_formatu] [-f plik_formatu] [-n dugo]
[-s pomi] 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 są następujące
-b Jednobajtowe wywietlanie 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.
-c Jednobajtowe wywietlanie znakowe. Wyświetl szesnastkowo
offset wejściowy, a za nim szesnaście, trójkolumnowych,
oddzielonych spacjami bajtów w formacie ascii.
-d Dwubajtowe wywietlanie dziesitne. 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.
-e napis_formatu
Podaje napis formatujący, którego użyć do wyświetlania
danych.
-f plik_formatu
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.
-n dugo Interpretuj tylko dugo bajtów wejścia.
-o Dwubajtowe wywietlanie 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.
-s offset Pomiń offset bajtów, licząc od początku wejścia. Domyślnie
offset jest interpretowany jako liczba dziesiętna. Po
poprzedzeniu go przedrostkiem 0x lub 0X, jest interpretowany
jako liczba szesnastkowa, a jeśli jest poprzedzony
prowadzącym 0, to jest interpretowany jako liczba ósemkowa.
Dołączenie do offsetu znaku b, k, lub m powoduje, że jest on
interpretowany jako wielokrotność odpowiednio 512, 1024, lub
1048576.
-v 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ą.
-x Dwubajtowe wywietlanie 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.
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:
+o Gwiazdka (*) nie może być używana do określania precyzji, lub
szerokości pola.
+o 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).
+o Znaki konwersji ``h'', ``l'', ``n'', ``p'' i ``q'' nie są
obsługiwane.
+o Obsługiwane są następujące sekwencje eskejpowe pojedynczych
znaków, opisane w standardzie C:
NUL \0
<alert character> \a
<backspace> \b
<form-feed> \f
<newline> \n
<carriage return> \r
<tab> \t
<vertical tab> \v
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
Domyślne i wspierane liczniki bajtów dla znaków konwersji są następujące:
%_c, %_p, %_u, %c Tylko liczniki jednobajtowe.
%u, %X, %x' Domyślnie cztery bajty,
wspierane są też liczniki jedno i
dwubajtowe.
%G, %g' %f, 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.
Jeśli nie podano napisów formatujących, domyślne wyświetlanie jest
równoważne podaniu opcji -x.
hexdump kończy działanie z kodem zera po sukcesie i większym od zera po
błędzie.
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"
ZOBACZ TAKŻE
adb(1)