Amazon Best VPN GoSearch

ไอคอน Fav ของ OnWorks

xxd

เรียกใช้ xxd ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง xxd ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


xxd - ทำ hexdump หรือย้อนกลับ

เรื่องย่อ


xxd -ช่วย]
xxd [ตัวเลือก] [infile [outfile]]
xxd -r[evert] [ตัวเลือก] [infile [outfile]]

DESCRIPTION


xxd สร้างการถ่ายโอนข้อมูลฐานสิบหกของไฟล์ที่กำหนดหรืออินพุตมาตรฐาน นอกจากนี้ยังสามารถแปลงการถ่ายโอนข้อมูลฐานสิบหก
กลับสู่รูปแบบไบนารีเดิม ชอบ uencode(1) และ ยูเดโค้ด(1) ช่วยให้
การส่งข้อมูลไบนารีในรูปแบบ ASCII ที่ "ปลอดภัยต่ออีเมล" แต่มีข้อได้เปรียบ
ของการถอดรหัสเป็นเอาต์พุตมาตรฐาน นอกจากนี้ยังสามารถใช้เพื่อทำการแพตช์ไฟล์ไบนารี

OPTIONS


ถ้าไม่ แฟ้ม จะได้รับ อินพุตมาตรฐานจะถูกอ่าน ถ้า แฟ้ม ถูกกำหนดเป็น `-' อักขระ,
จากนั้นอินพุตจะถูกนำมาจากอินพุตมาตรฐาน ถ้าไม่ ออกจากไฟล์ จะได้รับ (หรือ `-' ตัวอักษรอยู่ใน
ตำแหน่ง) ผลลัพธ์จะถูกส่งไปยังเอาต์พุตมาตรฐาน

โปรดทราบว่ามีการใช้ parser "ขี้เกียจ" ซึ่งไม่ตรวจสอบมากกว่าตัวเลือกแรก
ตัวอักษร เว้นแต่ตัวเลือกจะตามด้วยพารามิเตอร์ ช่องว่างระหว่างตัวเลือกเดียว
ตัวอักษรและพารามิเตอร์เป็นตัวเลือก พารามิเตอร์สำหรับตัวเลือกสามารถระบุเป็นทศนิยม
เลขฐานสิบหกหรือฐานแปด ดังนั้น -c8, -c 8, -c 010 และ -cols 8 มีค่าเท่ากันทั้งหมด

-a | -ออโต้สคิป
สลับ autoskip: '*' เดียวแทนที่ nul-line ค่าเริ่มต้นปิด

-b | -บิต
เปลี่ยนเป็นดัมพ์บิต (เลขฐานสอง) แทนที่จะเป็น hexdump ตัวเลือกนี้เขียน
octets เป็นเลขแปดหลัก "1" และ "0" แทนที่จะเป็นดัมพ์เลขฐานสิบหกปกติ แต่ละ
บรรทัดนำหน้าด้วยหมายเลขบรรทัดในฐานสิบหกและตามด้วย ascii (or
ebcdic) การเป็นตัวแทน บรรทัดคำสั่งเปลี่ยน -r, -p, -i ไม่ทำงานกับสิ่งนี้
โหมด.

-c ปลอกคอ | -cols ปลอกคอ
รูปแบบปลอกคอ> ออกเตตต่อบรรทัด ค่าเริ่มต้น 16 (-i: 12, -ps: 30, -b: 6) สูงสุด 256

-E | -EBCDIC
เปลี่ยนการเข้ารหัสอักขระในคอลัมน์ขวามือจาก ASCII เป็น EBCDIC นี้
ไม่เปลี่ยนการแสดงเลขฐานสิบหก ตัวเลือกไม่มีความหมายใน
ผสมกับ -r, -p หรือ -i

-e เปลี่ยนไปใช้ little-endian hexdump ตัวเลือกนี้ถือว่ากลุ่มไบต์เป็นคำใน
ลำดับไบต์ของ little-endian การจัดกลุ่มเริ่มต้น 4 ไบต์อาจเปลี่ยนแปลงได้โดยใช้ -g.
ตัวเลือกนี้ใช้กับ hexdump เท่านั้น โดยปล่อยให้เป็นตัวแทน ASCII (หรือ EBCDIC)
ไม่เปลี่ยนแปลง บรรทัดคำสั่งเปลี่ยน -r, -p, -i ไม่ทำงานกับโหมดนี้

