1 .\" {PTM/PB/0.1/20-06-1999/"zrzut ascii, dziesiêtny, ósemkowy, szesnastkowy"}
3 .\" Nie jestem 1000%. pewien tego fragmentu o formatach, które nie
4 .\" wype³niaj± ca³kowicie bloku...
6 .\" Copyright (c) 1989, 1990, 1993
7 .\" The Regents of the University of California. All rights reserved.
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\" notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\" notice, this list of conditions and the following disclaimer in the
16 .\" documentation and/or other materials provided with the distribution.
17 .\" 3. All advertising materials mentioning features or use of this software
18 .\" must display the following acknowledgement:
19 .\" This product includes software developed by the University of
20 .\" California, Berkeley and its contributors.
21 .\" 4. Neither the name of the University nor the names of its contributors
22 .\" may be used to endorse or promote products derived from this software
23 .\" without specific prior written permission.
25 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 .\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94
44 .Nd zrzut ascii, dziesiêtny, szesnastkowy, ósemkowy
48 .Op Fl e Ar string_formatu
49 .Op Fl f Ar plik_formatu
56 Narzêdzie hexdump jest filtrem, który wy¶wietla podane pliki, lub
57 standardowe wej¶cie, je¶li nie podano plików, u¿ywaj±c do tego celu podanego
58 przez u¿ytkownika formatu.
63 .Em Jednobajtowe wy¶wietlanie ósemkowe .
64 Wy¶wietl szesnastkowo offset wej¶ciowy, a za nim szesna¶cie,
65 trójkolumnowych, oddzielonych spacjami, wype³nionych zerami bajtów
66 wej¶ciowych w formacie ósemkowym.
68 .Em Jednobajtowe wy¶wietlanie znakowe .
69 Wy¶wietl szesnastkowo offset wej¶ciowy, a za nim szesna¶cie,
70 trójkolumnowych, oddzielonych spacjami bajtów w formacie ascii.
72 .Em Dwubajtowe wy¶wietlanie dziesiêtne.
73 Wy¶wietl szesnastkowo offset wej¶ciowy, a za nim osiem, piêciokolumnowych,
74 oddzielonych spacjami, wype³nionych zerami jednostek dwubajtowych,
75 zawieraj±cych dane wej¶ciowe, w formacie dziesiêtnym.
76 .It Fl e Ar string_formatu
77 Podaje string formatuj±cy, którego u¿yæ do wy¶wietlania danych.
78 .It Fl f Ar plik_formatu
79 Podaje plik, który zawiera jeden, lub wiêcej, oddzielonych now± lini±
80 stringów formatuj±cych. Puste linie, oraz linie zaczynaj±ce siê od krzy¿yka
88 .Em Dwubajtowe wy¶wietlanie ósemkowe .
89 Wy¶wietl szesnastkowo offset wej¶ciowy, a za nim osiem szeciokolumnowych,
90 oddzielonych spacjami, wype³nionych zerami, dwubajtowych fragmentów danych
91 wej¶ciowych, w formacie ósemkowym.
95 bajtów, licz±c od pocz±tku wej¶cia.
98 jest interpretowany jako liczba dziesiêtna.
99 Po poprzedzeniu go przedrostkiem
103 jest interpretowany jako liczba szesnastkowa, a je¶li jest poprzedzony
106 to jest interpretowany jako liczba ósemkowa.
107 Do³±czenie do offsetu znaku
112 powoduje, ¿e jest on interpretowany jako wielokrotno¶æ odpowiednio
120 Powoduje wy¶wietlenie zrzutu wszystkich danych wej¶ciowych.
123 dowolna liczba grup linii wyj¶ciowych, która bêdzie identyczna z
124 bezpo¶rednio poprzedzaj±c± grup± linii (poza offsetami wej¶ciowymi), bêdzie
125 zamieniana lini± z gwiazdk±.
127 .Em Dwubajtowe wy¶wietlanie szesnastkowe .
128 Wy¶wietl szesnastkowo offset wej¶ciowy, a za nim osiem, oddzielonych
129 spacjami, czterokolumnowych, wype³nionych zerami, dwubajtowych fragmentów
130 danych wej¶ciowych, w formacie szesnastkowym.
133 Dla ka¿dego pliku wej¶ciowego
135 kopiuje dane wej¶ciowe na standardowe wyj¶cie, przekszta³caj±c dane wed³ug
136 stringów formatuj±cych, podanych w opcjach
140 w wypadku gdy by³y one podane.
142 String formatuj±cy sk³ada siê z dowolnej ilo¶ci jednostek formatuj±cych,
143 oddzielonych bia³± spacj±.
144 Jednostka formatuj±ca sk³ada siê z maksymalnie trzech elementów: licznika
145 iteracji, licznika bajtów i formatu.
147 Licznik iteracji jest opcjonaln± dodatni± liczb± ca³kowit±, której warto¶æ
149 Ka¿dy format jest za³±czany tyle razy, ile wskazano w liczniku iteracji.
151 Licznik bajtów jest opcjonaln± dodatni± liczb± ca³kowit±. Je¶li zostanie
152 podana, to definiuje liczbê bajtów, które nale¿y zinterpretowaæ w ka¿dej
155 Je¶li podano licznik iteracji i/lub bajtów, to po liczniku iteracji i/lub
156 przed licznikiem bajtów trzeba umie¶ciæ slash, aby móc je rozró¿niæ.
157 Bia³e spacje przed slashem s± ignorowane.
159 Format jest czê¶ci± wymagan± i musi byæ ujêty w podwójne cudzys³owy
161 Jest on interpretowany jak string formatuj±cy fprintf (zobacz
163 lecz z nastêpuj±cymi wyj±tkami:
164 .Bl -bullet -offset indent
166 Gwiazdka (*) nie mo¿e byæ u¿ywana do okre¶lania precyzji, lub szeroko¶ci
169 Liczba bajtów, lub dok³adno¶æ pola
171 wymagana dla ka¿dego znaku konwersji ``s'' (w przeciwieñstwie do
173 gdzie domy¶lnie, bez podanej precyzji, drukowany jest ca³y string).
175 Znaki konwersji ``h'', ``l'', ``n'', ``p'' i ``q'' nie
178 Obs³ugiwane s± nastêpuj±ce sekwencje eskejpowe pojedynczych znaków, opisane
180 .Bd -ragged -offset indent -compact
181 .Bl -column <alert_character>
183 .It <alert character> \ea
187 .It <carriage return> \er
189 .It <vertical tab> \ev
194 Hexdump obs³uguje równie¿ nastêpuj±ce dodatkowe stringi konwersji:
196 .It Cm \&_a Ns Op Cm dox
197 Wy¶wietl offset wej¶ciowy, kumuluj±cy siê na przestrzeni plików wej¶ciowych,
198 wskazuj±cy nastêpny wy¶wietlany bajt.
204 wskazuj± format wy¶wietlenia jako dziesiêtny, ósemkowy, lub szesnastkowy.
205 .It Cm \&_A Ns Op Cm dox
206 Identyczne ze stringiem konwersji
208 z t± tylko ró¿nic±, ¿e jest dokonywane tylko raz, po przetworzeniu
209 wszystkich danych wej¶ciowych.
211 Drukuj znaki z domy¶lnego zestawu znaków.
212 Niedrukowalne znaki s± wy¶wietlane w trójznakowych, wype³nionych zerami
213 sekwencjach ósemkowych, poza tymi, które s± reprezentowane standardow±
214 notacj± eskejpow± (patrz wy¿ej), które s± wy¶wietlane jako stringi znakowe.
216 Drukuj znaki z domy¶lnego zestawu znaków. Niedrukowane znaki s± wy¶wietlane
217 jako pojedyncza kropka
220 Wy¶wietlaj znaki US-ASCII, za wyj±tkiem znaków steruj±cych, które s±
221 wy¶wietlane w nastêpuj±cych okre¶leniach.
222 Znaki wiêksze ni¿ 0xff, s± wy¶wietlane jako stringi szesnastkowe.
223 .Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
224 .It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
225 .It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
226 .It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
227 .It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
228 .It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
229 .It \&01E\ rs\t01F\ us\t0FF\ del
233 Domy¶lne i wspierane liczniki bajtów dla znaków konwersji s± nastêpuj±ce:
234 .Bl -tag -width "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
235 .It Li \&%_c , \&%_p , \&%_u , \&%c
236 Tylko liczniki jednobajtowe.
238 .Li \&%d , \&%i , \&%o ,
239 .Li \&%u , \&%X , \&%x
241 Domy¶lnie cztery bajty, wspierane s± te¿ liczniki jedno i dwubajtowe.
243 .Li \&%E , \&%e , \&%f ,
246 Domy¶lnie osiem bajtów, wspierane s± te¿ liczniki czterobajtowe.
249 Ilo¶æ danych, interpretowanych przez ka¿dy string formatuj±cy jest sum±
250 danych wymaganych przez ka¿d± jednostk± formatuj±c±, która jest obliczana
251 jako iteracja razy licznik bajtów.
253 Wej¶cie jest obs³ugiwane w ``blokach'', gdzie blok jest zdefiniowany jako
254 najwiêksza porcja danych, podanych przez dowolny ze stringów formatuj±cych.
255 Stringi formatuj±ce, które interpretuj± mniej danych ni¿ zawartych jest w
256 bloku wej¶ciowym, w którym ostatnia jednostka formatuj±ca interpretuje pewn±
257 liczbê bajtów i nie ma ustawionego okre¶lonwego licznka iteracji, maj±
258 zwiêkszany licznik iteracji, a¿ ca³y blok nie zostanie przetworzony, lub a¿
259 zabraknie danych do zadowolenia stringu formatuj±cego.
261 Je¶li w wyniku specyfikacji u¿ytkownika, lub modyfikacji licznika iteracji
262 przez hexdump, licznik iteracji jest wiêkszy ni¿ jeden, to podczas ostatniej
263 iteracji nie s± wy¶wietlane koñcowe bia³e spacje.
265 B³êdem jest podawanie licznika bajtów razem z wieloma znakami/stringami
266 konwersji, chyba ¿e wszystkie poza jednym znakiem/stringiem konwersji s±
271 Je¶li w wyniku podania opcji
273 osi±gniêty zostanie EOF, dane wej¶ciowe zadowol± string formatuj±cy tylko
274 czê¶ciowo, blok wej¶ciowy jest wype³niony zerami, wystarczaj±co aby
275 wy¶wietliæ wszystkie dostêpne dane (np. wszystkie jednostki formatuj±ce,
276 zachodz±ce za koniec danych bêd± wy¶wietla³y jak±¶ liczbê bajtów zera).
278 Dalsze wyj¶cie takich stringów formatuj±cych jest zamieniane odpowiadaj±c±
279 ilo¶ci± spacji. Odpowiadaj±ca ilo¶æ spacji jest zdefiniowana jako liczba
280 wyj¶cia spacji przez znak konwersji
282 z tym samym polem i precyzj± co oryginalny znak konwersji, lub string
283 konwersji, lecz z usuniêtymi wszelkimi znakami flag
287 i wskazuj±cym na string NULL.
289 Je¶li nie podano stringów formatuj±cych, domy¶lne wy¶wietlanie jest
290 równowa¿ne podaniu opcji
294 koñczy dzia³anie z kodem zera po sukcesie i wiêkszym od zera po b³êdzie.
296 Wy¶wietl wyj¶cie w przestudiowanym formacie:
297 .Bd -literal -offset indent
298 "%06.6_ao " 12/1 "%3_u "
303 Implementuj opcjê \-x:
304 .Bd -literal -offset indent
306 "%07.7_ax " 8/2 "%04x " "\en"