Provided by: manpages-pl_20060617-3_all bug

NAZWA

       file - okrelenie typu pliku

SK/LADNIA

       file [ -bciknsvzL ] [ -f nazwapliku ] [ -m lista ] plik ...
       plik -C [ -m plikmag ]

OPIS

       Ta strona podrcznika opisuje wersj 3.37 polecenia file.

       file  sprawdza  kady  ze  swoich  argumentow,  probujc go sklasyfikowa.
       Istniej trzy zestawy testow, ktore s wykonywane w nastpujcej kolejnoci:
       testy  systemu  plikow,  testy liczb magicznych, testy jzyka.  Pierwszy
       zakoczony powodzeniem test powoduje wypisanie typu pliku.

       Wypisany typ bdzie zwykle zawieral jedno ze  slow  text  (plik  zawiera
       tylko   znaki   drukowalne   i  kilka  sporod  znakow  sterujcych  oraz
       prawdopodobnie  mona  go  bezpiecznie  czyta  na  terminalu  ASCII   ),
       executable  (wykonywalny  --  plik zawiera wyniki kompilacji w formacie
       zrozumialym dla jdra pewnego Uniksa lub innego systemu) lub data (dane)
       oznaczajce  cokolwiek  innego  (zwykle  jest  to binarny, niedrukowalny
       plik). Wyjtkami s ogolnie znane formaty  plikow  (pliki  core,  archiwa
       tar),  o ktorych wiadomo, e zawieraj dane binarne.  Podczas modyfikacji
       pliku /usr/share/misc/magic lub te samego programu  zachowaj  te  s/lowa
       kluczowe.   Wielu  polega  na  tym,  e dla wszystkich czytelnych plikow
       wypisywane jest slowo ,,text''. Nie naley wic robi tego, co zrobiono  w
       Berkeley  -  zmieniono tam ,,shell commands text'' na ,,shell script''.
       Naley  te  zauway,   e   plik   /usr/share/misc/magic   jest   tworzony
       mechanicznie z wielu malych plikow z podkatalogu Magdir dystrybuowanych
       rodel niniejszego programu.

       Testy systemu plikow s oparte o  sprawdzanie  wartoci  zwracanej  przez
       funkcj systemow stat(2).  Program sprawdza czy plik jest pusty oraz czy
       jest  jakiego  rodzaju  plikiem  specjalnym.  Powinno  si  da  rozpozna
       wszystkie rodzaje plikow wystpujce w danym systemie (gniazda, dowizania
       symboliczne, nazwane potoki (FIFO), itd.), o ile te rodzaje  plikow  bd
       zdefiniowane w systemowym pliku naglowkowym sys/stat.h.

       Testy liczb magicznych slu do sprawdzania plikow, ktore zawieraj dane w
       okrelonym  formacie.  Kanonicznym  tego  przykladem  jest   wykonywalne
       binarium (skompilowany program) a.out, ktorego format jest zdefiniowany
       w a.out.h i prawdopodobnie w  exec.h  w  standardowym  katalogu  plikow
       naglowkowych.   Pliki  te  zawieraj  ,,liczby  magiczne''  w  okrelonym
       miejscu w pobliu pocztku pliku.  Liczby  te  informuj  uniksowy  system
       operacyjny  o  tym,  e  plik  jest  wykonywalnym  binarium oraz ktory z
       moliwych typow binariow reprezentuje.  Koncepcja  ,,liczb  magicznych''
       zostala  jako  rozszerzenie zastosowana rownie do plikow z danymi. Mona
       tak opisa kady plik posiadajcy niezmienny identyfikator  przy  malym  i
       okrelonym  przesuniciu wzgldem pocztku pliku.  Informacje identyfikujce
       te  pliki  s  odczytywane  ze  skompilowanego  pliku  liczb  magicznych
       /usr/share/misc/magic.mgc lub z /usr/share/misc/magic, gdy skompilowany
       plik nie istnieje.

       Jeli plik nie pasuje do adnego  z  wpisow  w  pliku  liczb  magicznych,
       dokonywane  jest  sprawdzenie czy jest to plik tekstowy. Rozpoznawane s
       zestawy  znakow:  ASCII,  ISO-8859-x,   8-bitowe   rozszerzenia   ASCII
       niezgodne  z  ISO  (uywane  w  systemach Macintosh i IBM PC), Unicode w
       kodowaniu UTF-8, Unicode w kodowaniu UTF-16 oraz EBCDIC.  Sprawdzane  s
       zakresy  i  cigi  bajtow, ktore stanowi drukowalny tekst w kadym z tych
       zestawow znakow.  Jeli plik przejdzie ktory z  tych  testow,  zglaszany
       jest  odpowiadajcy  mu  zestaw znakow. Pliki w ASCII, ISO-8859-x, UTF-8
       oraz w rozszerzeniach ASCII s identyfikowane jako ,,text'', gdy  s  one
       na ogol czytejne na dowolnym terminalu; pliki w UTF-16 i EBCDIC stanowi
       jedynie ,,character data'' (dane znakowe), gdy jeli zawieraj one tekst,
       tekst  ten  wymaga przed przeczytaniem konwersji. Dodatkowo, file bdzie
       probowal okreli inne charakterystyki plikow tekstowych. Jeli wiersze  s
       zakoczone  znakami  CR,  CRLF lub NEL, zamiast standardowego uniksowego
       LF,  zostanie  to  zgloszone.  Zostan  rownie   zidentyfikowane   pliki
       zawierajce wbudowane sekwencje unikowe lub wielokrotnego drukowania.

       Po  okreleniu  przez  file  zestawu  znakow uywanego w pliku tekstowym,
       sprobuje on odgadn w jakim jzyku plik zostal napisany.   Testy  jzykowe
       skladaj  si  z poszukiwa okrelonych lacuchow znakowych (por.  names.h),
       ktore mog pojawi si gdziekolwiek w kilku pierwszych blokach pliku.   Na
       przyklad  slowo  kluczowe  .br wskazuje, e plik jest najprawdopodobniek
       plikiem wejciowym dla programu troff(1) podobnie, jak  struct  wskazuje
       na  program  w  C.   Testy te s mniej godne zaufania ni poprzednie dwie
       grupy, wic s wykonywane na kocu. Testy jzykowe testuj  rownie  niektore
       pliki zbiorcze (jak archiwa tar(1)).

       Plik,  ktory  nie  moe  zosta  okrelony  jako  jako zapisany w jednym z
       powyszych zestawow  znakow,  jest  po  prostu  okrelany  jako  ,,data''
       (dane).

