
私たちのチームはCI環境で働いています。
CI環境は、ko
毎日という名前のファイルを定期的に生成し、その種類は。x.ko
ELF 64-bit LSB relocatable
今日のko
ファイル形式がdata
。
理由を把握しようとしています。
cat
このファイルを試してみましたが、ko
結果は何もありません。それからこれをやってみて、たくさんのことをcat -et x.ko
得ました^@^@^@^@^@^@^@^@^@^@^@^@^@^@
...
その意味を知っていますか^@^@^@^@^@^@^@^@^@
?
答え1
ファイルが空ではなく、NULL値でいっぱいです。通常のプログラムはcat
null値を標準出力として出力しますが、端末では通常これcat -v
を^@
。^@
"@" (0x40 または 64) xor 64 (トグルビット 7) のバイト値が 0 であるため、ヌルバイトを表します。
なぜ突然、null値でいっぱいになり、ここでは不明です。
この関連質問は、キャレット表現に関する情報を提供することができます。ASCIIエスケープシーケンスと制御文字のペアは標準の一部ですか?
答え2
気をつけて、猫バイナリデータを表示するのに最適なツールではありません。
単純なUnixツールは次のとおりです。OD(8進ダンプ)。
一例od-c-tx1
root@server:~# od -c -tx1 /etc/passwd | head
0000000 r o o t : x : 0 : 0 : r o o t :
72 6f 6f 74 3a 78 3a 30 3a 30 3a 72 6f 6f 74 3a
0000020 / r o o t : / b i n / b a s h \n
2f 72 6f 6f 74 3a 2f 62 69 6e 2f 62 61 73 68 0a
0000040 d a e m o n : x : 1 : 1 : d a e
64 61 65 6d 6f 6e 3a 78 3a 31 3a 31 3a 64 61 65
0000060 m o n : / u s r / s b i n : / u
6d 6f 6e 3a 2f 75 73 72 2f 73 62 69 6e 3a 2f 75
0000100 s r / s b i n / n o l o g i n \n
73 72 2f 73 62 69 6e 2f 6e 6f 6c 6f 67 69 6e 0a
キャリッジリターンを見ることができます。\N