| .TH XXD 1 "Sierpieñ 1996" "Strona podrêcznika dla xxd" |
| .\" |
| .\" 21st May 1996 |
| .\" Man page author: |
| .\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> |
| .\" Changes by Bram Moolenaar <Bram@vim.org> |
| .SH NAZWA |
| .I xxd |
| \- zrzut pliku do hex lub odwrotnie |
| .SH SYNOPSIS |
| .B xxd |
| \-h[elp] |
| .br |
| .B xxd |
| [opcje] [plik_we [plik_wy]] |
| .br |
| .B xxd |
| \-r[evert] [opcje] [plik_we [plik_wy]] |
| .SH OPIS |
| .I xxd |
| tworzy zrzut heksowy podanego pliku lub standardowego wej¶cia. |
| Mo¿e tak¿e przetworzyæ zrzut heksowy z powrotem do oryginalnej, |
| binarnej formy. |
| Podobnie jak |
| .BR uuencode (1) |
| i |
| .BR uudecode (1) |
| pozwala na przekazanie danych binarnych w bezpiecznej w poczcie formie |
| ASCII, ale ma zalety dekodowania na standardowe wyj¶cie. |
| Ponadto mo¿na go u¿yæ do binarnego ³atania plików. |
| .SH OPCJE |
| Je¶li nie podano |
| .I plik_we |
| xxd czyta ze standardowego wej¶cia. |
| Je¶li okre¶lono |
| .I plik_we |
| jako znak |
| .RB \` \- ' |
| wtedy dane wej¶ciowe czytane s± ze standardowego wej¶cia. |
| Je¶li nie podano |
| .I plik_wy |
| (lub podano jako |
| .RB \` \- ' |
| ), wyniki s± wysy³ane na standardowe wyj¶cie. |
| .PP |
| Pamiêtaj, ¿e u¿yty zosta³ "leniwy" parser, który nie sprawdza wiêcej |
| ni¿ pierwszej litery opcji (o ile ta nie zosta³a obdarzona |
| parametrem). Spacje miêdzy jedno literowymi opcjami i ich parametrami |
| s± opcjonalne. Parametry opcji mog± byæ okre¶lone w notacji dziesiêtnej, |
| heksadecymalej lub oktalnej. |
| St±d |
| .BR \-c8 , |
| .BR "\-c 8" , |
| .B \-c 010 |
| i |
| .B \-cols 8 |
| s± sobie równowa¿ne. |
| .PP |
| .TP |
| .IR \-a " | " \-autoskip |
| prze³±cza autoskip: pojedyncza '*' zastêpuje linie nul. Domy¶lnie |
| wy³±czone. |
| .TP |
| .IR \-b " | " \-bits |
| Prze³±cza do zrzutu bitowego (cyfr binarnych) zamiast heksowego. |
| Opcja ta zapisuje oktety jako osiem cyfr 1 lub 0 zamiast normalnego |
| zrzutu heksowego. Ka¿da linia jest poprzedzona przez |
| heksadecymalny numer linii a po nim jego reprezentacj± w ascii (lub |
| ebcdic). Opcje linii poleceñ \-r, \-p, \-i nie dzia³aj± w tym |
| trybie. |
| .TP |
| .IR "\-c cols " | " \-cols cols" |
| formatuje liczbê |
| .RI < cols > |
| oktetów na wiersz. Domy¶lnie 16 (\-i: 12, \-ps: 30, \-b: 6). Maks. |
| 256. |
| .TP |
| .IR \-E " | "\-EBCDIC |
| zmienia kodowanie znaków w prawej kolumnie z ASCII na EBCDIC. |
| Nie zmienia prezentacji heksadecymalej. Opcja nie dzia³a w po³±czeniu |
| z \-r, \-p lub \-i. |
| .TP |
| .IR "\-g bajtów " | " \-groupsize bajtów" |
| oddziela wyj¶cie ka¿dych |
| .RI < bajtów > |
| bajtów (dwa heksowe znaki lub osiem cyfr binarnych ka¿de) przez bia³y |
| znak. |
| Okre¶l |
| .I \-g 0 |
| by wy³±czyæ grupowanie. |
| .RI < Bajtów "> domy¶lnie jest " 2 |
| w trybie normalnym i \fI1\fP w trybie bitów. |
| Grupowanie nie dzia³a w trybie postscriptu lub w³±czania. |
| .TP |
| .IR \-h " | " \-help |
| wypisuje podsumowanie dostêpnych poleceñ i koñczy dzia³anie. Nie |
| zostaje przeprowadzony ¿aden zrzut. |
| .TP |
| .IR \-i " | " \-include |
| wyj¶cie w stylu w³±czania pliku w C. Zostaje zapisana kompletna |
| statyczna tablica definicji (nazwana wed³ug pliku wej¶cia), o ile xxd |
| nie czyta ze standardowego wej¶cia. |
| .TP |
| .IR "\-l len " | "\-len len" |
| zakoñcz po wypisaniu |
| .RI < len > |
| oktetów. |
| .TP |
| .IR \-p " | " \-ps " | " \-postscript " | " \-plain |
| wyj¶cie w postcriptowym ci±g³ym stylu zrzutu heksowego. Znany tak¿e |
| jako zwyk³y zrzut heksowy. |
| .TP |
| .IR \-r " | " \-revert |
| odwróæ operacjê: przekonwertuj (lub za³ataj) zrzut heksowy w binarkê. |
| Je¶li nie zapisuje na standardowe wyj¶cie, xxd zapisze plik wyj¶ciowy |
| bez obcinania go. U¿yj kombinacji |
| .I \-r \-p |
| by odczytaæ zwyk³y zrzut heksadecymalny bez numerów linii |
| i okre¶lonego uk³adu kolumn. Dodatkowe bia³e znaki i ³amanie wierszy |
| s± wszêdzie dozwolone. |
| .TP |
| .I \-seek offset |
| Kiedy u¿yty po |
| .IR \-r : |
| odwraca z |
| .RI < offset > |
| dodanym do pozycji w pliku odnalezionym w zrzucie heksowym. |
| .TP |
| .I \-s [+][\-]seek |
| zaczyna na |
| .RI < seek > |
| bajtów bezwglêdnego (lub wzglêdnego) offsetu pliku wej¶ciowego. |
| \fI+ \fRwskazuje, ¿e seek jest wzglêdne do bie¿±cej pozycji pliku (bez |
| znaczenia je¶li nie wczytuje ze standardowego wej¶cia). \fI\- \fRwskazuje |
| ¿e seek powinno byæ o tyle znaków od koñca wej¶cia (lub je¶li |
| po³±czone z \fI+\fR: przed bie¿±c± pozycj± pliku na standardowym |
| wej¶ciu). |
| Bez opcji \-s xxd zaczyna od bie¿±cej pozycji w pliku. |
| .TP |
| .I \-u |
| u¿yj wielkich liter w znakach heksowych. Domy¶lnie s± ma³e znaki. |
| .TP |
| .IR \-v " | " \-version |
| pokazuje wersjê programu. |
| .SH OSTRZE¯ENIA |
| .PP |
| .I xxd \-r |
| potrafi okre¶liæ numery linii. Je¶li plik wyj¶cia jest mo¿liwy do |
| przeszukania wtedy numery linii na pocz±tku wiersza zrzutu heksowego |
| mog± byæ nie po kolei, mo¿e brakowaæ wierszy lub nak³adaæ siê na |
| siebie. W takich wypadkach xxd u¿yje lseek(2) by znale¼æ nastêpn± |
| pozycjê. Je¶li plik wyj¶ciowy nie jest mo¿liwy do przeszukania mo¿liwe |
| s± tylko przerwy, które zostan± wype³nione bajtami null. |
| .PP |
| .I xxd \-r |
| nigdy nie podaje b³êdów analizy. ¦mieci s± po cichu ignorowane. |
| .PP |
| W czasie edycji zrzutów heksowych, proszê zauwa¿yæ ¿e |
| .I xxd \-r |
| pomija wszystko w linii wej¶cia po odczytaniu wystarczaj±cej ilo¶ci |
| kolumn danych heksadecymalnych (zobacz opcjê \-c). Oznacza to tak¿e, |
| ¿e zmiany w drukowanych kolumnach ascii (lub ebcdic) s± zawsze |
| ignorowane. Odwrócenie zwyk³ego (lub postscriptowego) stylu zrzutu |
| poprzez xxd \-r \-p nie zale¿y od kolejno¶ci kolumn. Tutaj cokolwiek |
| co wygl±da jak para znaków heks jest interpretowane. |
| .PP |
| Zauwa¿ ró¿nicê miêdzy |
| .br |
| \fI% xxd \-i plik\fR |
| .br |
| i |
| .br |
| \fI% xxd \-i < plik\fR |
| .PP |
| .I xxd \-s \+seek |
| mo¿e byæ ró¿ne od |
| .IR "xxd \-s seek" , |
| poniewa¿ lseek(2) jest u¿yty do "przewiniêcie" wej¶cia. '+' stanowi |
| ró¿nicê je¶li ¼ród³em wej¶cia jest standardowe wej¶cie i je¶li pozycja |
| w pliku ze standardowego wej¶cia nie jest pocz±tkiem pliku w chwili |
| uruchomienia xxd. Nastêpuj±ce przyk³ady mog± wyja¶niæ (lub bardziej |
| zmyliæ!)... |
| .PP |
| Przewiñ standardowe wej¶cie przed przeczytaniem; potrzebne poniewa¿ |
| `cat' ju¿ odczyta³ do koñca standardowego wej¶cia. |
| .br |
| \fI% sh \-c 'cat > zwyk³a_kopia; xxd \-s 0 > hex_kopia' < plik\fR |
| .PP |
| Zrzut heksowy od pozycji pliku 0x480 (=1024+128) w przód. |
| Znak `+' oznacza "wzglêdny wobec bie¿±cej pozycji", st±d `128' dodaje |
| do 1k gdzie zakoñczy³ dd. |
| .br |
| \fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet' < file\fR |
| .PP |
| Zrzut heksowy od pozycji pliku 0x100 ( = 1024\-768) dalej. |
| .br |
| \fI% sh \-c 'dd of=plain_snippet bs=1k count=1; xxd \-s +-768 > hex_snippet' < file\fR |
| .PP |
| Jakkolwiek, jest to rzadka sytuacja i u¿ycie `+' jest rzadko |
| potrzebne. |
| Autor woli monitorowaæ dzia³anie xxd przy pomocy strace(1) lub truss(1) kiedy \-s jest u¿yte. |
| .SH PRZYK£ADY |
| .PP |
| .br |
| Wypisz wszystko z wyj±tkiem pierwszych trzech linii (heksowe 0x30 bajtów) |
| .B pliku |
| \. |
| .br |
| \fI% xxd \-s 0x30 plik\fR |
| .PP |
| .br |
| Wypisz trzy linie (heksowe 0x30 bajtów) z koñca |
| .B pliku |
| \. |
| .br |
| \fI% xxd \-s \-0x30 plik\fR |
| .PP |
| .br |
| Wypisz 120 bajtów jako ci±g³y zrzut heksowy z 20 oktetami na liniê. |
| .br |
| \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR |
| .br |
| 2e54482058584420312022417567757374203139 |
| .br |
| 39362220224d616e75616c207061676520666f72 |
| .br |
| 20787864220a2e5c220a2e5c222032317374204d |
| .br |
| 617920313939360a2e5c22204d616e2070616765 |
| .br |
| 20617574686f723a0a2e5c2220202020546f6e79 |
| .br |
| 204e7567656e74203c746f6e79407363746e7567 |
| .br |
| |
| .br |
| Zrzut heksowy z pierwszymi 120 bajtami tej strony podrêcznika z 12 |
| oktetami na liniê. |
| .br |
| \fI% xxd \-l 120 \-c 12 xxd.1\fR |
| .br |
| 0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A |
| .br |
| 000000c: 7567 7573 7420 3139 3936 2220 ugust 1996" |
| .br |
| 0000018: 224d 616e 7561 6c20 7061 6765 "Manual page |
| .br |
| 0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\\ |
| .br |
| 0000030: 220a 2e5c 2220 3231 7374 204d "..\\" 21st M |
| .br |
| 000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\\" |
| .br |
| 0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut |
| .br |
| 0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\\" |
| .br |
| 0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent |
| .br |
| 000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug |
| .PP |
| .br |
| Poka¿ tylko datê z pliku xxd.1 |
| .br |
| \fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR |
| .br |
| 0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996 |
| .PP |
| .br |
| Kopiuj |
| .B plik_we |
| do |
| .B plik_wy |
| i poprzed¼ 100 bajtami o warto¶ci 0x00. |
| .br |
| \fI% xxd plik_we | xxd \-r \-s 100 \> plik_wy\fR |
| .br |
| |
| .br |
| Podmieñ datê w pliku xxd.1 |
| .br |
| \fI% echo '0000037: 3574 68' | xxd \-r \- xxd.1\fR |
| .br |
| \fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR |
| .br |
| 0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996 |
| .PP |
| .br |
| Utwórz plik o 65537 bajtach, wszystkich równych 0x00, |
| z wyj±tkiem ostatniego, który ma byæ 'A' (hex 0x41). |
| .br |
| \fI% echo '010000: 41' | xxd \-r \> plik\fR |
| .PP |
| .br |
| Zrzut heksowy tego pliku z autoskipem. |
| .br |
| \fI% xxd \-a \-c 12 plik\fR |
| .br |
| 0000000: 0000 0000 0000 0000 0000 0000 ............ |
| .br |
| * |
| .br |
| 000fffc: 0000 0000 40 ....A |
| .PP |
| Utwórz jedno bajtowy plik zawieraj±cy pojedncz± literê 'A'. |
| Liczba po '\-r \-s' dodaje numery linii znalezione w pliku; |
| w efekcie poprzedzaj±ce bajty s± ukryte. |
| .br |
| \fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> plik\fR |
| .PP |
| U¿yj xxd jako filtra wewn±trz edytora takiego jak |
| .B vim(1) |
| aby uzyskaæ zrzut heksowy zakresu miêdzy markerami `a' i `z'. |
| .br |
| \fI:'a,'z!xxd\fR |
| .PP |
| U¿yj xxd jako filtra wewn±trz edytora takiego jak |
| .B vim(1) |
| by odzyskaæ binarny zrzut heksowy zakresu pomiêdzy markerami `a' |
| i `z'. |
| .br |
| \fI:'a,'z!xxd \-r\fR |
| .PP |
| U¿yj xxd jako filtra wewn±trz edytora takiego jak |
| .B vim(1) |
| by odzyskaæ jedn± liniê zrzutu heksowego. Przejd¼ z kursorem na liniê |
| i wpisz: |
| .br |
| \fI!!xxd \-r\fR |
| .PP |
| Odczytaj pojednycze znaki z portu szeregowego |
| .br |
| \fI% xxd \-c1 < /dev/term/b &\fR |
| .br |
| \fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR |
| .br |
| \fI% echo \-n foo > /dev/term/b\fR |
| .PP |
| .SH "ZWRACANE WARTO¦CI" |
| Zwracane s± nastêpuj±ce warto¶ci b³êdów: |
| .TP |
| 0 |
| nie znaleziono b³êdów. |
| .TP |
| \-1 |
| operacja nie jest wspierana ( |
| .I xxd \-r \-i |
| ca³y czas niemo¿liwa). |
| .TP |
| 1 |
| b³±d w czasie analizowania opcji. |
| .TP |
| 2 |
| problemy z plikiem wej¶ciowym. |
| .TP |
| 3 |
| problemy z plikiem wyj¶ciowym. |
| .TP |
| 4,5 |
| ¿±dana pozycja jest nieosi±galna. |
| .SH "ZOBACZ TAK¯E" |
| uuencode(1), uudecode(1), patch(1) |
| .br |
| .SH OSTRZE¯ENIA |
| Dziwaczno¶æ narzêdzi dorównuje dziwaczno¶ci mózgu twórcy. |
| U¿ywaj wy³±cznie na w³asn± odpowiedzialno¶æ. Kopiuj pliki. Analizuj |
| je. Stañ siê czarodziejem. |
| .br |
| .SH WERSJA |
| Strona podrêcznika opisuje xxd w wersji 1.7 |
| .SH AUTOR |
| .br |
| (c) 1990-1997 by Juergen Weigert |
| .br |
| <jnweiger@informatik.uni-erlangen.de> |
| .LP |
| Kopiuj do woli i podaj moje dane, |
| .br |
| zarabiaj pieni±dze i dziel siê ze mn±, |
| .br |
| traæ pieni±dze i nie miej do mnie pretensji. |
| .PP |
| Strona podrêcznika zapocz±tkowana przez Tony'ego Nugenta |
| .br |
| <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au> |
| .br |
| Ma³e zmiany: Bram Moolenaar. |
| Redakcja: Juergen Weigert. |
| .PP |