OPCJE

       -b      Nie  podawanie  nazw plikow na pocztku wierszy wynikowych (tryb
               skrocony).

       -c      Powoduje  sprawdzanie  wydruku  przetworzonej   postaci   pliku
               magicznego.  Jest  to  zwykle  uywane  w  polczeniu  z  -m, aby
               odpluskwi plik liczb magicznych przed jego zainstalowaniem.

       -C      Zapisuje  plik  wynikowy  magic.mgc,  ktory   zawiera   wstpnie
               przetworzon wersj pliku.

       -f nazwapliku
               Odczytuje  nazwy  testowanych  plikow z nazwapliku (po jednym w
               wierszu) przed list argumentow.  Obecna musi by albo nazwapliku
               albo  przynajmniej  jeden argument bdcy nazw pliku; aby testowa
               standardowe wejcie, naley uy argumentu ,,-''jako nazwy pliku.

       -i      Powoduje wypisywanie przez polecenie file lacuchow  stanowicych
               typy  MIME,  zamiast bardziej tradycyjnej postaci czytelnej dla
               czlowieka.  Zatem   moe   ono   raczej   wypisa   ,,text/plain;
               charset=us-ascii''   zamiast  ,,ASCII  text''.   Aby  ta  opcja
               dzialala, file zmienia sposob w jaki obsluguje rozpoznane pliki
               (takie  jak  wiele typow plikow tekstowych, katalogi itd.) oraz
               posluguje  si  alternatywnym  plikiem   ,,liczb   magicznych''.
               (Zobacz sekcj ,,PLIKI'', poniej.)

       -k      Nie   zatrzymuje  si  po  znalezieniu  pierwszego  dopasowania,
               kontynuuje testowanie.

       -m lista
               Podaje alternatywn list plikow z liczbami magicznymi. Moe to by
               pojedynczy plik lub rozdzielona dwukropkami lista plikow.

       -n      Wymusza  wyprowadzenie  danych wyjciowych po sprawdzeniu kadego
               pliku. Jest to  przydatne  jedynie  podczas  sprawdzania  listy
               plikow.  W zamierzeniu ma by przydatne programom, ktore wymagaj
               wyprowadzania typow plikow w potoku.

       -v      Drukuje informacje o wersji i koczy.

       -z      Probuje zaglda do plikow skompresowanych.

       -L      powoduje, e program poda za dowizaniami symbolicznymi, podobnie
               jak w przypadku opcji ls(1) o identycznej nazwie (na systemach,
               ktore obsluguj dowizania symboliczne).

       -s      Normalnie, file probuje czyta i okrela rodzaj pliku jedynie dla
               tych argumentow, ktore s plikami zgloszonymi przez stat(2) jako
               zwykle pliki.  Pozwala to unikn problemow, gdy czytanie  plikow
               specjalnych moe mie nieprzyjemne konsekwencje. Podanie opcji -s
               powoduje,  e  file  czyta   rownie   argumenty   bdce   plikami
               specjalnymi  urzdze blokowych i znakowych. Jest to przydatne do
               okrelania rodzaju systemu plikow w przypadku danych na surowych
               partycjach   dyskow,   stanowicych   pliki   specjalne   urzdze
               blokowych. Opcja  ta  powoduje  rownie,  e  file  nie  zwaa  na
               zglaszany   przez  stat(2)  rozmiar  pliku,  gdy  w  niektorych
               systemach funkcja ta zglasza zero dla surowych partycji dyskow.

