hexdump - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ hexdump ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


hexdump, hd — ASCII, ທົດສະນິຍົມ, ເລກຖານສິບຫົກ, dump octal

ສະຫຼຸບສັງລວມ


hexdump [-bcCdovx] [-e format_string] [-f format_file] [-n ຄວາມຍາວ] [-s ຂ້າມ] ເອກະສານ ...
hd [-bcdovx] [-e format_string] [-f format_file] [-n ຄວາມຍາວ] [-s ຂ້າມ] ເອກະສານ ...

ລາຍລະອຽດ


ໄດ້ hexdump ຜົນປະໂຫຍດແມ່ນຕົວກອງທີ່ສະແດງໄຟລ໌ທີ່ລະບຸໄວ້, ຫຼືວັດສະດຸປ້ອນມາດຕະຖານ,
ຖ້າບໍ່ມີໄຟລ໌ໃດຖືກລະບຸ, ໃນຮູບແບບທີ່ຜູ້ໃຊ້ລະບຸ.

ຕົວເລືອກມີດັ່ງນີ້:

-b ນຶ່ງໄບ ແປດ ການສະແດງ. ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນເປັນເລກຖານສິບຫົກ, ຕາມດ້ວຍ
ສິບຫົກຊ່ອງແຍກ, ສາມຖັນ, ເຕັມສູນ, ໄບຕ໌ຂອງຂໍ້ມູນການປ້ອນຂໍ້ມູນ, ໃນເລກແປດ,
ຕໍ່ເສັ້ນ.

-c ນຶ່ງໄບ ລັກສະນະ ການສະແດງ. ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນເປັນເລກຖານສິບຫົກ, ຕາມດ້ວຍ
ສິບຫົກຊ່ອງແຍກ, ສາມຖັນ, ຊ່ອງຫວ່າງ, ລັກສະນະການປ້ອນຂໍ້ມູນຕໍ່
ເສັ້ນ.

-C Canonical hex+ASCII ການສະແດງ. ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນເປັນເລກຖານສິບຫົກ, ຕາມດ້ວຍ
ສິບຫົກຊ່ອງແຍກ, ສອງຖັນ, ເລກຖານສິບຫົກ bytes, ຕາມດ້ວຍສິບຫົກດຽວກັນ
bytes ໃນຮູບແບບ %_p ຫຸ້ມດ້ວຍຕົວອັກສອນ ``|''.

ໂທຫາຄໍາສັ່ງ hd ຫມາຍເຖິງທາງເລືອກນີ້.

-d ສອງໄບ decimal ການສະແດງ. ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນເປັນເລກຖານສິບຫົກ, ຕາມດ້ວຍ
ແປດຊ່ອງແຍກ, ຫ້າຖັນ, ເຕັມສູນ, ສອງໄບຕ໌ຂອງຂໍ້ມູນປ້ອນຂໍ້ມູນ, ໃນ
ທົດສະນິຍົມທີ່ບໍ່ມີລາຍເຊັນ, ຕໍ່ແຖວ.

-e format_string
ລະບຸຮູບແບບສະຕຣິງທີ່ຈະໃຊ້ເພື່ອສະແດງຂໍ້ມູນ.

