Hexdump - คำสั่ง Linux - คำสั่ง Unix

ชื่อ

hexdump - ascii, ทศนิยม, เลขฐานสิบหก, การถ่ายโอนข้อมูลแบบ octal

สรุป

[- bcCdovx ] -words [- e format_string ] -words [- f format_file ] -words [- n ความยาว ] -words [- s skip ] ไฟล์ ...

ลักษณะ

อรรถประโยชน์ hexdump เป็นตัวกรองที่แสดงไฟล์ที่ระบุหรืออินพุตมาตรฐานหากไม่มีการระบุไฟล์ในรูปแบบที่ผู้ใช้ระบุ

ตัวเลือกมีดังนี้:

-b

แสดงไบต์ ป้อนข้อมูลใน hexadecimal ตามด้วยช่องว่างที่ป้อนด้วยข้อมูลไบนารีสามคอลัมน์โดยไม่มีข้อมูลศูนย์

-c

การแสดงตัวอักษรแบบไบต์เดี่ยวแสดง ค่าการนำเข้าในรูปแบบเลขฐานสิบหกตามด้วยช่องว่างที่คั่นด้วยช่องว่างหกช่องสามคอลัมน์ช่องว่างที่ว่างไว้อักขระข้อมูลป้อนข้อมูลต่อบรรทัด

-C

การแสดงผลของ hex + ASCII แสดง ข้อมูลการป้อนค่าออฟเซ็ตในเลขฐานสิบหกตามด้วยสิบหกที่คั่นด้วยช่องว่างสองคอลัมน์ไบต์เลขฐานสิบหกตามด้วยสิบหกไบต์เดียวกันในรูปแบบ% _p ที่อยู่ใน `` | '' ตัวอักษร

-d

แสดงไบต์สองไบต์แสดง ค่าการนำเข้าในรูปเลขฐานสิบหกตามด้วยช่องข้อมูลที่ป้อนข้อมูลสองไบต์ที่มีช่องว่างจำนวน 5 คอลัมน์และไม่มีข้อมูลเป็นศูนย์ซึ่งมีจุดทศนิยมไม่เป็นลายลักษณ์อักษรต่อบรรทัด

-e format_string

ระบุสตริงรูปแบบที่จะใช้สำหรับแสดงข้อมูล

-f format_file

