"Fossies" - the Fresh Open Source Software Archive

Member "vim-8.2.1354/runtime/doc/xxd-pl.1" (2 Aug 2020, 10412 Bytes) of package /linux/misc/vim-8.2.1354.tar.gz:


Caution: As a special service "Fossies" has tried to format the requested manual source page into HTML format but links to other man pages may be missing or even erroneous. Alternatively you can here view or download the uninterpreted manual source code. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.

XXD

NAZWA
SYNOPSIS
OPIS
OPCJE
OSTRZE¯ENIA
PRZYK£ADY
ZWRACANE WARTO¦CI
ZOBACZ TAK¯E
OSTRZE¯ENIA
WERSJA
AUTOR

NAZWA

xxd − zrzut pliku do hex lub odwrotnie

SYNOPSIS

xxd −h[elp]
xxd
[opcje] [plik_we [plik_wy]]
xxd
−r[evert] [opcje] [plik_we [plik_wy]]

OPIS

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 uuencode(1) i 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.

OPCJE

Je¶li nie podano plik_we xxd czyta ze standardowego wej¶cia. Je¶li okre¶lono plik_we jako znak `’ wtedy dane wej¶ciowe czytane s± ze standardowego wej¶cia. Je¶li nie podano plik_wy (lub podano jako `’ ), wyniki s± wysy³ane na standardowe wyj¶cie.

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 −c8, −c 8, −c 010 i −cols 8 s± sobie równowa¿ne.
−a
| −autoskip

prze³±cza autoskip: pojedyncza ’*’ zastêpuje linie nul. Domy¶lnie wy³±czone.

−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.

−c cols | −cols cols

formatuje liczbê <cols> oktetów na wiersz. Domy¶lnie 16 (−i: 12, −ps: 30, −b: 6). Maks. 256.

−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.

−g bajtów | −groupsize bajtów

oddziela wyj¶cie ka¿dych <bajtów> bajtów (dwa heksowe znaki lub osiem cyfr binarnych ka¿de) przez bia³y znak. Okre¶l −g 0 by wy³±czyæ grupowanie. <Bajtów> domy¶lnie jest 2 w trybie normalnym i 1 w trybie bitów. Grupowanie nie dzia³a w trybie postscriptu lub w³±czania.

−h | −help

wypisuje podsumowanie dostêpnych poleceñ i koñczy dzia³anie. Nie zostaje przeprowadzony ¿aden zrzut.

−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.

−l len |−len len

zakoñcz po wypisaniu <len> oktetów.

−p | −ps | −postscript | −plain

wyj¶cie w postcriptowym ci±g³ym stylu zrzutu heksowego. Znany tak¿e jako zwyk³y zrzut heksowy.

−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 −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.

−seek offset

Kiedy u¿yty po −r: odwraca z <offset> dodanym do pozycji w pliku odnalezionym w zrzucie heksowym.

−s [+][−]seek

zaczyna na <seek> bajtów bezwglêdnego (lub wzglêdnego) offsetu pliku wej¶ciowego. + wskazuje, ¿e seek jest wzglêdne do bie¿±cej pozycji pliku (bez znaczenia je¶li nie wczytuje ze standardowego wej¶cia). wskazuje ¿e seek powinno byæ o tyle znaków od koñca wej¶cia (lub je¶li po³±czone z +: przed bie¿±c± pozycj± pliku na standardowym wej¶ciu). Bez opcji −s xxd zaczyna od bie¿±cej pozycji w pliku.

−u

u¿yj wielkich liter w znakach heksowych. Domy¶lnie s± ma³e znaki.

−v | −version

pokazuje wersjê programu.

OSTRZE¯ENIA

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.

xxd −r nigdy nie podaje b³êdów analizy. ¦mieci s± po cichu ignorowane.

W czasie edycji zrzutów heksowych, proszê zauwa¿yæ ¿e 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.

Zauwa¿ ró¿nicê miêdzy
% xxd −i plik

i
% xxd −i < plik

xxd −s +seek mo¿e byæ ró¿ne od 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æ!)...

