วิธีการดูไฟล์ในไบนารีจากทุบตี?


289

ฉันต้องการดูเนื้อหาของไฟล์ในไดเรกทอรีปัจจุบัน แต่ในรูปแบบไบนารีจากบรรทัดคำสั่ง ฉันจะบรรลุสิ่งนี้ได้อย่างไร

คำตอบ:


492

xxd ทำทั้งไบนารีและเลขฐานสิบหก

bin:

xxd -b file

ฐานสิบหก:

xxd file

13
sudo xxd /dev/diskn | lessตอนนี้เป็นสิ่งที่ฉันโปรดปรานใหม่
krs013

6
... และติดตั้งไว้แล้วใน Mac OS X และบน Linux
Sridhar Sarnobat

1
สิ่งนี้มีข้อดีเหนือกว่า "hexdump" ที่แสดงแบบฟอร์ม ASCII ที่ด้านข้างทำให้ง่ายต่อการระบุตำแหน่งที่ฉันต้องการดู
Paŭlo Ebermann

1
และการถ่ายโอนข้อมูลไปยังไฟล์ข้อความ ASCII สำหรับการตรวจสอบและค้นหา:xxd file > hex_dump_of_file.txt
Gabriel Staples

a supplment: xxd ไม่เพียง แต่สำหรับ linux shell ฉันคิดว่ามันมาพร้อมกับเสียงเรียกเข้า ฉันเป็นกลุ่มติดตั้งบน windows และฉันเพิ่งพบว่าฉันสามารถใช้ xxd ใน windows ได้เช่นกัน
Tiina

182
hexdump -C yourfile.bin

เว้นแต่ว่าคุณต้องการแก้ไขแน่นอน distros linux ส่วนใหญ่มีhexdumpค่าเริ่มต้น (แต่ไม่ชัดเจนทั้งหมด)


1
ฉันชอบความคิดนี้ แต่ชอบคำแนะนำอื่น ๆ มันให้ผลลัพธ์แบบเลขฐานสิบหกเท่านั้น เห็นได้ชัดว่านี่มีขนาดกะทัดรัดกว่าไบนารีมาก แต่ฉันกำลังจัดการกับไฟล์ขนาดเล็กมากดังนั้นจึงเป็นที่ต้องการไบนารี ฐานสิบหกเป็นวิธีเดียวที่ฉันจะสามารถดูไฟล์ได้หรือไม่
adam_0

1
ไฟล์มีขนาดเล็กแค่ไหน? มีอะไรเกินสองสามไบต์และคุณจะเริ่มเสียสมาธิโดยใช้ไบนารี่อยู่ดี Hex ทำสิ่งต่างๆได้ดีกว่ามาก หากคุณรู้สึกไม่สบายใจกับ hex เพียงแค่ค้นหาจำนวนไบต์ที่คุณสนใจแล้วแปลงเป็นเลขฐานสิบหก
Duck

3
ฉันต้องแน่ใจว่าไฟล์ของฉันบีบอัดอย่างถูกต้องและฉันไม่รู้ว่ามันควรเป็นเลขฐานสิบหก (ขนาดของแต่ละหน่วยคือ 7 บิต) ดังนั้นฉันจะต้องบีบตัวเลขด้วยมือ
adam_0

คุณมีวิธีใดที่จะเห็นข้อความจากไฟล์ไบนารีหรือไม่ ฉันสามารถรับรหัส HEX ได้ แต่ฉันจะถอดรหัสเป็นข้อความปกติของมนุษย์ได้อย่างไร
Lukas Liesis

สิ่งที่เกี่ยวกับการส่งออกของ hexdump -C data.bin | hexdump -C
cyb0k

70
vi your_filename

ตี esc

พิมพ์:%!xxdเพื่อดูสตริง hex, n :%!xxd -rเพื่อกลับไปแก้ไขตามปกติ


ฉันพบ:%!xxdการเพิ่มตัวละครที่ไม่ต้องการเช่นบรรทัดใหม่ในไฟล์ของฉัน?
Quazi Irfan


13

หากคุณต้องการเปิดไฟล์ไบนารี (ใน CentOS 7):

strings <binary_filename>

IMO นี่เป็นคำตอบที่ง่ายที่สุดและสวยงามที่สุด ฉันหวังว่าฉันจะสามารถลงคะแนนมากกว่าหนึ่งครั้ง
Olumide

คำตอบที่ดีที่สุด สิ่งนี้จะแปลงไฟล์ไบนารีเป็นไฟล์ JSON ไม่ใช่ทุกคนสวมเสื้อคลุมนั่นเป็นเรื่องจริง
Shubham Pawar

11

sudo apt-get install bless

Bless เป็นเครื่องมือ GUI ที่สามารถดูแก้ไขค้นหาและอื่น ๆ อีกมากมาย น้ำหนักเบามาก


1
ใช่. ฉันพบว่าสิ่งนี้ง่ายกว่า Vim
Paulb


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

2
hd เป็นชื่อแทน "hexdump -C" ... ?
JAR.JAR.beans

@ JAR.JAR.beans ใช่แน่นอน ฉันใช้เพราะจำได้ง่ายกว่า
Aalex Gabi

และเนื่องจากมันเป็นค่าเริ่มต้นในบางระบบ (Debian)
Aalex Gabi


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.