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/.