बाइनरी फ़ाइल में स्ट्रिंग्स और कुछ नंबर हैं, यदि मैं करता हूं
od -c filename
या strings filename
, मैं स्ट्रिंग्स को ठीक से देख सकता हूं। लेकिन, संख्या के बारे में क्या? वे कुछ अजीब प्रारूप में हैं।
करने के बाद का पाठ od -c filename
इस प्रकार है:
0000000 036 \ 0 032 004 SD \ 0 \ 0 \ 0 \ 0 seq 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 ó 002 3 001 0000040 और \ 0 032 \ f O 2 006 \ 0 \ 0 \ 0 osfus 1 0000060 ó 002 3 001 \ \ r \ 0 \ 0 \ t \ 0 \ 0 @ 3 × 0000100 233 4 004 \ 0 é 003 \ 0 \ 0 & \ 0 032 \ f O 2 7 \ 0 0000120 \ 0 \ 0 ओसफू 1 ó 002 3 001 é 235 0000140 \ 0 \ 0 035 003 \ 0 @ 3 × 233 \ 004 \ 0 Ñ \ a \ 0 0 0 0000160 ä \ 0 032 \ f O r E \ 0 \ 0 \ 0 osfap 1
इसे कैसे समझें?
मैंने भी कोशिश की hexdump -C filename
आउटपुट इस प्रकार है:
00000000 1e 00 1a 04 53 44 00 00 00 73 65 71 31 31 20 20 | .... SD .... seq1 | 00000010 20 20 00 00 00 00 00 00 00 09 00 f3 02 33 01 | .......... ó.3। | 00000020 26 00 1a 0c 4f 32 06 00 00 6f 73 66 75 73 31 31 | & ... O2 .... osfus1 | 00000030 20 20 f3 02 33 01 ff 0d 00 00 09 00 00 40 33 d7 | ó.3.ÿ ...... @ 3 × | 00000040 9b ba 04 00 e9 03 00 00 26 00 1a 0c 4f 32 37 00 | º..é ... & ... O27 | 00000050 00 00 6f 73 66 65 75 31 20 20 f3 02 33 01 e9 9d | ..osfeu1 ó.3.é. | 00000060 00 00 1d 03 00 40 33 d7 9b ba 04 00 d1 07 00 00 | ..... @ 3 × .Ñ..º ... ... | 00000070 e4 00 1a 0c 4f 72 45 00 00 6f 73 66 61 70 31 | ä ... OrE ... osfap1 |
स्पष्ट करने के लिए, मुख्य फ़ाइल जो एक नियमित फ़ाइल है, जिसमें एक विशेषता थी जो प्रदर्शित कर रही थी कुछ अजीब प्रारूप है, इसलिए हम कच्चे / बाइनरी फ़ाइल को देख रहे हैं।
नियमित फ़ाइल पर ऑक्टल डंप करते हुए, देखने की समस्या को हल किया।
के साथ grep 'id=123' regular_file | head -1 | od -c
, मैं यह देखने में सक्षम था कि वहां क्या संख्या थी। मैं 1 की उम्मीद कर रहा था, यह हमें 001 के रूप में दिखा।
not text
उस ASCII दृश्य में, इसका मतलब यह नहीं है कि यह ASCII उस प्रोग्राम के लिए है जो फ़ाइल पढ़ता है। जैसे। संख्या 7957706749327538292 जब एक 64-बिट थोड़ा-endian अहस्ताक्षरित पूर्णांक के रूप में एन्कोड। ASCII दृश्य में इस तरह दिखता है not text
:।