-g ไบต์ | -ขนาดกลุ่ม ไบต์
แยกเอาท์พุตของทุก ๆไบต์> ไบต์ (อักขระฐานสิบหกสองตัวหรือตัวเลขแปดบิต
แต่ละ) โดยช่องว่าง ระบุ -g 0 เพื่อระงับการรวมกลุ่มไบต์> ค่าเริ่มต้นเป็น 2
ในโหมดปกติ 4 ในโหมด little-endian และ 1 ในโหมดบิต การจัดกลุ่มไม่ได้
นำไปใช้กับคำลงท้ายหรือรวมรูปแบบ

-h | -ช่วยด้วย
พิมพ์สรุปคำสั่งที่มีอยู่และออก ไม่มีการดัมพ์ฐานสิบหก

-i | - รวม
เอาต์พุตใน C รวมถึงรูปแบบไฟล์ มีการเขียนคำจำกัดความอาร์เรย์แบบคงที่ที่สมบูรณ์
(ตั้งชื่อตามไฟล์อินพุต) เว้นแต่ xxd จะอ่านจาก stdin

-l len | - เลน len
หยุดเขียนแล้วlen> ออกเตต

-o ชดเชย
เพิ่มชดเชย> ไปยังตำแหน่งไฟล์ที่แสดง

-p | -ปล | -postscript | -ที่ราบ
เอาต์พุตในรูปแบบ hexdump แบบต่อเนื่อง postscript ยังเป็นที่รู้จักกันในนามรูปแบบ hexdump ธรรมดา

-r | - ย้อนกลับ
การดำเนินการย้อนกลับ: แปลง (หรือแพตช์) hexdump เป็นไบนารี ถ้าไม่เขียนถึง
stdout, xxd เขียนลงในไฟล์เอาต์พุตโดยไม่ตัดทอน ใช้การรวมกัน
-r -p เพื่ออ่านการทิ้งเลขฐานสิบหกธรรมดาโดยไม่มีข้อมูลหมายเลขบรรทัดและไม่มี a
เค้าโครงคอลัมน์เฉพาะ อนุญาตให้เว้นวรรคและตัวแบ่งบรรทัดเพิ่มเติม
ทุกแห่ง

-แสวงหา ชดเชย
เมื่อใช้หลังจาก -r: ย้อนกลับด้วยชดเชย> เพิ่มในตำแหน่งไฟล์ที่พบใน hexdump

-s [+][-]แสวงหา
เริ่มต้นที่ขอ> ไบต์เอบีเอส (หรือ rel.) ออฟเซ็ต infile + แสดงว่าการแสวงหาคือ
สัมพันธ์กับตำแหน่งไฟล์ stdin ปัจจุบัน (ไม่มีความหมายเมื่อไม่ได้อ่านจาก
มาตรฐาน) - บ่งชี้ว่าการแสวงหาควรเป็นอักขระหลายตัวจากจุดสิ้นสุดของ
อินพุต (หรือถ้ารวมกับ +: ก่อนตำแหน่งไฟล์ stdin ปัจจุบัน) ปราศจาก
-s ตัวเลือก xxd เริ่มต้นที่ตำแหน่งไฟล์ปัจจุบัน

-u ใช้อักษรฐานสิบหกตัวพิมพ์ใหญ่ ค่าเริ่มต้นคือตัวพิมพ์เล็ก

-v | -version
แสดงสตริงเวอร์ชัน

คำเตือน


xxd -r มีเวทย์มนตร์ในตัวในขณะที่ประเมินข้อมูลหมายเลขบรรทัด ถ้าผลลัพธ์
สามารถค้นหาไฟล์ได้ดังนั้นผ้าลินินที่จุดเริ่มต้นของแต่ละบรรทัด hexdump อาจออกจาก
ลำดับ เส้นอาจขาดหายไป หรือทับซ้อนกัน ในกรณีเหล่านี้ xxd will ลสิค(2) ต่อไป
ตำแหน่ง. หากค้นหาไฟล์เอาต์พุตไม่ได้ จะอนุญาตเฉพาะช่องว่างเท่านั้น ซึ่งจะถูกเติม
โดยเป็นโมฆะไบต์

