NAZWA¶
hexdump —
zrzut ascii, dziesiętny,
szesnastkowy, ósemkowy
SKŁADNIA¶
hexdump [
-bcdovx]
[
-e
napis_formatu]
[
-f
plik_formatu]
[
-n
długość]
[
-s pomiń]
plik ...
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
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 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.
- -c
- Jednobajtowe wyświetlanie znakowe.
Wyświetl szesnastkowo offset wejściowy, a za nim
szesnaście, trójkolumnowych, oddzielonych spacjami bajtów w
formacie ascii.
- -d
- 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.
- -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
długość
- Interpretuj tylko
długość bajtów
wejścia.
- -o
- 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.
- -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 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.
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.
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:
- Gwiazdka (*) nie może być używana do
określania precyzji, lub szerokości pola.
- 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).
- Znaki konwersji ``h'', ``l'', ``n'', ``p'' i ``q'' nie
są obsługiwane.
- 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 022stx 03 etx 04 eot 05enq |
006 ack 007\bel 088bs 09 ht 0A lf 0Bvt |
00C ff 00D\cr 0EEso 0F si 10 dle 11dc1 |
012 dc2 013\dc3 144dc4 151nak 16 syn 17etb |
018 can 019\em 1Ac 1C fs 1Dgs |
01E rs 01F\us FFel |
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.
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)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
man --locale=C 1 hexdump
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.