PLIKI

       /usr/share/misc/magic.mgc - domylna skompilowana lista liczb magicznych

       /usr/share/misc/magic - domylna lista liczb magicznych

       /usr/share/misc/magic.mime - domylna lista liczb magicznych,  sluca  do
       wypisywania typow MIME w przypadku podania opcji -i.

RODOWISKO

       Zmienna rodowiskowa MAGIC ustawia domylny plik liczb magicznych.

ZOBACZ TAKE

       magic(5) - opis formatu pliku liczb magicznych.
       strings(1),   od(1),   hexdump(1)   -  narzdzia  do  testowania  plikow
       nietekstowych.

ZGODNO ZE STANDARDAMI

       Program ten prawdopodobnie wykracza poza definicj FILE(CMD) z definicji
       interfejsu  Systemu  V  (System  V Interface Definition). Wydaje si tak
       przynajmniej z tego, co mona zrozumie z tamtejszego niejasnego jzyka...
       Zachowanie  programu  jest  w  wikszoci zgodne z zachowaniem programu z
       Systemu V o tej samej nazwie. Wersja niniejsza  zna  wicej  magii,  wic
       bdzie dawala w wielu wypadkach inne (dokladniejsze) wyniki.

       Jedn  z  istotnych  ronic midzy t wersj i wersj z Systemu V, jest to, e
       niniejsza wersja traktuje biale znaki jako  separatory,  wic  spacje  w
       lacuchach  wzorcow  musz  by  chronione  (przez  odwrotny  ukonik).  Na
       przyklad,
       >10  string    language impress    (imPRESS data)
       w istniejcym pliku magicznym musialo by by zmienione na
       >10  string    language\ impress   (imPRESS data)
       Dodatkowo, w tej wersji, jeli lacuch wzorca zawiera odwrotny ukonik, to
       musi by on chroniony. Na przyklad
       0    string         \begindata     Andrew Toolkit document
       w istniejcym pliku magicznym musialo by by zmienione na
       0    string         \\begindata    Andrew Toolkit document

       Wersja  3.2  SunOS  i  poniejsze  pochodzce z Sun Microsystems zawieraj
       polecenie file(1), wywodzce si z polecenia z System V, lecz  z  pewnymi
       rozszerzeniami.  Moja  wersja  roni  si  od  Sun-owskiej  tylko  malymi
       szczegolami. Zawiera ona rozszerzenie operatora `&', uywanego jako np.
       >16  long&0x7fffffff     >0        not stripped

KATALOG MAGICZNY

       Wpisy w pliku liczb magicznych pochodz z wielu rodel, glownie z USENET-
       u  i  zgloszone  przez  ronych autorow.  Christos Zoulas (adres poniej)
       bdzie zbieral dodatkowe lub poprawione wpisy  pliku  liczb  magicznych.
       Zebrane wpisy bd okresowo dystrybuowane.

       Kolejno  wpisow  w  pliku  magicznym  jest istotna. Zalenie od uywanego
       systemu, kolejno, w ktorej s uloone, moe by nieprawidlowa.  Jeli  stare
       polecenie file uywa pliku magicznego, warto zachowa stary plik magiczny
       dla porownania (zmieniajc jego nazw na /usr/share/misc/magic.orig).

PRZYK/LADY

       $ file file.c file /dev/hda
       file.c:   C program text
       file:     ELF 32-bit LSB executable, Intel 80386, version 1,
                 dynamically linked, not stripped
       /dev/hda: block special

       $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
       /dev/hda:   x86 boot sector
       /dev/hda1:  Linux/i386 ext2 filesystem
       /dev/hda2:  x86 boot sector
       /dev/hda3:  x86 boot sector, extended partition table
       /dev/hda4:  Linux/i386 ext2 filesystem
       /dev/hda5:  Linux/i386 swap file
       /dev/hda6:  Linux/i386 swap file
       /dev/hda7:  Linux/i386 swap file
       /dev/hda8:  Linux/i386 swap file
       /dev/hda9:  empty
       /dev/hda10: empty

       $ file -i file.c file /dev/hda
       file.c:      text/x-c
       file:        application/x-executable, dynamically linked (uses shared libs), not stripped
       /dev/hda:    application/x-not-regular-file

HISTORIA

       Polecenie file istnialo w kadym systemie UNIX  od  przynajmniej  wersji
       Research  Version 6 (strona podrcznika man z 16 stycznia 1975).  Wersja
       z Systemu V wprowadzila jedn istotn glown zmian:  zewntrzn  list  typow
       liczb  magicznych.   Spowolnilo  to  troch  program,  lecz  uczynilo go
       bardziej elastycznym.

       Program ten, oparty na wersji z Systemu V, zostal napisany  przez  Iana
       Darwina <ian@darwinsys.com> bez zagldania do innych rodel.

       John  Gilmore  przerobil  mocno  ten kod, czynic go lepszym ni pierwsza
       wersja.  Geoff Collyer znalazl kilka  nietrafnoci  i  dostarczyl  troch
       wpisow  w  pliku liczb magicznych. Zmiana obslugi operatora ,,&'' przez
       Roba McMahona, cudcv@warwick.ac.uk, w 1989.

       Guy Harris, guy@netapp.com, wykonal wiele zmian w okresie  od  1993  do
       dzisiaj.

       Podstawowy  rozwoj  i  konserwacj w okresie od 1990 do dzisiaj prowadzi
       Christos Zoulas (christos@astron.com).

       Zmodyfikowany przez Chrisa Lowtha,  chris@lowth.com,  w  2000:  Obsluga
       opcji   ,,-i''   powodujcej  wyprowadzanie  lacuchow  typow  MIME  oraz
       korzystajcej z  alternatywnego  pliku  liczb  magicznych  i  wbudowanej
       logiki.

       Zmodyfikowany  przez  Erica Fischera (enf@pobox.com), w lipcu 2000, aby
       rozpoznawal kody znakow i probowal zidentyfikowa jzyk plikow nie-ASCII.

       Lista osob, ktore wniosly  wklad  do  katalogu  "Magdir"  (rodla  pliku
       /etc/magic)  jest  za  dluga, aby j ty przytacza.  Wiecie kim jestecie;
       dzikujemy.

NOTKA PRAWNA

       Copyright  (c)  Ian  F.  Darwin,  Toronto,   Canada,   1986-1999.    Na
       standardowej licencji Berkeley Software Distribution; znajduje si ona w
       pliku LEGAL.NOTICE dystrybyowanych rodel.

       Pliki tar.h oraz is_tar.c zostaly  napisane  przez  Johna  Gilmore'a  a
       pochodz  z jego ogolnie dostpnego programu tar, i nie podlegaj powyszej
       licencji.

B/LDY

       Musi istnie lepszy sposob na zautomatyzowanie konstrukcji  pliku  liczb
       magicznych  ze  wszystkiego  w  Magdir. Jaki to sposob?  Co wicej, plik
       magiczny powinien by kompilowany do binarium  (powiedzmy,  ndbm(3)  lub
       jeszcze lepiej, do ASCII o stalej dlugoci lacuchow znakowych do uytku w
       heterogenicznych rodowiskach sieciowych) w celu szybszego uruchamiania.
       Wtedy  program  dzialalby  tak szybko, jak program o tej samej nazwie z
       Wersji 7, z elastycznoci wersji z Systemu V.

       file uywa kilku algorytmow, ktore przedkladaj szybko nad dokladno,  wic
       moe zosta zmylony co do zawarotci plikow tekstowych.

       Obsluga  plikow  tekstowych (przede wszystkim dla jzykow programowania)
       jest uproszczona, nieefektywna a do aktualizacji wymaga rekompilacji.

       Powinnna istnie klauzula ,,else'', aby obsluy kontynuacje linii.

       Plik liczb magicznych  i  slowa  kluczowe  powinny  obslugiwa  wyraenia
       regularne.   Uywanie przez nie znaku ASCII TAB jako separatora pol jest
       paskudne i utrudnia edycj plikow, ale jest ju zakorzenione.

       Moe by zalecanym zezwolenie na wystpowanie  wielkich  liter  w  slowach
       kluczowych,  np.  polecenia  troff(1)  vs  makra  stron podrcznika man.
       Obsluga wyrae regularnych ulatwilaby to.

       Program  nie  identyfikuje  poprawnie  FORTRANu.   Powinno  by   moliwe
       rozpoznawanie  FORTRANu przez wyszukanie pewnych slow kluczowych, ktore
       pojawiaj si po wciciach na pocztku linii.   Obsluga  wyrae  regularnych
       ulatwilaby to.

       Lista  slow  kluczowych  w  ascmagic  prawdopodobnie przynaley do pliku
       liczb  magicznych.   Mona  to  zrobi  poprzez   uycie   jakiego   slowa
       kluczowego, w rodzaju ,,*'' jako wartoci przesunicia w pliku.

       Inn  optymalizacj  byloby  sortowanie pliku magicznego w ten sposob, by
       mona bylo przelecie wszystkie testy pierwszego bajtu, pierwszego slowa,
       pierwszego  podwojnego  slowa  itd.,  gdy tylko zostanie on zaladowany.
       Narzekania na konflikty we wpisach plikow magicznych. Ustalenie zasady,
       e  wpisy w pliku liczb magicznych s sortowane w oparciu o przesunicie w
       badanym pliku, nie za o pozycj wewntrz pliku magicznego?

       Program powinien umoliwi ocen, ,,jak dobre'' bylo  zgadnicie.   Koczymy
       na  usuwaniu  zgadni  (np.  ,,From  '' jako pierwsze 5 znakow w pliku),
       poniewa nie s one tak dobre jak inne zgadnicia (np. ,,Newsgroups:''  vs
       ,,Return-Path:'').  Jednak  wci,  jeli  inne  nie bd pasowa, powinno by
       moliwe uycie pierwszych zgadni.

       Program ten jest wolniejszy ni polecenia file niektorych dystrybutorow.
       Nowa obsluga kodow wieloznakowych czyni go jeszcze wolniejszym.

       Ta strona podrcznika man, a szczegolnie ta sekcja, jest zbyt dluga.

DOSTPNO

       Najnowsz  oryginaln wersj programu tego autora mona pobra z anonimowego
       ftp z ftp.astron.com z katalogu /pub/file/file-X.YY.tar.gz

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.

                 Chronione prawem autorskim ale dystrybuowalne         FILE(1)