-f format_file
ລະບຸໄຟລ໌ທີ່ມີໜຶ່ງ ຫຼືຫຼາຍສາຍຮູບແບບທີ່ແຍກອອກ. ຫວ່າງເປົ່າ
ເສັ້ນ ແລະ ເສັ້ນ ທີ່ ມີ ລັກ ສະ ນະ ທີ່ ບໍ່ ແມ່ນ ເປົ່າ ຫວ່າງ ທໍາ ອິດ ແມ່ນ ເຄື່ອງ ຫມາຍ hash (#) ຖືກ​ລະ​ເລີຍ​.

-n ຄວາມຍາວ
ແປເທົ່ານັ້ນ ຄວາມຍາວ bytes ຂອງການປ້ອນຂໍ້ມູນ.

-o ສອງໄບ ແປດ ການສະແດງ. ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນເປັນເລກຖານສິບຫົກ, ຕາມດ້ວຍແປດ
space-separated, six column, zero-filled, two byte quantities of input data , ໃນ
ເລກແປດ, ຕໍ່ແຖວ.

-s ຊົດເຊີຍ
ຂ້າມ ຊົດເຊີຍ bytes ຈາກຈຸດເລີ່ມຕົ້ນຂອງການປ້ອນຂໍ້ມູນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຊົດເຊີຍ is
ແປເປັນຕົວເລກທົດສະນິຍົມ. ດ້ວຍການນໍາ 0x or 0X, ຊົດເຊີຍ ຖືກຕີຄວາມວ່າ
ເລກຖານສິບຫົກ, ຖ້າບໍ່ດັ່ງນັ້ນ, ດ້ວຍການນຳໜ້າ 0, ຊົດເຊີຍ ຖືກຕີຄວາມວ່າເປັນເລກແປດ
ເລກ. ຕໍ່ທ້າຍລັກສະນະ b, k, ຫຼື m to ຊົດເຊີຍ ເຮັດໃຫ້ມັນຖືກຕີຄວາມວ່າເປັນ
ຄູນຂອງ 512, 1024, ຫຼື 1048576, ຕາມລໍາດັບ.

-v ເຫດຜົນ hexdump ເພື່ອສະແດງຂໍ້ມູນການປ້ອນຂໍ້ມູນທັງໝົດ. ໂດຍບໍ່ມີການ -v ທາງເລືອກ, ຈໍານວນຂອງ
ກຸ່ມຂອງສາຍຜົນຜະລິດ, ເຊິ່ງຈະຄືກັນກັບກຸ່ມກ່ອນຫນ້າທັນທີ
ຂອງເສັ້ນຜົນຜະລິດ (ຍົກເວັ້ນສໍາລັບການຊົດເຊີຍການປ້ອນ), ຖືກແທນທີ່ດ້ວຍເສັ້ນທີ່ປະກອບດ້ວຍ
ຂອງດາວດວງດຽວ.

-x ສອງໄບ ເລກຖານສິບຫົກ ການສະແດງ. ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນເປັນເລກຖານສິບຫົກ, ຕາມດ້ວຍ
ແປດ, ຊ່ອງແຍກ, ສີ່ຖັນ, ເຕັມສູນ, ສອງໄບຕ໌ຂອງຂໍ້ມູນປ້ອນຂໍ້ມູນ,
ໃນເລກຖານສິບຫົກ, ຕໍ່ແຖວ.

ສໍາລັບແຕ່ລະໄຟລ໌ປ້ອນຂໍ້ມູນ, hexdump ສືບ​ຕໍ່​ຄັດ​ລອກ​ການ​ນໍາ​ເຂົ້າ​ກັບ​ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​, ການ​ຫັນ​ປ່ຽນ​
ຂໍ້​ມູນ​ຕາມ​ສະ​ຕ​ຣິງ​ຮູບ​ແບບ​ທີ່​ລະ​ບຸ​ໄວ້​ໂດຍ​ -e ແລະ -f ທາງເລືອກ, ໃນຄໍາສັ່ງ
ທີ່ເຂົາເຈົ້າໄດ້ຖືກລະບຸໄວ້.

ຮູບແບບ
ສະຕຣິງຮູບແບບມີຫົວໜ່ວຍຮູບແບບໃດນຶ່ງ, ແຍກດ້ວຍຍະຫວ່າງ. ຫົວໜ່ວຍຮູບແບບ
ປະກອບມີເຖິງສາມລາຍການ: ການນັບຊໍ້າຄືນ, ການນັບໄບຕ໌, ແລະຮູບແບບ.

ການນັບຊ້ຳແມ່ນຈຳນວນເຕັມບວກທາງເລືອກ, ເຊິ່ງຄ່າເລີ່ມຕົ້ນເປັນອັນໜຶ່ງ. ແຕ່ລະຮູບແບບແມ່ນ
ນຳໃຊ້ການນັບເທື່ອ.

ການນັບໄບຕ໌ເປັນຈຳນວນເຕັມບວກທາງເລືອກ. ຖ້າລະບຸມັນກໍານົດຈໍານວນຂອງ bytes
ຈະຖືກຕີຄວາມໝາຍໂດຍການເຮັດຊ້ຳຂອງແຕ່ລະຮູບແບບ.

ຖ້າການນັບຊໍ້າຄືນ ແລະ/ຫຼືການນັບໄບຕ໌ຖືກລະບຸ, ຈະຕ້ອງວາງທັບຊ້ອນທ້າຍອັນດຽວ
ການນັບການຊໍ້າຄືນ ແລະ/ຫຼື ກ່ອນການນັບ byte ເພື່ອ disambiguate ເຂົາເຈົ້າ. ຊ່ອງຫວ່າງໃດນຶ່ງ
ກ່ອນ ຫຼືຫຼັງຈາກເຄື່ອງໝາຍຖືກລະເລີຍ.

ຮູບແບບແມ່ນຕ້ອງການແລະຕ້ອງຖືກອ້ອມຮອບດ້ວຍເຄື່ອງຫມາຍ double quote (" "). ມັນ​ແມ່ນ
ແປເປັນສະຕຣິງຮູບແບບ fprintf (ເບິ່ງ fprintf(3)), ມີດັ່ງຕໍ່ໄປນີ້
ຂໍ້ຍົກເວັ້ນ:

· ເຄື່ອງໝາຍດາວ (*) ອາດຈະບໍ່ຖືກໃຊ້ເປັນຄວາມກວ້າງຂອງຊ່ອງຂໍ້ມູນ ຫຼື ຄວາມຊັດເຈນ.

· ການນັບໄບຕ໌ ຫຼື ຄວາມແມ່ນຍໍາຂອງຊ່ອງຂໍ້ມູນ is ຕ້ອງການສໍາລັບແຕ່ລະຕົວປ່ຽນ ``s''
(ບໍ່ເຫມືອນກັບ fprintf(3) ຄ່າເລີ່ມຕົ້ນທີ່ພິມສາຍທັງໝົດຖ້າຄວາມແມ່ນຍໍາ
ບໍ່ໄດ້ລະບຸ).

· ຕົວປ່ຽນຕົວອັກສອນ ``%'', ``h'', ``l'', ``n'', ``p'' ແລະ ``q'' ບໍ່ແມ່ນ.
ສະຫນັບສະຫນູນ.

· ລໍາດັບການຫລົບຫນີຕົວອັກສອນດຽວທີ່ອະທິບາຍໄວ້ໃນມາດຕະຖານ C ແມ່ນສະຫນັບສະຫນູນ:

NUL \0
\a
\b
\f
\n
\r
\t
\v

ໄດ້ hexdump ຜົນປະໂຫຍດຍັງສະຫນັບສະຫນູນການປ່ຽນສະຕຣິງເພີ່ມເຕີມຕໍ່ໄປນີ້:

_a[dox] ສະແດງການຊົດເຊີຍການປ້ອນຂໍ້ມູນ, ສະສົມໃນທົ່ວໄຟລ໌ປ້ອນ, ຂອງໄບຕ໌ຕໍ່ໄປທີ່ຈະເປັນ
ສະແດງ. ຕົວ​ອັກ​ສອນ​ຕໍ່​ທ້າຍ​ d, o, ແລະ x ລະບຸພື້ນຖານການສະແດງເປັນ
ເລກທົດສະນິຍົມ, ເລກແປດ ຫຼືເລກຖານສິບຫົກຕາມລໍາດັບ.

_A[dox] ຄ້າຍຄືກັນກັບ _a string ການ​ປ່ຽນ​ແປງ​ຍົກ​ເວັ້ນ​ແຕ່​ວ່າ​ມັນ​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ພຽງ​ແຕ່​ຄັ້ງ​ດຽວ​,
ເມື່ອຂໍ້ມູນການປ້ອນຂໍ້ມູນທັງໝົດໄດ້ຖືກປະມວນຜົນແລ້ວ.

_c ອອກຕົວອັກສອນໃນຊຸດຕົວອັກສອນເລີ່ມຕົ້ນ. ຕົວອັກສອນທີ່ບໍ່ພິມແມ່ນ
ສະແດງເປັນສາມຕົວອັກສອນ, ເລກແປດເລກສູນ, ຍົກເວັ້ນຕົວອັກສອນທີ່ເປັນຕົວແທນ
ໂດຍມາດຕະຖານ escape notation (ເບິ່ງຂ້າງເທິງ), ເຊິ່ງສະແດງເປັນສອງລັກສະນະ
ເຊືອກ.

_p ອອກຕົວອັກສອນໃນຊຸດຕົວອັກສອນເລີ່ມຕົ້ນ. ຕົວອັກສອນທີ່ບໍ່ພິມແມ່ນ
ສະແດງເປັນອັນດຽວ “.".

_u ສົ່ງອອກຕົວອັກສອນ 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 SO 00F SI 010 DLE 011 DC1
012 DC2 013 DC3 014 DC4 015 NAK 016 SYN 017 ETB
018 CAN 019 EM 01A SUB 01B ESC 01C FS 01D GS
01E RS 01F US 07F DEL

ຄ່າເລີ່ມຕົ້ນ ແລະຈຳນວນ byte ທີ່ຮອງຮັບສຳລັບຕົວປ່ຽນຕົວໜັງສືມີດັ່ງນີ້:

%_c, %_p, %_u, %c ຫນຶ່ງໄບຕ໌ນັບເທົ່ານັ້ນ.

%d, %i, %o, %u, %X, %x ຄ່າເລີ່ມຕົ້ນສີ່ໄບຕ໌, ຮອງຮັບການນັບໜຶ່ງ, ສອງ ແລະສີ່ໄບຕ໌.

%E, %e, %f, %G, %g ຄ່າເລີ່ມຕົ້ນແປດໄບຕ໌, ຮອງຮັບການນັບສີ່ ແລະສິບສອງໄບຕ໌.

ຈໍານວນຂໍ້ມູນທີ່ຕີຄວາມຫມາຍໂດຍແຕ່ລະສະຕຣິງຮູບແບບແມ່ນຜົນລວມຂອງຂໍ້ມູນທີ່ຕ້ອງການໂດຍແຕ່ລະຄົນ
ຫົວໜ່ວຍຮູບແບບ, ເຊິ່ງເປັນການນັບເທື່ອຂອງການນັບໄບຕ໌, ຫຼືການນັບເທື່ອ
ຈຳນວນໄບຕ໌ທີ່ຕ້ອງການໂດຍຮູບແບບ ຖ້າການນັບໄບຕ໌ບໍ່ໄດ້ຖືກລະບຸ.

ການປ້ອນຂໍ້ມູນຖືກໝູນໃຊ້ໃນ ``blocks'', ບ່ອນທີ່ block ຖືກກໍານົດເປັນຈໍານວນທີ່ໃຫຍ່ທີ່ສຸດຂອງ
ຂໍ້​ມູນ​ທີ່​ລະ​ບຸ​ໄວ້​ໂດຍ​ສະ​ຕ​ຣິງ​ຮູບ​ແບບ​ໃດ​ຫນຶ່ງ​. ຮູບແບບສະຕຣິງທີ່ຕີຄວາມໝາຍໜ້ອຍກວ່າຕົວບລັອກການປ້ອນຂໍ້ມູນ
ມູນຄ່າຂອງຂໍ້ມູນ, ຫນ່ວຍງານຮູບແບບສຸດທ້າຍທັງສອງຕີຄວາມຫມາຍຈໍານວນຫນຶ່ງຂອງ bytes ແລະບໍ່ມີ
ຈຳນວນ iteration ທີ່ລະບຸໄວ້, ໃຫ້ນັບ iteration ເພີ່ມຂຶ້ນຈົນກ່ວາການປ້ອນຂໍ້ມູນທັງໝົດ
ບຼັອກໄດ້ຖືກປະມວນຜົນແລ້ວ ຫຼືບໍ່ມີຂໍ້ມູນພຽງພໍໃນບລັອກເພື່ອຕອບສະໜອງ
ຮູບແບບສະຕຣິງ.

ຖ້າຫາກວ່າ, ບໍ່ວ່າຈະເປັນຜົນມາຈາກຂໍ້ກໍານົດຂອງຜູ້ໃຊ້ຫຼື hexdump ດັດແກ້ການນັບຊໍ້າຄືນເປັນ
ທີ່ອະທິບາຍໄວ້ຂ້າງເທິງ, ຈໍານວນການຊໍ້າຄືນແມ່ນໃຫຍ່ກວ່າຫນຶ່ງ, ບໍ່ມີຕົວອັກສອນຫຍໍ້ຫນ້າ
ແມ່ນຜົນຜະລິດໃນລະຫວ່າງການ iteration ສຸດທ້າຍ.

ມັນເປັນຄວາມຜິດພາດທີ່ຈະລະບຸການນັບໄບຕ໌ ພ້ອມກັບຕົວປ່ຽນຕົວລະຄອນ ຫຼືສະຕຣິງຫຼາຍອັນ
ເວັ້ນ ເສຍ ແຕ່ ວ່າ ທັງ ຫມົດ ແຕ່ ເປັນ ຫນຶ່ງ ໃນ ລັກ ສະ ນະ ການ ປ່ຽນ ແປງ ຫຼື ສະ ຕ ຣິງ ແມ່ນ _a or _A.

ຖ້າຫາກວ່າ, ເປັນຜົນມາຈາກການສະເພາະຂອງ -n ທາງ​ເລືອກ​ຫຼື​ການ​ສິ້ນ​ສຸດ​ຂອງ​ໄຟລ​໌​ທີ່​ຖືກ​ບັນ​ລຸ​ໄດ້​, ການ​ປ້ອນ​ຂໍ້​ມູນ​
ຂໍ້​ມູນ​ພຽງ​ແຕ່​ບາງ​ສ່ວນ​ພໍ​ໃຈ​ສະ​ຕ​ຣິງ​ຮູບ​ແບບ​, ຕັນ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ແມ່ນ​ສູນ padded ພຽງ​ພໍ​
ເພື່ອສະແດງຂໍ້ມູນທີ່ມີຢູ່ທັງໝົດ (ເຊັ່ນ: ຫົວໜ່ວຍຮູບແບບໃດນຶ່ງທີ່ທັບຊ້ອນທ້າຍຂອງຂໍ້ມູນຈະ
ສະແດງຈໍານວນຈໍານວນສູນໄບຕ໌).

ຜົນຜະລິດເພີ່ມເຕີມໂດຍສະຕຣິງຮູບແບບດັ່ງກ່າວຈະຖືກແທນທີ່ດ້ວຍຈໍານວນຊ່ອງທີ່ທຽບເທົ່າ. ອັນ
ຈໍາ​ນວນ​ທີ່​ເທົ່າ​ທຽມ​ກັນ​ຂອງ​ສະ​ຖານ​ທີ່​ແມ່ນ​ກໍາ​ນົດ​ເປັນ​ຈໍາ​ນວນ​ຂອງ​ຊ່ອງ​ອອກ​ໂດຍ an​ s ການປ່ຽນແປງ
ຕົວອັກສອນທີ່ມີຄວາມກວ້າງແລະຄວາມຊັດເຈນຂອງຊ່ອງດຽວກັນກັບລັກສະນະການແປງຕົ້ນສະບັບຫຼື
ສະຕຣິງການປ່ຽນແປງແຕ່ມີ "+", " ", "#" ຕົວອັກສອນປ່ຽນທຸງຖືກເອົາອອກ, ແລະ
ການອ້າງອີງເຖິງສະຕຣິງ NULL.

ຖ້າບໍ່ມີສະຕຣິງຮູບແບບໃດຖືກລະບຸ, ການສະແດງຄ່າເລີ່ມຕົ້ນແມ່ນເທົ່າກັບການລະບຸ -x
ທາງເລືອກ.

ອອກ STATUS


ໄດ້ hexdump ແລະ hd utilities ອອກຈາກ 0 ໃນຄວາມສໍາເລັດ, ແລະ >0 ຖ້າມີຂໍ້ຜິດພາດເກີດຂຶ້ນ.

ຕົວຢ່າງ


ສະແດງການປ້ອນຂໍ້ມູນໃນຮູບແບບ perusal:

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

ປະຕິບັດທາງເລືອກ -x:

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

ບາງຕົວຢ່າງສໍາລັບທາງເລືອກ -e:

# hex bytes
% echo ສະບາຍດີ | hexdump -v -e '/1 "%02X"' ; ສຽງສະທ້ອນ
68 65 6C 6C 6F 0A

# ຄືກັນ, ກັບພາກສ່ວນ ASCII
% echo ສະບາຍດີ | hexdump -e '8/1 "%02X ""\t"" "' -e '8/1 "%c""\n"'
68 65 6C 6C 6F 0A ສະບາຍດີ

# hex ກັບ 'x' ກ່ອນ
% echo ສະບາຍດີ | hexdump -v -e '"x" 1/1 "%02X" ""' ; ສຽງສະທ້ອນ
x68 x65 x6C x6C x6F x0A

# ໜຶ່ງ hex byte ຕໍ່ແຖວ
% echo ສະບາຍດີ | hexdump -v -e '/1 "%02X\n"'
68
65
6C
6C
6F
0A

# ຕາຕະລາງຂອງ byte#, hex, decimal, octal, ASCII
% echo ສະບາຍດີ | hexdump -v -e '/1 "%_ad# "' -e '/1 "%02X hex"' -e '/1 " = %03i dec" '-e '/1 " = %03o oct"' - e '/1 " = _%c\_\n"'
0# 68 hex = 104 dec = 150 oct = _h_.
1# 65 hex = 101 dec = 145 oct = _e_.
2# 6C hex = 108 dec = 154 oct = _l_.
3# 6C hex = 108 dec = 154 oct = _l_.
4# 6F hex = 111 dec = 157 oct = _o_.
5# 0A hex = 010 dec = 012 oct = _
_

# byte# & ASCII ກັບຕົວຄວບຄຸມ
% echo ສະບາຍດີ | hexdump -v -e '/1 "%_ad# "' -e '/1 " _%_u\_\n"'
0# _h_
1# _e_
2# _l_
3# _l_
4# _o_
5# _lf_

ໃຊ້ hexdump ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