シェルでバイナリダンプを表示
$ 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。