読者です 読者をやめる 読者になる 読者になる

シェルでバイナリダンプを表示

$ od -vAx -tx4z -w16 $COMSPEC | head
000000 00905a4d 00000003 00000004 0000ffff  >MZ..............<
000010 000000b8 00000000 00000040 00000000  >........@.......<
000020 00000000 00000000 00000000 00000000  >................<
000030 00000000 00000000 00000000 000000d8  >................<
000040 0eba1f0e cd09b400 4c01b821 685421cd  >........!..L.!Th<
000050 70207369 72676f72 63206d61 6f6e6e61  >is program canno<
000060 65622074 6e757220 206e6920 20534f44  >t be run in DOS <
000070 65646f6d 0a0d0d2e 00000024 00000000  >mode....$.......<
000080 ead5ed1d b9bb8c59 b9bb8c59 b9bb8c59  >....Y...Y...Y...<
000090 b9b4839a b9bb8c5f b9ba8c59 b9bb8c80  >...._...Y.......<

#今回はcygwinのodを使用しました。
odはun*xに標準装備されている8進ダンプコマンドです。引数のvは同じ内容の行を省略せず全部表示。Axがアドレスを16進表記。tx1が1バイト区切りで16進表記。8バイト区切りまで可能。zが文字列表現の追記。w128は1行に128バイト表示。
ちょっとした調べものはemacsのhexl-modeで済ませますが、定型的な作業や差分チェックにはこっちの方が便利です。
ちなみに$COMSPECはWindowsに標準で定義されている環境変数ComSpecで、cmd.exeのパスが入ってます。cygwinから呼び出しているから$COMSPEC。