2016-05-04 6 views
0

Linuxでhexdumpコマンドを扱うのは本当に混乱していました。 基本的には、/ proc/device-treeからの出力を取得しようとしています。 私はhexdumpを使用しようとしましたが、混乱しました。 私のDTSは、私は/ procの/デバイスツリーの下のprocノードを持っヘキサダンプの反復回数とバイト数は何ですか?

vvn = <0 0 2 2 0 0>; 

が含まれています。

次のコマンドを試しました。

hexdump -v -e '4/1 "%x" " "' vvn ; echo 
0000 0000 0002 0002 0000 0000 

hexdump -v -e '1/4 "%x" " "' vvn ; echo 
0 0 2000000 2000000 0 0 

hexdump -v -e '4/1 "%x "' vvn ; echo 
0 0 0 00 0 0 00 0 0 20 0 0 20 0 0 00 0 0 0 

私は異なる出力を得ました、私はすべて同じ出力を生成すると思った。 誰も私に説明してくださいiterationcountとbytecountのhexdumpとそれが何のためにどのようにフォーマットを使用するのですか?

答えて

1

反復回数は、フォーマットが繰り返される回数を制御します。

バイトカウントは、各反復のフォーマットのバイト数を示します。

フォーマット文字列はprintfと同じです。

'4/1 "%x" " "':4回の反復:毎回 "%x"で1バイトをフォーマットし、反復が終了したら" "を挿入します。

'1/4 "%x" " "':1回の繰り返し:毎回 "%x"で4バイトをフォーマットし、繰り返しが終了したら" "を挿入します。これは、

'4/1 "%x "'と同じです。繰り返し回数:4回: "%x"の形式1バイト。反復が終了すると、が最後のスペースを食います。、何も挿入しません。

hexdumpに対しては、最後のスペースを食べる理由を私は知っています:(。

+0

素晴らしい説明。私もそれが最後のスペースを食べる理由を知りません。 – AQU

関連する問題