कैसे बैश से बाइनरी में फ़ाइलों को देखने के लिए?


289

मैं वर्तमान निर्देशिका में एक फ़ाइल की सामग्री देखना चाहता हूं, लेकिन कमांड लाइन से बाइनरी में। इसे कैसे प्राप्त किया जा सकता है?

जवाबों:


492

xxd बाइनरी और हेक्साडेसिमल दोनों करता है।

बिन:

xxd -b file

हेक्स:

xxd file

13
sudo xxd /dev/diskn | lessअब मेरी नई पसंदीदा चीज है।
krs013

6
... और यह मैक ओएस एक्स और लिनक्स पर पूर्वस्थापित है।
श्रीधर सरनोबत

1
"हेक्सडंप" पर यह लाभ है कि यह एएससीआईआई फॉर्म को भी दिखाता है, जिससे उस स्थान को पहचानना आसान हो जाता है जिसे मैं देखना चाहता हूं।
पाओलो एबरमन

1
और आउटपुट को ASCII टेक्स्ट फाइल में डालने और खोजने के लिए डंप करना:xxd file > hex_dump_of_file.txt
गेब्रियल स्टेपल्स

एक श्लोक: xxd केवल linux शेल के लिए नहीं है। मुझे लगता है कि यह विम के साथ आता है। मैंने खिड़कियों पर विम स्थापित किया था, और मैंने पाया कि मैं विंडोज़ में भी xxd का उपयोग कर सकता हूं।
टीना सेप

182
hexdump -C yourfile.bin

जब तक आप इसे संपादित नहीं करना चाहते। अधिकांश linux distros में hexdumpडिफ़ॉल्ट रूप से (लेकिन स्पष्ट रूप से सभी नहीं) होते हैं।


1
मुझे यह विचार पसंद है, लेकिन अन्य सुझावों की तरह यह केवल हेक्स को आउटपुट करता है। स्पष्ट रूप से यह बाइनरी की तुलना में बहुत अधिक कॉम्पैक्ट है, लेकिन मैं बहुत छोटी फाइलों से निपट रहा हूं इसलिए बाइनरी को प्राथमिकता दी जाती है। क्या हेक्स ही एकमात्र तरीका है जिससे मैं फ़ाइल देख पाऊंगा?
adam_0

1
वैसे फाइल कितनी छोटी है? कुछ भी बाइट्स पर कुछ भी और आप द्विआधारी का उपयोग करके अपना दिमाग खोना शुरू कर देंगे। हेक्स ज्यादातर चीजों के लिए बहुत अधिक मायने रखता है। यदि आप हेक्स के साथ असहज हैं तो बस उन बाइट्स का पता लगाएं जिसमें आप रुचि रखते हैं और एक हेक्स कैलकुलेटर का उपयोग करके उन्हें परिवर्तित करते हैं।
डक

3
मुझे यह सुनिश्चित करने की ज़रूरत है कि मेरी फ़ाइल सही तरीके से संपीड़ित हो रही है और मुझे नहीं पता कि इसे हेक्स में क्या दिखना चाहिए (प्रत्येक इकाई का आकार 7 बिट्स है), इसलिए मुझे हाथ से संख्याओं को क्रंच करना होगा।
adam_0

क्या आपके पास बाइनरी फ़ाइल से पाठ देखने की कोई विधि है? मुझे HEX कोड मिल सकता है, लेकिन मुझे इसे सामान्य मानव पाठ में कैसे डीकोड करना चाहिए?
लुकास लेइसिस

क्या हेक्सडम्प-सी डेटा के उत्पादन के बारे में hexdump -C
cyb0k

69
vi your_filename

मारो esc

:%!xxdहेक्स स्ट्रिंग्स को देखने के लिए टाइप करें, :%!xxd -rसामान्य संपादन पर लौटने के लिए n ।


मैंने :%!xxdअपनी फ़ाइल में अनचाहे अक्षर यानी नई लाइन जोड़ ली है?
क़ाज़ी इरफ़ान


13

यदि आप बाइनरी फाइलें खोलना चाहते हैं (CentOS 7 में):

strings <binary_filename>

IMO यह सभी उत्तरों में सबसे सरल है। काश मैं इसे एक से अधिक बार उखाड़ सकता।
ओलुमाइड

सबसे अच्छा जवाब हाथ नीचे। यह बाइनरी फ़ाइल को JSON फ़ाइल में रूपांतरित करता है। सभी हेरो कैप नहीं पहनते हैं, यह सच है
शुभम पवार

11

sudo apt-get install bless

आशीर्वाद GUI उपकरण है जो देख सकता है, संपादित कर सकता है, खोज कर सकता है और बहुत कुछ कर सकता है। इसका वजन बहुत हल्का है।


1
हाँ। मुझे यह विम से आसान लगा।
पॉल


3
$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c

2
HD "हेक्सडंप-सी" के लिए एक उपनाम है ...?
JAR.JAR.beans 13

@ JAR.JAR.beans हाँ। मैं इसका उपयोग करता हूं क्योंकि यह याद रखना आसान है।
एलेक्सी गाबी

और क्योंकि यह कुछ सिस्टम (डेबियन) पर डिफ़ॉल्ट रूप से मौजूद है।
Aalex Gabi


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.