File: hexdump.1

package info (click to toggle)
manpages-ja 0.5.0.0.20120606-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 25,964 kB
  • sloc: perl: 161; makefile: 116
file content (350 lines) | stat: -rw-r--r-- 13,657 bytes parent folder | download | duplicates (4)
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
343
344
345
346
347
348
349
350
.\" 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.
.\"
.\"	from: @(#)hexdump.1	8.2 (Berkeley) 4/18/94
.\"
.\" Japanese Version Copyright (c) 2001-2002 Yuichi SATO
.\"         all rights reserved.
.\" Translated Tue 11 Jan 1994
.\"         by NetBSD jman proj. <jman@spa.is.uec.ac.jp>
.\" Updated Sun Jan 14 00:49:38 JST 2001
.\"         by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
.\" Updated Sun Mar 24 11:54:42 JST 2002
.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
.\"
.Dd April 18, 1994
.Dt HEXDUMP 1
.Os
.Sh 名前
.Nm hexdump
.Nd ASCII, 10 進, 16 進, 8 進でダンプする
.Sh 書式
.Nm
.Op Fl bcCdovx
.Bk -words
.Op Fl e Ar format_string
.Ek
.Bk -words
.Op Fl f Ar format_file
.Ek
.Bk -words
.Op Fl n Ar length
.Ek
.Bk -words
.Op Fl s Ar skip
.Ek
.Ar file ...
.Sh 説明
hexdump ユーティリティは、指定したファイルを
ユーザーが指定したフォーマットで表示するフィルタである。
ファイルが指定されていない場合は、標準入力を読み込んでフォーマットする。
.Pp
オプションとしては以下のものがある:
.Bl -tag -width Fl
.It Fl b
.Em 1 バイト単位の 8 進数表示。
入力オフセットを 16 進数で表示し、
その後に、入力データ 1 バイトずつを
0 で字詰めした 3 桁の 8 進数で表現し、
それを 1 行当たり 16 個、空白で区切って表示する。
.It Fl c
.Em 1 バイト単位のキャラクタ表示。
入力オフセットを 16 進数で表示し、
その後に、入力データのキャラクタを
空白で字詰めした 3 桁 (の ASCII 文字) で表現し、
それを 1 行当たり 16 個、空白で区切って表示する。
.It Fl C
.Em 標準的な 16進数 + ASCII での表示。
入力オフセットを 16 進数で表示し、
その後に、入力データのキャラクタを 2 桁の 16 進数で表現し、
それを 1 行当たり 16 個、空白で区切って表示する。
その後に、``|'' で囲まれた中に同じ 16 バイトを
%_p フォーマットで表示する。
.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 進数として解釈される。
.Ar offset
の後ろに
.Cm b ,
.Cm k ,
.Cm m
を付けた場合、それぞれ
.Li 512 ,
.Li 1024 ,
.Li 1048576
倍であると解釈されるようになる。
.It Fl v
.Fl v
オプションを指定すると、hexdump に対して全ての入力データを表示させる。
.Fl v
オプションを指定しない場合、
直前の出力行と同じ内容の行 (ただし、入力オフセットは除く) は、
何行であっても、
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
繰り返し回数とバイト数 (の両方、もしくはどちらか一方) が指定された場合、
どちらの数字かを区別するために、
繰り返し回数の後とバイト数の前にスラッシュを 1 個置かなければならない。
スラッシュの前後の空白は無視される。
.Pp
フォーマットは必須で、ダブルクォートマーク (" ") で囲まなければならない。
このフォーマットは、fprintf 形式のフォーマット文字列
.Ns ( 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 <アラート文字>	\ea
.It <バックスペース>	\eb
.It <フォームフィード>	\ef
.It <改行>	\en
.It <復帰>	\er
.It <タブ>	\et
.It <垂直タブ>	\ev
.El
.Ed
.El
.Pp
hexdump は、他にも以下の変換文字列をサポートする:
.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
とほぼ同じ。
ただし、この変換は全ての入力データが処理された後で 1 回だけ実行される。
.It Cm \&_c
デフォルト文字セットの文字で出力する。
表示不能な文字は、0 で字詰めした 3 桁の 8 進数で表示される。
ただし、標準エスケープ表記で表現される文字 (上記を参照) は、
その 2 文字の文字列で表示される。
.It Cm _p
デフォルト文字セットの文字で出力する。
表示不能な文字は、1 個の
.Dq Cm \&.
として表示される。
.It Cm _u
US 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 バイトがサポートされている。
.El
.Pp
各フォーマット文字列によって処理されるデータの量は、
各フォーマット単位で必要とされるデータの合計である。
この合計は (繰り返し回数)×(バイト数) である。
また、バイト数が指定されていない場合は、
(繰り返し回数)×(フォーマットが必要としているバイト数) である。
.Pp
入力は「ブロック」ごとに操作される。
ブロックは、フォーマット文字列で指定される
データの塊のうちで最大のもの、と定義される。
入力ブロックのデータより少ないバイト数しか処理していないフォーマット文字列で、
その中の最後のフォーマット単位で数バイトを処理し、
かつ繰り返し回数が指定されていない場合、
入力ブロック全体が処理されるか、
フォーマット文字列に合致するデータがブロックになくなるまで、
繰り返し回数を増加させる。
.Pp
ユーザーの指定、
または hexdump が上で説明したように繰り返し回数を変更した結果、
繰り返し回数が 2 回以上になった場合、
最後の繰り返しにおける末尾の空白は出力されない。
.Pp
バイト数を複数の変換文字と共に指定すると、
1 つを除いた全ての変換文字が
.Cm \&_a
または
.Cm \&_A
である場合以外は、エラーになる。
.Pp
.Fl n
オプションで指定したバイト数分、またはファイル終端に達したときに、
入力データがフォーマット文字列の一部分にしか満たさない場合、
有効なデータを全て表示するために、入力ブロックには適切な数の 0 が補われる
(すなわち、データの終端にまたがっているフォーマット単位は、
何個かの 0 のバイトを表示する)。
.Pp
このようなフォーマット文字列によるさらなる出力は、
等数の空白で置き換えられる。
等数の空白とは、元々の変換文字とフィールド幅と精度は同じで、
変換フラグ文字
.Dq Li \&+ ,
.Dq \&\ \& ,
.Dq Li \&#
を取り除いた
.Cm s
変換文字が NULL 文字列を参照した場合に出力される数の空白である。
.Pp
フォーマット文字列が指定されない場合、
デフォルトの表示は
.Fl x
オプションを指定した場合と同じである。
.Pp
.Nm
は成功すると 0 を返して終了する。
エラーが起こった場合は、1 以上を返して終了する。
.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 準拠
.Nm
ユーティリティは
.St -p1003.2
に適合しているはずである。
.Sh 翻訳者謝辞
この man ページの翻訳にあたり、
FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/>
による翻訳を参考にさせていただいた。