ระบุไฟล์ที่มีสตริงรูปแบบใหม่ที่แยกออกจากกันอย่างน้อยหนึ่งบรรทัด บรรทัดว่างและบรรทัดที่มีอักขระที่ไม่เว้นวรรคตัวแรกเป็นเครื่องหมายแฮช ( # จะถูกละเว้น

-n ยาว

ตีความไบต์ข้อมูล ความยาว เพียงอย่างเดียว

-o

แสดงไบต์สองไบต์แสดง ค่าการนำเข้าในรูปเลขฐานสิบหกตามด้วยข้อมูลปริมาณที่ป้อนข้อมูลสองไบต์หกคอลัมน์ข้อมูลศูนย์ป้อนข้อมูลเป็นสองไบต์ในรูปแบบเลขฐานแปดต่อบรรทัด

- ชดเชย

ข้ามไบต์ ออฟเซต จากจุดเริ่มต้นของการป้อนข้อมูล ค่าดีฟอลต์ถูกตีความว่าเป็นตัวเลขทศนิยม ด้วยการ ชดเชย 0x หรือ 0X ชั้นนำจะแปลเป็นตัวเลขเลขฐานสิบหกหรือมิฉะนั้นจะมีการแปล ค่าออฟเซต เป็น 0 เป็นค่าฐานแปด การเพิ่มอักขระ b k หรือ m เพื่อ ชดเชย จะทำให้ถูกตีความว่าเป็นตัวเลข 512 1024 หรือ 1048576 ตามลำดับ

-v

ตัวเลือก - v ทำให้เกิด hexdump เพื่อแสดงข้อมูลการป้อนข้อมูลทั้งหมด ถ้าไม่มีตัวเลือก - v จำนวนกลุ่มของสายการผลิตซึ่งจะเหมือนกับกลุ่มของสายการผลิตก่อนหน้า (ยกเว้นการชดเชยการรับเข้า) จะถูกแทนที่ด้วยเส้นประกอบด้วยเครื่องหมายดอกจัน

-x

แสดงไบต์สองไบต์แสดง ข้อมูลการป้อนค่าออฟเซตในฐานสิบหกตามด้วยแปดช่องว่างช่องสี่คอลัมน์ศูนย์ป้อนข้อมูลป้อนไบต์สองไบต์เลขฐานสิบหกต่อบรรทัด

สำหรับแต่ละไฟล์อินพุตจะทำการคัดลอกอินพุตไปยังเอาท์พุทมาตรฐานโดยปกติแล้วเปลี่ยนข้อมูลตามสตริงรูปแบบที่ระบุโดยตัวเลือก - e และ - f ตามลำดับที่ระบุ

รูปแบบ

สตริงรูปแบบมีจำนวนหน่วยจัดรูปแบบโดยคั่นด้วยช่องว่าง หน่วยจัดรูปแบบมีรายการไม่เกินสามรายการ: จำนวนการนับซ้ำการนับไบต์และรูปแบบ

การนับซ้ำเป็นจำนวนเต็มบวกที่เป็นตัวเลือกซึ่งเริ่มต้นเป็นค่าเดียว แต่ละรูปแบบจะใช้เวลานับซ้ำ

จำนวนไบต์เป็นจำนวนเต็มบวกที่เป็นตัวเลือก หากระบุไว้จะกำหนดจำนวนไบต์ที่จะตีความโดยการย้ำแต่ละรูปแบบ

ถ้ามีการนับซ้ำและ / หรือนับ ไบต์ เครื่องหมายทับเดียวจะต้องวางไว้หลังการคำนวณซ้ำและ / หรือก่อนที่จะนับไบต์

ช่องว่างใด ๆ ก่อนหรือหลังเครื่องหมายทับจะถูกละเว้น

ต้องระบุรูปแบบและต้องล้อมรอบด้วยเครื่องหมายอัญประกาศ ("") มันถูกตีความว่าเป็นรูปแบบ fprintf สตริง (ดู fprintf (3)) มีข้อยกเว้นดังต่อไปนี้:

Hexdump ยังสนับสนุนสตริงการแปลงเพิ่มเติมต่อไปนี้:

_a [ dox ]

แสดงอินพุทออฟฟิวชันไฟล์ข้ามอินพุตของไบต์ถัดไปที่จะแสดง อักขระที่ต่อท้าย d o และ x ระบุฐานการแสดงผลเป็นทศนิยม, เลขฐานแปดหรือเลขฐานสิบหกตามลำดับ

_A [ dox ]

เหมือนกับสายอักขระการแปลง _a ยกเว้นว่าจะดำเนินการเพียงครั้งเดียวเมื่อข้อมูลอินพุตทั้งหมดได้รับการประมวลผล

_C

เอาต์พุตอักขระในชุดอักขระเริ่มต้น อักขระที่ไม่พิมพ์ออกมาจะแสดงเป็นตัวพิมพ์ใหญ่สามตัวยกเว้นฐานรองที่เบี่ยงออกจากศูนย์ยกเว้นอักขระที่สามารถแสดงได้ด้วยสัญกรณ์การหลบหนีมาตรฐาน (ดูด้านบน) ซึ่งจะแสดงเป็นสตริงอักขระสองตัว

_P

เอาต์พุตอักขระในชุดอักขระเริ่มต้น อักขระที่ไม่พิมพ์ออกมาจะแสดงเป็น `` เดียว `` ''

_ยู

พิมพ์อักขระ ASCII ของสหรัฐอเมริกาโดยยกเว้นว่าอักขระควบคุมจะปรากฏขึ้นโดยใช้ชื่อย่อและชื่อที่ต่ำกว่า อักขระที่มากกว่า 0xff หกหลักจะแสดงเป็นสตริงเลขฐานสิบหก

000 nul 001 soh 002 stx 003 etx 004 eot 005 enq

006 ack 007 bel 008 bs 009 ht 00A lf 00B vt

00C ff 00D cr 00E ดังนั้น 00F si 010 dle 011 dc1

012 dc2 013 dc3 014 dc4 015 nak 016 syn 017 etb

018 สามารถ 019 em 01A sub 01B esc 01C fs 01D gs

01E rs 01F us 0FF del

การนับค่าเริ่มต้นและการสนับสนุนไบต์สำหรับอักขระ Conversion มีดังนี้:

% _c,% _p,% _u,% c

จำนวนไบต์เดียวเท่านั้น

% d,% i,% o % u,% X,% x

ค่าดีฟอลต์ไบต์ที่สี่หนึ่งไบต์นับเป็นหนึ่งไบต์

% E,% e,% f % G,% g

ค่าดีฟอลต์แปดไบต์มีการสนับสนุนไบต์สี่ไบต์

จำนวนข้อมูลที่ตีความโดยสตริงรูปแบบแต่ละชุดคือจำนวนรวมของข้อมูลที่ต้องการโดยแต่ละหน่วยรูปแบบซึ่งเป็นจำนวนการนับซ้ำนับไบต์หรือจำนวนการนับซ้ำจำนวนไบต์ตามรูปแบบถ้าจำนวนไบต์ไม่ได้ ที่ระบุ

อินพุตถูกจัดการใน `` blocks '' โดยที่ block ถูกกำหนดเป็นจำนวนข้อมูลที่ใหญ่ที่สุดที่ระบุโดยสตริงรูปแบบใด ๆ จัดรูปแบบสตริงการตีความน้อยกว่ามูลค่าข้อมูลของบล็อกอินพุตที่มีหน่วยรูปแบบสุดท้ายทั้งแปลค่าจำนวนไบต์บางส่วนและไม่มีการนับซ้ำที่ระบุมีจำนวนการทำซ้ำที่เพิ่มขึ้นจนกว่าจะมีการประมวลผลบล็อกการป้อนข้อมูลทั้งหมดหรือมีข้อมูลไม่เพียงพอ ที่เหลืออยู่ในบล็อกเพื่อตอบสนองรูปแบบสตริง

ถ้าเป็นไปตามข้อกำหนดของผู้ใช้หรือ hexdump การแก้ไขจำนวนซ้ำตามที่อธิบายไว้ข้างต้นจำนวนการวนซ้ำมากกว่าหนึ่งตัวไม่มีอักขระช่องว่างที่ต่อท้ายจะถูกส่งออกในระหว่างการย้ำครั้งล่าสุด

เป็นข้อผิดพลาดในการระบุจำนวนไบต์รวมทั้งอักขระหรือสตริงที่มีการแปลงหลายอักขระยกเว้นอักขระการแปลงหรือสตริงทั้งหมดซึ่งเป็นอักขระ _a หรือ _A

หากข้อมูลที่ป้อนเข้าเพียงอย่างเดียวจะเป็นไปตามรูปแบบสตริงการป้อนข้อมูลจะเบาบางลงพอที่จะแสดงข้อมูลทั้งหมดที่มีอยู่ (เช่นหน่วยรูปแบบใด ๆ ที่ทับซ้อนกัน) การสิ้นสุดข้อมูลจะแสดงจำนวนไบต์เป็นศูนย์)

