HEXDUMP(1) Comenzi utilizator HEXDUMP(1) NUME hexdump - afieaza coninutul fiierului in hexazecimal, zecimal, octal sau ascii REZUMAT hexdump opiuni fiier ... hd opiuni fiier ... DESCRIERE Instrumentul hexdump este un filtru care afieaza fiierele specificate, sau intrarea standard daca nu sunt specificate fiiere, intr-un format specificat de utilizator. OPIUNI Mai jos, argumentele lungime i decalaj pot fi urmate de sufixele multiplicative KiB (=1024), MiB (=1024*1024), i aa mai departe pentru GiB, TiB, PiB, EiB, ZiB i YiB (,,iB" este opional, de exemplu, ,,K" are aceeai semnificaie ca i ,,KiB"), sau sufixele KB (=1000), MB (=1000*1000) i aa mai departe pentru GB, TB, PB, EB, ZB i YB. -b, --one-byte-octal Afiare octala pe un octet. Afieaza decalajul de intrare in hexazecimal, urmat de aisprezece octei de date de intrare, separate prin spaii, pe trei coloane, completate cu zero, in octal, pe linie. -X, --one-byte-hex Afiare hexazecimala pe un octet. Afieaza decalajul de intrare in hexazecimal, urmat de aisprezece octei de date de intrare, separate prin spaii, pe trei coloane, completate cu zero, in heazecimal, pe linie. -c, --one-byte-char Afiare caractere pe un octet. Afieaza decalajul de intrare in hexazecimal, urmat de aisprezece caractere de date de intrare pe linie, separate prin spaii, pe trei coloane i umplute cu spaiu. -C, --canonical Afiare canonica hexazecimala+ASCII. Afieaza decalajul de intrare in hexazecimal, urmat de aisprezece octei hexazecimali, separai prin spaii, pe doua coloane, urmai de aceiai aisprezece octei in format %_p, incadrai intre caractere |. Invocarea programului ca hd implica aceasta opiune. -d, --two-bytes-decimal Afiare zecimala pe doi octei. Afieaza decalajul de intrare in hexazecimal, urmat de opt unitai de date de intrare de doi octei, separate prin spaii, pe cinci coloane, completate cu zero, in zecimale fara semn, pe linie. -e, --format format_ir Specifica un ir de format care sa fie utilizat pentru afiarea datelor. -f, --format-file fiier Specifica un fiier care conine unul sau mai multe iruri de format separate prin linii noi. Liniile goale i liniile al caror prim caracter care nu este un spaiu, este un semn diez (#) sunt ignorate. -L, --color[=cand] Accepta unitaile de culoare pentru ieire. Argumentul opional cand poate fi auto, never (niciodata) sau always (intotdeauna). In cazul in care argumentul cand este omis, valoarea implicita este auto. Culorile pot fi dezactivate; pentru valoarea implicita incorporata curenta, consultai ieirea --help. A se vedea, de asemenea, subseciunea Culori i seciunea CULORI de mai jos. -n, --length lungime Interpreteaza numai lungimea de lungimea octei de intrare. -o, --two-bytes-octal Afiare octala pe doi octei. Afieaza decalajul de intrare in hexazecimal, urmat de opt cantitai de date de intrare de doi octei, separate prin spaii, pe ase coloane, completate cu zero, in octal, pe linie. -s, --skip decalaj Omite decalajul de octei de la inceputul intrarii. -v, --no-squeezing Opiunea -v face ca hexdump sa afieze toate datele de intrare. Fara opiunea -v, orice grup de linii de ieire care ar fi identic cu grupul de linii de ieire imediat anterior (cu excepia decalajelor de intrare) este inlocuit cu o linie compusa dintr-un singur asterisc. -x, --two-bytes-hex Afiare hexazecimala pe doi octei. Afieaza decalajul de intrare in hexazecimal, urmat de opt cantitai de date de intrare de doi octei, in hexazecimal, separate prin spaii, pe patru coloane, completate cu zero, pe linie. -h, --help Afieaza acest mesaj de ajutor i iese. -V, --version Afieaza versiunea i iese. Pentru fiecare fiier de intrare, hexdump copiaza secvenial datele de intrare la ieirea standard, transformand datele in conformitate cu irurile de formate specificate prin opiunile -e i -f, in ordinea in care au fost specificate. FORMATE Un ir de format conine un numar oarecare de unitai de format, separate prin spaii albe. O unitate de format conine pana la trei elemente: un numar de iteraii, un numar de octei i un format. Numarul de iteraii este un numar intreg pozitiv opional, care are valoarea implicita de unu. Fiecare format se aplica de cate ori se numara numarul de iteraii. Numarul de octei este un numar intreg pozitiv opional. Daca este specificat, acesta definete numarul de octei care trebuie interpretai de fiecare iteraie a formatului. Daca se specifica un numar de iteraii i/sau un numar de octei, dupa numarul de iteraii i/sau inainte de numarul de octei trebuie sa se plaseze o singura bara oblica inversata pentru a le distinge intre ele. Orice spaiu alb inainte sau dupa bara oblica inversata este ignorat. Formatul este obligatoriu i trebuie sa fie inconjurat de ghilimele duble (" "). Acesta este interpretat ca un ir de format de tip fprintf (a se vedea fprintf(3)), cu urmatoarele excepii: 1. Un asterisc (*) nu poate fi utilizat ca laime sau precizare a campului. 2. Un numar de octei sau o precizie de camp este necesara pentru fiecare caracter de conversie s (spre deosebire de fprintf(3), care afieaza intregul ir daca precizia nu este specificata). 3. Caracterele de conversie h, l, n, p i q nu sunt acceptate. 4. Sunt acceptate secvenele de eludare cu un singur caracter descrise in standardul C: +-------------------------+----+ |NULL | \0 | +-------------------------+----+ |el)> | | +-------------------------+----+ | | \b | +-------------------------+----+ | | \f | +-------------------------+----+ | | \n | +-------------------------+----+ | | \r | +-------------------------+----+ | | \t | +-------------------------+----+ | | \v | +-------------------------+----+ iruri de conversie Instrumentul hexdump accepta, de asemenea, urmatoarele iruri de conversie suplimentare. _a[dox] Afieaza poziia de intrare, cumulata in toate fiierele de intrare, a urmatorului octet care urmeaza sa fie afiat. Caracterele anexate d, o i x specifica baza de afiare ca fiind zecimala, octala, respectiv hexazecimala. _A[dox] Aproape identic cu irul de conversie _a, cu excepia faptului ca se efectueaza o singura data, dupa ce au fost procesate toate datele de intrare. _c Afieaza caracterele in setul de caractere implicit. Caracterele care nu sunt imprimabile sunt afiate in format octal cu trei caractere, completate cu zero, cu excepia celor care pot fi reprezentate prin notaia de eludare standard (a se vedea mai sus), care sunt afiate ca iruri de doua caractere. _p Afieaza caracterele in setul de caractere implicit. Caracterele care nu sunt imprimabile sunt afiate ca un singur ,,.". _u Ieirea caracterelor US ASCII, cu excepia caracterelor de control care sunt afiate folosind urmatoarele denumiri, cu litere mici. Caracterele mai mari decat 0xff, hexazecimal, sunt afiate ca iruri hexazecimale. +--------+---------+---------+---------+---------+---------+ |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 | 0FF del | | | | +--------+---------+---------+---------+---------+---------+ Culori Atunci cand este pus la sfaritul unui specificator de format, hexdump evideniaza irul respectiv cu culoarea specificata. Condiiile, daca sunt prezente, sunt evaluate inainte de evideniere. _L[unitate_culoare_1,unitate_culoare_2,...,unitate_culoare_n] Sintaxa completa a unei unitai de culoare este urmatoarea: [!]CULOARE[:VALOARE][@POZIIA_INIIALA[-FINALA]] ! Neaga condiia. Va rugam sa reinei ca are sens sa negai o unitate numai daca sunt specificate atat o valoare/un ir de caractere, cat i un interval. In acest caz, irul de ieire respectiv va fi evideniat daca i numai daca valoarea/irul de caractere nu se potrivete cu cel din interval. CULOARE Una dintre cele 8 culori de baza ale shell-ului. VALOARE O valoare care urmeaza sa fie comparata, specificata in hexazecimal sau octal sau ca ir de caractere. Va rugam sa reinei ca secvenele de eludare obinuite din C nu sunt interpretate de hexdump in cadrul unitate_culoare. POZIIE O poziie sau un interval de poziii in care se verifica daca exista o potrivire. Va rugam sa reinei ca POZIIA_INIIALA singura utilizeaza aceeai valoare ca i POZIIA_FINALA. Contorizare Numerele de octei implicite i acceptate pentru caracterele de conversie sunt urmatoarele: %_c, %_p, %_u, %c Se numara doar un octet. %d, %i, %o, %u, %X, %x Patru octei in mod implicit, se accepta un numar de unul, doi i patru octei. %E, %e, %f, %G, %g Opt octei in mod implicit, se accepta un numar de patru octei. Cantitatea de date interpretata de fiecare ir de format este suma datelor solicitate de fiecare unitate de format, care este egala cu numarul de iteraii inmulit cu numarul de octei sau cu numarul de iteraii inmulit cu numarul de octei solicitai de format, in cazul in care numarul de octei nu este specificat. Datele de intrare sunt manipulate in blocuri, unde un bloc este definit ca fiind cea mai mare cantitate de date specificata de orice ir de format. irurile de format care interpreteaza mai puin de un bloc de date de intrare, a caror ultima unitate de format interpreteaza un anumit numar de octei i nu are un numar de iteraii specificat, numarul de iteraii este marit pana cand intregul bloc de intrare este procesat sau pana cand nu mai exista suficiente date in bloc pentru a satisface irul de format. In cazul in care, fie ca urmare a specificaiei utilizatorului, fie ca urmare a modificarii de catre hexdump a numarului de iteraii, aa cum este descris mai sus, numarul de iteraii este mai mare de unu, nu se afieaza niciun caracter de spaiere la final in timpul ultimei iteraii. Este o eroare sa se specifice un numar de octei, precum i mai multe caractere sau iruri de caractere de conversie, cu excepia cazului in care toate caracterele sau irurile de caractere de conversie, cu excepia unuia, sunt _a sau _A. In cazul in care, ca urmare a specificarii opiunii -n sau a faptului ca s-a ajuns la sfaritul fiierului, datele de intrare satisfac doar parial un ir de format, blocul de intrare este completat cu zerouri suficient pentru a afia toate datele disponibile (adica orice unitate de format care se suprapune peste sfaritul datelor va afia un anumit numar de octei zero). Rezultatele ulterioare ale unor astfel de iruri de formate sunt inlocuite cu un numar echivalent de spaii. Un numar echivalent de spaii este definit ca fiind numarul de spaii generate de un caracter de conversie s cu aceeai laime de camp i precizie ca i caracterul de conversie sau irul de conversie original, dar fara caracterele de marcare a conversiei ,,+", ,, ", ,,#", i care face trimitere la un ir NULL. Daca nu se specifica iruri de formate, afiarea implicita este foarte asemanatoare cu formatul de ieire -x (opiunea -x face ca intre unitaile de format sa fie folosit mai mult spaiu decat in ieirea implicita). STARE DE IEIRE hexdump iese cu 0 in caz de succes i > 0 daca a aparut o eroare. IN CONFORMITATE CU Se ateapta ca instrumentul hexdump sa fie compatibil cu IEEE Std 1003.2 (,,POSIX.2"). EXEMPLE Afieaza datele introduse in format de examinare: "%06.6_ao " 12/1 "%3_u " "\t" "%_p " "\n" Implementarea opiunii -x: "%07.7_Ax\n" "%07.7_ax " 8/2 "%04x " "\n" Exemplu de semnatura de pornire MBR: Se evideniaza adresele cu cian i octeii de la poziiile 510 i 511 cu verde daca valoarea lor este 0xAA55, iar in caz contrar cu rou. "%07.7_Ax_L[cyan]\n" "%07.7_ax_L[cyan] " 8/2 " %04x_L[green:0xAA55@510-511,!red:0xAA55@510-511] " "\n" CULORI Colorarea ieirii este implementata de funcionalitatea terminal-colors.d(5). Colorarea implicita poate fi dezactivata printr-un fiier gol /etc/terminal-colors.d/hexdump.disable pentru comanda hexdump sau pentru toate instrumentele (comenzile) prin /etc/terminal-colors.d/disable Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option. Configuraia specifica utilizatorului $XDG_CONFIG_HOME/terminal-colors.d sau $HOME/.config/terminal-colors.d prevaleaza asupra celei globale. Reinei ca colorarea ieirii poate fi activata in mod implicit i, in acest caz, directoarele terminal-colors.d nu trebuie sa existe inca. RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda hexdump face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.41 2025-03-29 HEXDUMP(1)