Provided by: manpages-pl_20060617-3_all bug

NAZWA

       magic - plik liczb magicznych polecenia file

OPIS

       Ta  strona  podrcznika  systemowego  opisuje  format  pliku magicznego,
       uywanego  przez  polecenie  file(1)  w  wersji  3.37.  Polecenie   file
       rozpoznaje  typ  pliku,  korzystajc  (poza  innymi  metodami)  z testu,
       polegajcego na sprawdzeniu, czy plik nie rozpoczyna si od pewnej liczby
       magicznej.   Plik  /usr/share/misc/magic okrela jakie liczby sprawdza i
       jakie  komunikaty  drukowa  w  wypadku  znalezienia  okrelonej   liczby
       magicznej oraz dodatkowe dane, ktore maj zosta pobrane z pliku.

       Kady  wiersz  pliku  okrela  test, ktore ma by wykonany. Test porownuje
       dane, rozpoczynajce si przy okrelonym przesuniciu wzgldem pocztku pliku
       z  1,  2 lub 4-bajtow wartoci numeryczn lub lacuchem. Jeli test zakoczy
       si pomylnie, wypisywany jest komunikat. Wiersz sklada si z  nastpujcych
       pol:

       offset   Liczba, okrelajca w bajtach przesunicie wzgldem pocztku pliku,
                przy ktorym naley szuka testowanych danych.

       typ      Typ testowanych danych. Dopuszczalne wartoci to:

                byte     Warto jednobajtowa.

                short    Warto dwubajtowa (w  wikszoci  systemow)  w  natywnej
                         kolejnoci bajtow maszyny.

                long     Warto  czterobajtowa (w wikszoci systemow) w natywnej
                         kolejnoci bajtow maszyny.

                string   Lacuch  bajtow.  Po  specyfikacji  typu  lacucha  moe
                         opcjonalnie wystpi /[Bbc]*. Znacznik ,,B'' kondensuje
                         biale znaki w testowanym tekcie, ktory  musi  zawiera
                         co  najmniej  jeden  bialy znak. Jeli liczba magiczna
                         zawiera "n" kolejnych bialych znakow, to aby nastpilo
                         dopasowanie, testowany tekst musi zawiera co najmniej
                         "n" kolejnych bialych znakow. Znacznik ,,b'' powoduje
                         traktowanie  wszystkich  bialych  znakow w testowanym
                         tekcie  jako  opcjonalne.  Wreszcie,  znacznik  ,,c''
                         okrela   dopasowanie  ignorujce  wielko  liter:  male
                         litery w liczbie magicznej pasuj zarowno  do  malych,
                         jak  i do wielkich liter w testowanym tekcie, podczas
                         gdy wielkie litery w liczbie magicznej pasuj tylko do
                         wielkich liter.

                date     Czterobajtowa   warto,   interpretowana   jako   data
                         uniksowa.

                ldate    Czterobajtowa warto, interpretowana jako data w stylu
                         uniksowym,  ale  interpretowana  jako czas lokalny, a
                         nie UTC.

                beshort  Warto dwubajtowa (w wikszoci systemow)  w  grubokocej
                         (big-endian) kolejnoci bajtow.

                belong   Warto   czterobajtowa   (w   wikszoci   systemow)   w
                         grubokocej kolejnoci bajtow.

                bedate   Warto   czterobajtowa   (w   wikszoci   systemow)   w
                         grubokocej kolejnoci bajtow, interpretowana jako data
                         uniksowa.

                leshort  Warto dwubajtowa (w wikszoci systemow)  w  ostrokocej
                         (little-endian) kolejnoci bajtow.

                lelong   Warto   czterobajtowa   (w   wikszoci   systemow)   w
                         ostrokocej kolejnoci bajtow.

                ledate   Warto   czterobajtowa   (w   wikszoci   systemow)   w
                         ostrokocej kolejnoci bajtow, interpretowana jako data
                         uniksowa.

                leldate  Warto   czterobajtowa   (w   wikszoci   systemow)   w
                         ostrokocej kolejnoci bajtow, interpretowana jako data
                         w  stylu  uniksowym,  ale  interpretowana  jako  czas
                         lokalny, a nie UTC.

       Typy numeryczne mog wystpowa w parze z (nastpujcym po nich) znakiem & i
       wartoci numeryczn wskazujc, e dana warto ma by poddana operacji  AND  z
       zadan  wartoci numeryczn przed dokonaniem porownania. Poprzedzenie typu
       przez u wskazuje, e porownane wartoci powinny by bez znaku.

       test   Warto, ktore ma by porownywana z wartoci z pliku. Jeli typ  jest
              numeryczny,  to  warto jest podawana w postaci zgodnej z jzykiem
              C. Jeli typ jest lacuchowy, to warto jest podawana  jako  lacuch
              jzyka  C  z  dozwolonymi  znakami  specjalnymi (np. \n dla nowej
              linii).

              Wartoci  numeryczne  mog  by  poprzedzone  znakami   okrelajcymi
              operacj,  jaka  ma  zosta  wykonana.  Znakiem operacji moe by =,
              okrelajcy, e warto z pliku musi si  rowna  wartoci  podanej,  <,
              okrelajcy,  e  warto  z  pliku  musi  by mniejsza od podanej, >,
              okrelajcy, e warto  z  pliku  musi  by  wiksza  od  podanej,  &,
              okrelajcy,  e  warto  z  pliku  musi mie wszystkie bity, ktore s
              ustawione w podanej wartoci, ^, okrelajcy, e warto z pliku  musi
              mie  wyzerowane  wszystkie  bity,  ktore  s  ustawione w podanej
              wartoci, lub x, okrelajcy, e pasowa moe dowolna warto. Jeli znak
              operacji jest pominity, uywany jest =.

              Wartoci numeryczne s podawane w postaci zgodnej z jzykiem C, np.
              13 to liczba dziesitna, 013 to liczba osemkowa, 0x13  to  liczba
              szesnastkowa.

              Dla  wartoci  lacuchowych  lacuch  bajtow z pliku musi odpowiada
              podanemu  lacuchowi  bajtow.  Do  lacuchow  mog   by   stosowane
              operatory  =, < i > (lecz nie &).  Dlugo, uywana do porownywania
              jest dlugoci argumentu lacuchowego z  pliku  magicznego.  Znaczy
              to,  e  wiersz  mona  dopasowa do dowolnego lacucha i wypisa go,
              stosujc >\0 (poniewa  wszystkie  lacuchy  s  wiksze  od  lacucha
              zerowego).

       komunikat
              Komunikat,  wypisywany  po  pomylnym  dopasowaniu.  Jeli  lacuch
              zawiera specyfikacj formatu printf(3)  to  warto  z  pliku  jest
              wypisywana  (po  odpowiednim  maskowaniu)  przy uyciu komunikatu
              jako lacucha formatujcego.

       Niektore formaty plikow zawieraj dodatkowe dane, ktore maj by  wypisane
       razem  z danym typem pliku. Wiersz, rozpoczynajcy si od znaku > oznacza
       dodatkowe testy i komunikaty. Liczba > w  linii  okrela  poziom  testu;
       wiersz  bez  >  jest na poziomie 0. Kady wiersz w poziomie n+1 jest pod
       kontrol wiersza w  poziomie  n,  poprzedzajcego  go  najbliej  w  pliku
       magicznym.  Jeli test wiersza na poziomie n si powiedzie, dokonywane bd
       dalsze testy na poziomach n+1.  Proces  ten  koczy  nastpny  wiersz  na
       poziomie  n.   Jeli  pierwszy  znak  za  ostatnim  > to (, to lacuch za
       nawiasem jest interpretowany jako porednie przesunicie.  Znaczy  to,  e
       liczba  po nawiasie sluy jako przesunicie w pliku. Przy tym przesuniciu
       odczytywana jest  warto  uywana  nastpnie  jako  przesunicie  w  pliku.
       Przesunicia  porednie  s  postaci: (x[.[bslBSL]][+-][y]).  Warto x jest
       uywana  jako  przesunicie  w  pliku.  Nastpnie  przy  tym   przesuniciu
       odczytywany  jest  z  niego  bajt, slowo lub podwojne slowo, zalenie od
       specyfikatora typu  [bslBSL].   Wielkie  litery  oznaczaj  liczby  jako
       wartoci  grubokoce  (big-endian),  podczas  gdy  male  litery oznaczaja
       wartoci (ostrokoce) little-endian. Do liczby tej dodawana jest warto y,
       a  wynik sluy jako przesunicie w pliku. Domylnym typem przesunicia jest
       long.

       Czasami dokladne przesunicie nie jest  znane,  gdy  moe  ono  zalee  od
       dlugoci  poprzednich pol. Mona poda przesunicie wzgldem koca ostatniego
       pola wyszego poziomu (oczywicie mona to wykona tylko  przy  testach  na
       podpoziomach,  tj.  testach  rozpoczynajcych  si  od >).  Takie wzgldne
       przesunicie podawane jest za pomoc przedrostka & w przesunicia.

B/LDY

       Formaty long, belong, lelong, short, beshort, leshort, date,  bedate  i
       ledate zale od systemu; moe powinny by podawane jako liczba bajtow (2B,
       4B, itd), gdy  rozpoznawane  pliki  zwykle  pochodz  z  systemu,  gdzie
       dlugoci s niezmienne.

       Nie  ma (obecnie) obslugi dla korzystania z danych o okrelonej kocowoci
       (endianness) przy przesuniciach porednich.

ZOBACZ TAKE

       file(1) - polecenie, ktora czyta ten plik.

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.

                                Ogolnie dostpne                       MAGIC(5)