เอาท์พุทเพิ่มเติมโดยสตริงรูปแบบดังกล่าวจะถูกแทนที่ด้วยจำนวนช่องว่างที่เท่ากัน จำนวนช่องว่างที่เทียบเท่ากันจะถูกกำหนดให้เป็นจำนวนช่องว่างที่เอาท์พุตโดยตัวแปลงสัญญาณที่มีความกว้างของฟิลด์เดียวกันและความแม่นยำเท่ากับอักขระแปลงต้นฉบับหรือสายอักขระการแปลง แต่มี `` + '' `` `` # '' อักขระธงแปลงและลบสตริงที่เป็นค่าเป็น NULL

หากไม่มีการระบุสตริงรูปแบบการแสดงผลเริ่มต้นจะเท่ากับการระบุตัวเลือก - x

ออกจาก 0 ในความสำเร็จและ> 0 หากเกิดข้อผิดพลาดขึ้น

ตัวอย่าง

แสดงอินพุทในรูปแบบการตรวจสอบ:

"% 06.6_ao" 12/1 "% 3_u" "\ t \ t" "% _p" "\ n"

ใช้ตัวเลือก -x:

"% 07.7_Ax \ n" "% 07.7_ax" 8/2 "% 04x" "\ n"

มาตรฐาน

ยูทิลิตี้นี้คาดว่าจะเข้ากันได้กับ St -p1003.2