Przewiñ standardowe wej¶cie przed przeczytaniem; potrzebne poniewa¿ ‘cat’ ju¿ odczyta³ do koñca standardowego wej¶cia.
% sh −c ’cat > zwyk³a_kopia; xxd −s 0 > hex_kopia’ < plik

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.
% sh −c ’dd of=plain_snippet bs=1k count=1; xxd −s +128 > hex_snippet’ < file

Zrzut heksowy od pozycji pliku 0x100 ( = 1024−768) dalej.
% sh −c ’dd of=plain_snippet bs=1k count=1; xxd −s +-768 > hex_snippet’ < file

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.

PRZYK£ADY

Wypisz wszystko z wyj±tkiem pierwszych trzech linii (heksowe 0x30 bajtów) pliku
% xxd −s 0x30 plik

Wypisz trzy linie (heksowe 0x30 bajtów) z koñca pliku
% xxd −s −0x30 plik

Wypisz 120 bajtów jako ci±g³y zrzut heksowy z 20 oktetami na liniê.
% xxd −l 120 −ps −c 20 xxd.1

2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567

Zrzut heksowy z pierwszymi 120 bajtami tej strony podrêcznika z 12 oktetami na liniê.
% 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 ugust 1996"
0000018: 224d 616e 7561 6c20 7061 6765 "Manual page
0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\
0000030: 220a 2e5c 2220 3231 7374 204d "..\" 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\"
0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\"
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug

Poka¿ tylko datê z pliku xxd.1
% xxd −s 0x36 −l 13 −c 13 xxd.1

0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996

Kopiuj plik_we do plik_wy i poprzed¼ 100 bajtami o warto¶ci 0x00.
% xxd plik_we | xxd −r −s 100 > plik_wy

Podmieñ datê w pliku xxd.1
% echo ’0000037: 3574 68’ | xxd −r − xxd.1
% xxd −s 0x36 −l 13 −c 13 xxd.1

0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996

Utwórz plik o 65537 bajtach, wszystkich równych 0x00, z wyj±tkiem ostatniego, który ma byæ ’A’ (hex 0x41).
% echo ’010000: 41’ | xxd −r > plik

Zrzut heksowy tego pliku z autoskipem.
% xxd −a −c 12 plik

0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 ....A

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.
% echo ’010000: 41’ | xxd −r −s −0x10000 > plik

U¿yj xxd jako filtra wewn±trz edytora takiego jak vim(1) aby uzyskaæ zrzut heksowy zakresu miêdzy markerami ‘a’ i ‘z’.
:’a,’z!xxd

U¿yj xxd jako filtra wewn±trz edytora takiego jak vim(1) by odzyskaæ binarny zrzut heksowy zakresu pomiêdzy markerami ‘a’ i ‘z’.
:’a,’z!xxd −r

U¿yj xxd jako filtra wewn±trz edytora takiego jak vim(1) by odzyskaæ jedn± liniê zrzutu heksowego. Przejd¼ z kursorem na liniê i wpisz:
!!xxd −r

Odczytaj pojednycze znaki z portu szeregowego
% xxd −c1 < /dev/term/b &
% stty < /dev/term/b −echo −opost −isig −icanon min 1
% echo −n foo > /dev/term/b

ZWRACANE WARTO¦CI

Zwracane s± nastêpuj±ce warto¶ci b³êdów:

0

nie znaleziono b³êdów.

−1

operacja nie jest wspierana ( xxd −r −i ca³y czas niemo¿liwa).

1

b³±d w czasie analizowania opcji.

2

problemy z plikiem wej¶ciowym.

3

problemy z plikiem wyj¶ciowym.

4,5

¿±dana pozycja jest nieosi±galna.

ZOBACZ TAK¯E

uuencode(1), uudecode(1), patch(1)

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.

WERSJA

Strona podrêcznika opisuje xxd w wersji 1.7

AUTOR

(c) 1990-1997 by Juergen Weigert
<jnweiger@informatik.uni-erlangen.de>

Kopiuj do woli i podaj moje dane,
zarabiaj pieni±dze i dziel siê ze mn±,
traæ pieni±dze i nie miej do mnie pretensji.

Strona podrêcznika zapocz±tkowana przez Tony’ego Nugenta
<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
Ma³e zmiany: Bram Moolenaar. Redakcja: Juergen Weigert.