xxd -r ไม่เคยสร้างข้อผิดพลาดในการแยกวิเคราะห์ ขยะถูกข้ามไปอย่างเงียบ ๆ

เมื่อแก้ไข hexdumps โปรดทราบว่า xxd -r ข้ามทุกอย่างในบรรทัดอินพุตหลังจาก
อ่านคอลัมน์ข้อมูลฐานสิบหกให้เพียงพอ (ดูตัวเลือก -c) นี่ก็หมายความว่าการเปลี่ยนแปลง
ไปยังคอลัมน์ ascii (หรือ ebcdic) ที่พิมพ์ได้จะถูกละเว้นเสมอ การเปลี่ยนกลับเป็นธรรมดา (หรือ
postscript) สไตล์ hexdump ด้วย xxd -r -p ไม่ขึ้นอยู่กับจำนวนคอลัมน์ที่ถูกต้อง
สิ่งใดก็ตามที่ดูเหมือนเลขฐานสิบหกจะถูกตีความ

สังเกตความแตกต่างระหว่าง
% xxd -i ไฟล์
และ
% xxd -i < ไฟล์

xxd -s +แสวงหา อาจจะแตกต่างจาก xxd -s ขอเป็น ลสิค(2) ใช้เพื่อ "กรอกลับ" อินพุต NS
'+' สร้างความแตกต่างหากแหล่งอินพุตเป็น stdin และหากตำแหน่งไฟล์ของ stdin ไม่ใช่
ที่จุดเริ่มต้นของไฟล์ตามเวลาที่ xxd เริ่มทำงานและได้รับการป้อนข้อมูล ต่อไปนี้
ตัวอย่างอาจช่วยชี้แจง (หรือทำให้สับสนมากขึ้น!)...

กรอกลับ stdin ก่อนอ่าน; จำเป็นเพราะ `cat' ได้อ่านจนจบ
มาตรฐาน
% sh -c "แมว > สำเนาธรรมดา; xxd -s 0 > hex_copy" < ไฟล์

Hexdump จากตำแหน่งไฟล์ 0x480 (=1024+128) เป็นต้นไป เครื่องหมาย `+' หมายถึง "สัมพันธ์กับ
ตำแหน่งปัจจุบัน" ดังนั้น `128' จะเพิ่มเป็น 1k โดยที่ dd ค้างไว้
% sh -c " dd ของ=plain_snippet บีเอส=1k นับ=1; xxd -s +128 > hex_snippet" < ไฟล์

Hexdump จากตำแหน่งไฟล์ 0x100 ( = 1024-768) เปิดอยู่
% sh -c " dd ของ=plain_snippet บีเอส=1k นับ=1; xxd -s + -768 > hex_snippet" < ไฟล์

