Mein Team arbeitet an einer CI-Umgebung.
Eine ko
Datei mit dem Namen x.ko
wird 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 ko
Datei wurde data
.
Ich versuche den Grund herauszufinden.
Ich versuche cat
diese ko
Datei, aber die Ausgabe ist nichts. Dann versuche ich es cat -et x.ko
und es gibt mir viele ^@^@^@^@^@^@^@^@^@^@^@^@^@^@
...
Weißt du was ^@^@^@^@^@^@^@^@^@
bedeutet?
files
cat
file-types
Yves
quelle
quelle
^@
.... das ist eine STRG- @ ..... Halten Sie die Strg-Taste gedrückt und drücken Sie @ ..... es ist eine NULL ....0
Byteod
damit Binärdaten analysieren. In diesem Fall deuten jedoch alle Beweise darauf hin, dass es sich um viele Null-Bytes (Nullen) handelt.Antworten:
Ihre Datei ist voller Nullen und nicht leer. Ein normaler
cat
Benutzer druckt die Nullen in der Standardausgabe aus, aber Ihr Terminal zeigt sie im Allgemeinen jeweils als nichts an, währendcat -v
sie 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?
quelle
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
so können Sie sehen, dass der Wagen zurückkehrt \ n
quelle