Katze zeigt nichts

7

Mein Team arbeitet an einer CI-Umgebung.

Eine koDatei mit dem Namen x.kowird jeden Tag zu einer regulären Zeit aus der CI-Umgebung generiert und hat den Typ ELF 64-bit LSB relocatable.

Heute habe ich festgestellt, dass der Typ dieser koDatei wurde data.

Ich versuche den Grund herauszufinden.

Ich versuche catdiese koDatei, aber die Ausgabe ist nichts. Dann versuche ich es cat -et x.kound es gibt mir viele ^@^@^@^@^@^@^@^@^@^@^@^@^@^@...

Weißt du was ^@^@^@^@^@^@^@^@^@bedeutet?

Yves
quelle
2
^@.... das ist eine STRG- @ ..... Halten Sie die Strg-Taste gedrückt und drücken Sie @ ..... es ist eine NULL .... 0Byte
jsotola
1
Es ist beschädigt. Ist es abgestürzt?
Rui F Ribeiro
1
Sie können oddamit Binärdaten analysieren. In diesem Fall deuten jedoch alle Beweise darauf hin, dass es sich um viele Null-Bytes (Nullen) handelt.
Strg-Alt-Delor

Antworten:

12

Ihre Datei ist voller Nullen und nicht leer. Ein normaler catBenutzer druckt die Nullen in der Standardausgabe aus, aber Ihr Terminal zeigt sie im Allgemeinen jeweils als nichts an, während cat -vsie als dargestellt werden ^@. ^@stellt ein Null-Byte dar, da der Byte-Wert von "@" (0x40 oder 64) x oder 64 (Flip-Bit 7) Null ist.

Warum es plötzlich voller Nullen ist, können wir von hier nicht sagen.

Diese verwandte Frage kann für die Caret-Darstellung informativ sein: Sind ASCII-Escape-Sequenzen und Steuerzeichenpaarungen Teil eines Standards?

Michael Homer
quelle
M. Ribeiro denkt eindeutig an unix.stackexchange.com/questions/477537 .
JdeBP
12

Seien Sie vorsichtig, cat ist nicht das perfekte Werkzeug, um Daten anzuzeigen, die binär sein können.

Ein einfaches Unix-Tool ist od (Octal Dump).

Ein Beispiel für 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

so können Sie sehen, dass der Wagen zurückkehrt \ n

EchoMike444
quelle