.TH XXD 1 "Sierpie� 1996" "Strona podr�cznika dla xxd" .\" .\" 21st May 1996 .\" Man page author: .\" Tony Nugent .\" Changes by Bram Moolenaar .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� \-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 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 mnv(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 mnv(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 mnv(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 .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 .br Ma�e zmiany: Bram Moolenaar. Redakcja: Juergen Weigert. .PP