aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man1/hexdump.1
blob: bddb42ba19c704b0dc585917c09bc3f9f42cecc1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
.\" Copyright (c) 1989, 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)hexdump.1	8.2 (Berkeley) 4/18/94
.\" %FreeBSD: src/usr.bin/hexdump/hexdump.1,v 1.19 2002/12/05 08:50:00 ru Exp %
.\" $FreeBSD$
.\"
.Dd April 18, 1994
.Dt HEXDUMP 1
.Os
.Sh 名称
.Nm hexdump , hd
.Nd ASCII, 10進, 16進, 8進でのダンプ
.Sh 書式
.Nm
.Op Fl bcCdovx
.Op Fl e Ar format_string
.Op Fl f Ar format_file
.Op Fl n Ar length
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar
.Nm hd
.Op Fl bcdovx
.Op Fl e Ar format_string
.Op Fl f Ar format_file
.Op Fl n Ar length
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar
.Sh 解説
.Nm
ユーティリティは、ファイルが指定されていればそのファイル、
指定されていなければ標準入力を読み込み、ユーザの指定した
フォーマットに従って表示するフィルタです。
.Pp
オプションは以下の通りです:
.Bl -tag -width Fl
.It Fl b
.Em 1 バイト 8 進表示。
入力のオフセットを 16 進数で表示し、次に、
入力の1バイトずつを、0 詰めした 3 桁の 8 進数で、1 行あたり 16 個、
空白で区切って表示します。
.It Fl c
.Em 1 バイト キャラクタ表示。
入力のオフセットを 16 進数で表示し、次に、
入力の1バイトずつを、空白詰めした 3 桁の ASCII 文字で、1 行あたり 16 個、
空白で区切って表示します。
.It Fl C
.Em 標準的な hex+ASCII 表示
。
入力オフセットを 16 進数で表示し、
引続いて 16 バイトを 16 進数 2 桁で空白で区切って表示し、
引き続いて同じ 16 バイトを %_p フォーマットで ``|'' 文字で括って表示します。
.Pp
コマンド
.Nm hd
を実行すると、このオプションで
.Nm
実行したことを意味します。
.It Fl d
.Em 2 バイト 10 進表示
。
入力のオフセットを 16 進数で表示し、次に、
入力の 2 バイトずつを、0 詰めした 5 桁の 10 進数で、1 行あたり 8 個、
空白で区切って表示します。
.It Fl e Ar format_string
データの表示形式を決めるフォーマット文字列を指定します。
.It Fl f Ar format_file
1 つあるいはそれ以上のフォーマット文字列 (改行で区切る)
の書かれたファイルを指定します。
空行、および、
空白を除いた最初の文字が
ハッシュ記号
.Pf ( Cm \&# )
である行は無視されます。
.It Fl n Ar length
入力のうち
.Ar length
バイト分だけを処理します。
.It Fl o
.Em 2 バイト 8 進表示
。
入力のオフセットを 16 進数で表示し、次に、
入力の 2 バイトずつを、0 詰めした 6 桁の 8 進数で、1 行あたり 8 個、
空白で区切って表示します。
.It Fl s Ar offset
入力の先頭から
.Ar offset
バイトを読み飛ばします。
デフォルトでは
.Ar offset
は 10 進数として解釈されます。
.Cm 0x
または
.Cm 0X ,
を頭に付けると
.Ar offset
は 16 進数として解釈されます。
また、
.Cm 0
を頭に付けると
.Ar offset
は 8 進数として解釈されます。
.Cm b ,
.Cm k ,
.Cm m
を
.Ar offset
の後ろにつけると、それぞれ
.Li 512 ,
.Li 1024 ,
.Li 1048576
倍と解釈されます。
.It Fl v
.Fl v
オプションは
.Nm
に対してすべての入力を表示させます。
.Fl v
オプションを指定しない場合、直前の行と
内容 (オフセットは除く) が全く同じ行は何行であっても、
アスタリスク 1 個の 1 行で置き換えられます。
.It Fl x
.Em 2 バイト 16 進表示
。
入力のオフセットを 16 進数で表示し、次に、
入力の 2 バイトづつを、0 詰めした 4 桁の 16 進数で、1 行あたり 8 個、
空白で区切って表示します。
.El
.Pp
.Nm
は、各々の入力ファイルの内容を、それらが指定された順に、
.Fl e
および
.Fl f
オプションによって指示されたフォーマット文字列に従って変換しながら、
シーケンシャルに標準出力へコピーします。
.Ss フォーマット
フォーマット文字列は、任意の数のフォーマット単位を空白で区切って
並べたものです。
フォーマット単位は最大 3 個までの要素すなわち
繰り返し回数・バイト数・フォーマットによって構成されます。
.Pp
繰り返し回数は正の整数で、省略時の値は 1 です。
それぞれのフォーマットは
この繰り返し回数だけ適用されます。
.Pp
バイト数も正の整数で、省略することもできます。
指定された場合には
繰り返し 1 回あたりに処理されるバイト数を示します。
.Pp
繰り返し回数とバイト数はスラッシュ (/) で区切ります。
どちらか一方だけ
指定する時も、繰り返し回数の場合は直後、バイト数の場合は直前にスラッシュを
付け、曖昧にならないようにします。
スラッシュの前後にある空白は無視されます。
.Pp
フォーマットは必須であり、ダブルクォート (" ") で囲みます。
フォーマットは
fprintf 形式のフォーマット文字列 (
.Xr fprintf 3
を参照) ですが、以下の例外があります。
.Bl -bullet -offset indent
.It
フィールドの幅あるいは精度としてアスタリスク (*) を使用することはできません。
.It
``s'' 変換文字にはバイト数または精度を指定しなければなりません
(精度が指定されなかった場合は文字列全体を表示するという
.Xr fprintf 3
のデフォルトとは異なります)。
.It
変換文字 ``h'', ``l'', ``n'', ``p'' , ``q'' は
サポートされていません。
.It
C の標準規格の中で記述されている
以下の 1 文字エスケープシーケンスをサポートしています。
.Bd -ragged -offset indent -compact
.Bl -column <alert_character>
.It "NUL	\e0
.It "<alert character>	\ea
.It "<backspace>	\eb
.It "<form-feed>	\ef
.It "<newline>	\en
.It "<carriage return>	\er
.It "<tab>	\et
.It "<vertical tab>	\ev
.El
.Ed
.El
.Pp
.Nm
ユーティリティはさらに以下の変換文字をサポートします。
.Bl -tag -width Fl
.It Cm \&_a Ns Op Cm dox
次に表示されるバイトのオフセット (複数の入力ファイルを通算しての値)
を表示します。
文字
.Cm d ,
.Cm o ,
.Cm x
を付加すると、表示をそれぞれ 10 進、8 進、16 進形式にします。
.It Cm \&_A Ns Op Cm dox
.Cm \&_a
変換文字とほぼ同じですが、すべての入力が処理された後で一度だけ実行
されるという点が異なります。
.It Cm \&_c
デフォルトの文字セット中における文字を表示します。
表示不能な文字は 0 詰めして 3 桁にした 8 進数で表示します。
ただし標準のエスケープ
表記 (上述) ができるものについてはその 2 文字で表示します。
.It Cm _p
デフォルトの文字セット中における文字を表示します。
表示不能な文字は
.Dq Cm \&.
として表示します。
.It Cm _u
文字セット US
.Tn ASCII
中での文字を表示します。
ただし制御文字については以下に示す小文字名で表示します。
16 進で 0xff より大きな文字に
ついては 16 進表記の文字列として表示します。
.Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
.It "\&000\ NUL\t001\ SOH\t002\ STX\t003\ ETX\t004\ EOT\t005\ ENQ
.It "\&006\ ACK\t007\ BEL\t008\ BS\t009\ HT\t00A\ LF\t00B\ VT
.It "\&00C\ FF\t00D\ CR\t00E\ SO\t00F\ SI\t010\ DLE\t011\ DC1
.It "\&012\ DC2\t013\ DC3\t014\ DC4\t015\ NAK\t016\ SYN\t017\ ETB
.It "\&018\ CAN\t019\ EM\t01A\ SUB\t01B\ ESC\t01C\ FS\t01D\ GS
.It "\&01E\ RS\t01F\ US\t0FF\ DEL
.El
.El
.Pp
各々の変換文字について、サポートされているバイト数とデフォルトの
バイト数は以下の通りです:
.Bl -tag -width  "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
.It Li \&%_c , \&%_p , \&%_u , \&%c
1 バイトのみ使用できます。
.It Xo
.Li \&%d , \&%i , \&%o ,
.Li \&%u , \&%X , \&%x
.Xc
デフォルトでは 4 バイトで、1 バイト・2 バイト・4 バイトが使用できます。
.It Xo
.Li \&%E , \&%e , \&%f ,
.Li \&%G , \&%g
.Xc
デフォルトでは 8 バイトで、4 バイトと 12 バイトも使用できます。
.El
.Pp
各フォーマット文字列によって処理されるデータの量は、
各フォーマット単位が必要とするデータ量の合計であり、これは
バイト数の繰り返し回数倍、あるいはバイト数が指定されていない場合には
フォーマットの必要とするバイト数の繰り返し回数倍になります。
.Pp
入力は ``ブロック'' ごとに処理されます。
ブロックとは、フォーマット
文字列によって指定されるデータの塊のうちで最も大きいものです。
1 ブロック分のデータを処理し切らないフォーマット文字列で、その中の
最後のフォーマット単位が何バイトかを処理し、かつ繰り返し
回数が指定されていないものは、ブロック全体が処理され切るか、
フォーマット文字列に合致するデータがブロック中になくなるまで
繰り返し回数を増やされます。
.Pp
ユーザの指定または hexdump が上記のように繰り返し回数を変更した結果、
繰り返し回数が 1 より大きくなった場合、最後の繰り返しにおける
末尾の空白は出力されません。
.Pp
バイト数を複数の変換文字と共に指定すると、1 つを除いた全ての変換文字が
.Cm \&_a
または
.Cm \&_A
である時以外、エラーになります。
.Pp
入力がフォーマット文字列の一部分しか満たしていない状態で
.Fl n
オプションで指定したバイト数あるいはEOFに到達した場合、
有効なデータをすべて表示できるよう、入力ブロックには適当な数の 0 が
補われます。(すなわち、データの終端にまたがっている
フォーマット単位は何バイトかの 0 を表示します。)
.Pp
そのようなフォーマット文字列によるさらなる出力は、等数の空白で
置き換えられます。
等数の空白とは、
もとの変換文字あるいは変換文字列とフィールド幅と精度は同じで
.Dq Li \&+ ,
.Dq \&\ \& ,
.Dq Li \&#
を取り除いた
.Cm s
変換文字が、NULL 文字列を指した場合に出力される数の空白です。
.Pp
フォーマット文字列が指定されない場合、デフォルトの表示形式は
.Fl x
オプションが指定された場合のものと同じになります。
.Sh 診断
.Ex -std hexdump hd
.Sh 使用例
入力を perusal 形式で表示する:
.Bd -literal -offset indent
"%06.6_ao "  12/1 "%3_u "
"\et\et" "%_p "
"\en"
.Ed
.Pp
\-x オプションを実装:
.Bd -literal -offset indent
"%07.7_Ax\en"
"%07.7_ax  " 8/2 "%04x " "\en"
.Ed
.Sh 関連項目
.Xr gdb 1