OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / util-linux / release / man1 / hexdump.1
1 .\" Copyright (c) 1989, 1990, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     from: @(#)hexdump.1     8.2 (Berkeley) 4/18/94
33 .\"
34 .\" Japanese Version Copyright (c) 2001-2002 Yuichi SATO
35 .\"         all rights reserved.
36 .\" Translated Tue 11 Jan 1994
37 .\"         by NetBSD jman proj. <jman@spa.is.uec.ac.jp>
38 .\" Updated Sun Jan 14 00:49:38 JST 2001
39 .\"         by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
40 .\" Updated Sun Mar 24 11:54:42 JST 2002
41 .\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
42 .\"
43 .Dd April 18, 1994
44 .Dt HEXDUMP 1
45 .Os
46 .Sh 名前
47 .Nm hexdump
48 .Nd ASCII, 10 進, 16 進, 8 進でダンプする
49 .Sh 書式
50 .Nm
51 .Op Fl bcCdovx
52 .Bk -words
53 .Op Fl e Ar format_string
54 .Ek
55 .Bk -words
56 .Op Fl f Ar format_file
57 .Ek
58 .Bk -words
59 .Op Fl n Ar length
60 .Ek
61 .Bk -words
62 .Op Fl s Ar skip
63 .Ek
64 .Ar file ...
65 .Sh 説明
66 hexdump ユーティリティは、指定したファイルを
67 ユーザーが指定したフォーマットで表示するフィルタである。
68 ファイルが指定されていない場合は、標準入力を読み込んでフォーマットする。
69 .Pp
70 オプションとしては以下のものがある:
71 .Bl -tag -width Fl
72 .It Fl b
73 .Em 1 バイト単位の 8 進数表示。
74 入力オフセットを 16 進数で表示し、
75 その後に、入力データ 1 バイトずつを
76 0 で字詰めした 3 桁の 8 進数で表現し、
77 それを 1 行当たり 16 個、空白で区切って表示する。
78 .It Fl c
79 .Em 1 バイト単位のキャラクタ表示。
80 入力オフセットを 16 進数で表示し、
81 その後に、入力データのキャラクタを
82 空白で字詰めした 3 桁 (の ASCII 文字) で表現し、
83 それを 1 行当たり 16 個、空白で区切って表示する。
84 .It Fl C
85 .Em 標準的な 16進数 + ASCII での表示。
86 入力オフセットを 16 進数で表示し、
87 その後に、入力データのキャラクタを 2 桁の 16 進数で表現し、
88 それを 1 行当たり 16 個、空白で区切って表示する。
89 その後に、``|'' で囲まれた中に同じ 16 バイトを
90 %_p フォーマットで表示する。
91 .It Fl d
92 .Em 2 バイト単位の 10 進数表示。
93 入力オフセットを 16 進数で表示し、
94 その後に、入力データ 2 バイト単位を
95 0 で字詰めした 5 桁の符号なし 10 進数で表現し、
96 それを 1 行当たり 8 個、空白で区切って表示する。
97 .It Fl e Ar format_string 
98 データを表示するために使われるフォーマット文字列を指定する。
99 .It Fl f Ar format_file 
100 1 個以上のフォーマット文字列 (改行で区切る) の書かれたファイルを指定する。
101 空行、または空白を除いた最初の文字がハッシュマーク
102 .Pf ( Cm \&# )
103 である行は無視される。
104 .It Fl n Ar length 
105 入力の
106 .Ar length
107 バイト分だけを処理する。
108 .It Fl o
109 .Em 2 バイト単位の 8 進数表示。
110 入力オフセットを 16 進数で表示し、
111 その後に、入力 2 バイト単位を
112 0 で字詰めした 6 桁の 8 進数で表現し、
113 それを 1 行当たり 8 個、空白で区切って表示する。
114 .It Fl s Ar offset 
115 入力の先頭から
116 .Ar offset
117 バイトを読み飛ばす。
118 デフォルトでは
119 .Ar offset
120 は 10 進数として解釈される。
121 先頭に
122 .Cm 0x
123 または
124 .Cm 0X
125 を付けた場合、
126 .Ar offset
127 は 16 進数として解釈される。
128 先頭に
129 .Cm 0
130 を付けた場合、
131 .Ar offset
132 は 8 進数として解釈される。
133 .Ar offset
134 の後ろに
135 .Cm b ,
136 .Cm k ,
137 .Cm m
138 を付けた場合、それぞれ
139 .Li 512 ,
140 .Li 1024 ,
141 .Li 1048576
142 倍であると解釈されるようになる。
143 .It Fl v
144 .Fl v
145 オプションを指定すると、hexdump に対して全ての入力データを表示させる。
146 .Fl v
147 オプションを指定しない場合、
148 直前の出力行と同じ内容の行 (ただし、入力オフセットは除く) は、
149 何行であっても、
150 1 個のアスタリスクが書かれた行で置き換えられる。
151 .It Fl x
152 .Em 2 バイト単位の 16 進数表示。
153 入力オフセットが 16 進数で表示し、
154 その後に、入力 2 バイト単位を
155 0 で字詰めした 4 桁の 16 進数で表現し、
156 それを 1 行当たり 8 個、空白で区切って表示する。
157 .El
158 .Pp
159 各入力ファイルに対して、
160 .Nm
161 は、入力ファイルが指定された順番で、
162 .Fl e
163
164 .Fl f
165 オプションで指定されたフォーマット文字列に基づいて変換しながら
166 続けて標準出力に書き出していく。
167 .Ss フォーマット
168 フォーマット文字列は、空白で区切られた任意の個数の
169 フォーマット単位を含んでいる。
170 フォーマット単位は最大 3 個の要素、つまり、
171 繰り返し回数・バイト数・フォーマットを含んでいる。
172 .Pp
173 繰り返し回数は、オプションとして指定される正の整数である。
174 デフォルトは 1 である。
175 各フォーマットは繰り返し回数だけ適用される。
176 .Pp
177 バイト数は、オプションとして指定される正の整数である。
178 これが指定された場合、
179 1 つのフォーマットで処理されるバイト数を示す。
180 .Pp
181 繰り返し回数とバイト数 (の両方、もしくはどちらか一方) が指定された場合、
182 どちらの数字かを区別するために、
183 繰り返し回数の後とバイト数の前にスラッシュを 1 個置かなければならない。
184 スラッシュの前後の空白は無視される。
185 .Pp
186 フォーマットは必須で、ダブルクォートマーク (" ") で囲まなければならない。
187 このフォーマットは、fprintf 形式のフォーマット文字列
188 .Ns ( Xr fprintf 3
189 を参照) として解釈されるが、
190 以下のような例外がある:
191 .Bl -bullet -offset indent
192 .It
193 フィールドの幅や精度としてアスタリスク (*) を使えない。
194 .It
195 個々の変換文字 ``s'' について、バイト数やフィールド精度が必須である
196 (精度が指定されていない場合に全ての文字列を表示する
197 .Xr fprintf 3
198 のデフォルトとは異なる)。
199 .It
200 変換文字 ``h'', ``l'', ``n'', ``p'', ``q'' がサポートされていない。
201 .It
202 C 言語の標準規格で記述されている
203 1 文字のエスケープシーケンスがサポートされている:
204 .Bd -ragged -offset indent -compact
205 .Bl -column <alert_character>
206 .It NUL \e0
207 .It <アラート文字>        \ea
208 .It <バックスペース>     \eb
209 .It <フォームフィード>  \ef
210 .It <改行>    \en
211 .It <復帰>    \er
212 .It <タブ>    \et
213 .It <垂直タブ>      \ev
214 .El
215 .Ed
216 .El
217 .Pp
218 hexdump は、他にも以下の変換文字列をサポートする:
219 .Bl -tag -width Fl
220 .It Cm \&_a Ns Op Cm dox 
221 次に表示されるバイトのオフセット
222 (複数の入力ファイルで通算した値) を表示する。
223 文字
224 .Cm d ,
225 .Cm o ,
226 .Cm x
227 を後ろに付加すると、表示の際の基数がそれぞれ 10, 8, 16 進数に指定される。
228 .It Cm \&_A Ns Op Cm dox 
229 変換文字列
230 .Cm \&_a
231 とほぼ同じ。
232 ただし、この変換は全ての入力データが処理された後で 1 回だけ実行される。
233 .It Cm \&_c
234 デフォルト文字セットの文字で出力する。
235 表示不能な文字は、0 で字詰めした 3 桁の 8 進数で表示される。
236 ただし、標準エスケープ表記で表現される文字 (上記を参照) は、
237 その 2 文字の文字列で表示される。
238 .It Cm _p
239 デフォルト文字セットの文字で出力する。
240 表示不能な文字は、1 個の
241 .Dq Cm \&.
242 として表示される。
243 .It Cm _u
244 US ASCII 文字で出力する。
245 ただし、制御文字は以下のような小文字の名前を使って表示される。
246 16 進数で 0xff より大きい文字は、
247 16 進数の文字列として表示される。
248 .Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
249 .It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
250 .It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
251 .It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
252 .It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
253 .It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
254 .It \&01E\ rs\t01F\ us\t0FF\ del
255 .El
256 .El
257 .Pp
258 変換文字列で使われるデフォルトのバイト数とサポートされるバイト数は、
259 以下の通りである。
260 .Bl -tag -width  "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
261 .It Li \&%_c , \&%_p , \&%_u , \&%c
262 1 バイトのみ。
263 .It Xo
264 .Li \&%d , \&%i , \&%o ,
265 .Li \&%u , \&%X , \&%x 
266 .Xc
267 4 バイトがデフォルト。1, 2, 4 バイトがサポートされている。
268 .It Xo
269 .Li \&%E , \&%e , \&%f ,
270 .Li \&%G , \&%g 
271 .Xc
272 8 バイトがデフォルト。4 バイトがサポートされている。
273 .El
274 .Pp
275 各フォーマット文字列によって処理されるデータの量は、
276 各フォーマット単位で必要とされるデータの合計である。
277 この合計は (繰り返し回数)×(バイト数) である。
278 また、バイト数が指定されていない場合は、
279 (繰り返し回数)×(フォーマットが必要としているバイト数) である。
280 .Pp
281 入力は「ブロック」ごとに操作される。
282 ブロックは、フォーマット文字列で指定される
283 データの塊のうちで最大のもの、と定義される。
284 入力ブロックのデータより少ないバイト数しか処理していないフォーマット文字列で、
285 その中の最後のフォーマット単位で数バイトを処理し、
286 かつ繰り返し回数が指定されていない場合、
287 入力ブロック全体が処理されるか、
288 フォーマット文字列に合致するデータがブロックになくなるまで、
289 繰り返し回数を増加させる。
290 .Pp
291 ユーザーの指定、
292 または hexdump が上で説明したように繰り返し回数を変更した結果、
293 繰り返し回数が 2 回以上になった場合、
294 最後の繰り返しにおける末尾の空白は出力されない。
295 .Pp
296 バイト数を複数の変換文字と共に指定すると、
297 1 つを除いた全ての変換文字が
298 .Cm \&_a
299 または
300 .Cm \&_A
301 である場合以外は、エラーになる。
302 .Pp
303 .Fl n
304 オプションで指定したバイト数分、またはファイル終端に達したときに、
305 入力データがフォーマット文字列の一部分にしか満たさない場合、
306 有効なデータを全て表示するために、入力ブロックには適切な数の 0 が補われる
307 (すなわち、データの終端にまたがっているフォーマット単位は、
308 何個かの 0 のバイトを表示する)。
309 .Pp
310 このようなフォーマット文字列によるさらなる出力は、
311 等数の空白で置き換えられる。
312 等数の空白とは、元々の変換文字とフィールド幅と精度は同じで、
313 変換フラグ文字
314 .Dq Li \&+ ,
315 .Dq \&\ \& ,
316 .Dq Li \&#
317 を取り除いた
318 .Cm s
319 変換文字が NULL 文字列を参照した場合に出力される数の空白である。
320 .Pp
321 フォーマット文字列が指定されない場合、
322 デフォルトの表示は
323 .Fl x
324 オプションを指定した場合と同じである。
325 .Pp
326 .Nm
327 は成功すると 0 を返して終了する。
328 エラーが起こった場合は、1 以上を返して終了する。
329 .Sh 例
330 入力を perusal (詳しく閲覧する) フォーマットで表示する:
331 .Bd -literal -offset indent
332 "%06.6_ao "  12/1 "%3_u "
333 "\et\et" "%_p "
334 "\en"
335 .Ed
336 .Pp
337 \-x オプションを実装する:
338 .Bd -literal -offset indent
339 "%07.7_Ax\en"
340 "%07.7_ax  " 8/2 "%04x " "\en"
341 .Ed
342 .Sh 準拠
343 .Nm
344 ユーティリティは
345 .St -p1003.2
346 に適合しているはずである。
347 .Sh 翻訳者謝辞
348 この man ページの翻訳にあたり、
349 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/>
350 による翻訳を参考にさせていただいた。