อย่างไรก็ตาม นี่เป็นสถานการณ์ที่ไม่ค่อยเกิดขึ้น และแทบไม่ต้องใช้ `+' ผู้เขียนชอบ
เพื่อตรวจสอบผลกระทบของ xxd ด้วย สเตรซ(1) หรือ มัด(1) ทุกครั้งที่ใช้ -s

ตัวอย่าง


พิมพ์ทุกอย่างยกเว้นสามบรรทัดแรก (ฐานสิบหก 0x30 ไบต์) ของ ไฟล์.
% xxd -s 0x30 ไฟล์

พิมพ์ 3 บรรทัด (ฐานสิบหก 0x30 ไบต์) จากจุดสิ้นสุดของ ไฟล์.
% xxd -s -0x30 ไฟล์

พิมพ์ 120 ไบต์เป็น hexdump แบบต่อเนื่องด้วย 20 ออคเต็ตต่อบรรทัด
% xxd -l 120 -ปล -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567

Hexdump 120 ไบต์แรกของ man page นี้ด้วย 12 octets ต่อบรรทัด
% xxd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 สิงหาคม 1996"
0000018: 224d 616e 7561 6c20 7061 6765 "หน้าคู่มือ
0000024: 2066 6f72 2078 7864 220a 2e5c สำหรับ xxd"..\
0000030: 220a 2e5c 2220 3231 7374 204d "..\" วันที่ 21
000003c: 6179 2031 3939 360a 2e5c 2220 ปี 1996..\"
0000048: 4d61 6e20 7061 6765 2061 7574 หน้าคนอัตโนมัติ
0000054: 686f 723a 0a2e 5c22 2020 ห:..\"
0000060: 546f 6e79 204e 7567 656e 7420 โทนี่ นูเจนต์
000006c: 3c74 6f6e 7940 7363 746e 7567

แสดงเฉพาะวันที่จากไฟล์ xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21 พฤษภาคม 1996

คัดลอก อินพุต_ไฟล์ ไปยัง เอาต์พุต_ไฟล์ และนำหน้า 100 ไบต์ของค่า 0x00
% xxd อินพุต_ไฟล์ | xxd -r -s 100 > เอาต์พุต_ไฟล์

แก้ไขวันที่ในไฟล์ xxd.1
% เสียงสะท้อน "0000037: 3574 68 " | xxd -r - xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25 พฤษภาคม 1996

สร้างไฟล์ 65537 ไบต์ที่มีไบต์ทั้งหมด 0x00 ยกเว้นไฟล์สุดท้ายคือ 'A' (ฐานสิบหก
0x41)
% เสียงสะท้อน "010000: 41 " | xxd -r > ไฟล์

Hexdump ไฟล์นี้ด้วย autoskip
% xxd -a -c 12 ไฟล์
0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 ....อา

สร้างไฟล์ขนาด 1 ไบต์ที่มีอักขระ 'A' ตัวเดียว ตัวเลขหลัง '-r -s' จะเพิ่มไปยัง
ผ้าลินินที่พบในแฟ้ม; ผล ไบต์นำจะถูกระงับ
% เสียงสะท้อน "010000: 41 " | xxd -r -s -0x10000 > ไฟล์

ใช้ xxd เป็นตัวกรองภายในตัวแก้ไข เช่น เป็นกลุ่ม(1) เพื่อ hexdump พื้นที่ที่ทำเครื่องหมายระหว่าง `a'
และ `z'
:'a,'z!xxd

ใช้ xxd เป็นตัวกรองภายในตัวแก้ไข เช่น เป็นกลุ่ม(1) เพื่อกู้คืน hexdump ไบนารีที่ทำเครื่องหมาย
ระหว่าง 'a' และ 'z'
:'a,'z!xxd -r

ใช้ xxd เป็นตัวกรองภายในตัวแก้ไข เช่น เป็นกลุ่ม(1) เพื่อกู้คืน hexdump หนึ่งบรรทัด
เลื่อนเคอร์เซอร์ไปที่บรรทัดแล้วพิมพ์:
!!xxd -r

อ่านอักขระตัวเดียวจากบรรทัดอนุกรม
% xxd -c1 < /dev/term/b &
% สติ < /dev/term/b -เสียงสะท้อน -opost -ไอซิก -ไอแคนนอน นาที 1
% เสียงสะท้อน -n foo > /dev/term/b

กลับ VALUES


ค่าความผิดพลาดต่อไปนี้จะถูกส่งกลับ:

0 ไม่พบข้อผิดพลาด

-1 ไม่รองรับการทำงาน ( xxd -r -i ยังเป็นไปไม่ได้)

เกิดข้อผิดพลาด 1 รายการขณะแยกวิเคราะห์ตัวเลือก

2 ปัญหาเกี่ยวกับไฟล์อินพุต

3 ปัญหาเกี่ยวกับไฟล์เอาต์พุต

ไม่สามารถเข้าถึงตำแหน่งการค้นหาที่ต้องการได้ 4,5

ใช้ xxd ออนไลน์โดยใช้บริการ onworks.net


Ad




×
โฆษณา
❤️ช้อป จอง หรือซื้อที่นี่โดยไม่เสียค่าใช้จ่าย ช่วยให้บริการต่างๆ ฟรี