Provided by: manpages-pl_4.27.0-1_all bug

NAZWA

       file — określa typ pliku

SKŁADNIA

       file  [-bcdEhiklLNnprsSvzZ0]  [--apple]  [--exclude-quiet]  [--extension] [--mime-encoding] [--mime-type]
       [-e nazwa-testu] [-F separator] [-f nazwa-pliku] [-m pliki-magiczne] [-P nazwa=wartość] file ... file  -C
       [-m pliki-magiczne] file [--help]

OPIS

       Niniejsza strona podręcznika dokumentuje wersję 5.46 polecenia .

       file  sprawdza każdy ze swoich argumentów, próbując go sklasyfikować. Istnieją trzy zestawy testów, które
       są wykonywane w następującej kolejności: testy systemu plików, testy liczb  magicznych  i  testy  języka.
       Pierwszy test zakończony powodzeniem powoduje wypisanie typu pliku.

       Wypisany  typ  będzie  zwykle  zawierał  jedno  ze słów text (plik zawiera tylko znaki drukowalne i kilka
       spośród znaków  sterujących  oraz  prawdopodobnie  można  go  bezpiecznie  czytać  na  terminalu  ASCII),
       executable (wykonywalny -- plik zawiera wyniki kompilacji w formacie zrozumiałym dla jądra pewnego Uniksa
       lub  innego  systemu) lub data (dane) oznaczające cokolwiek innego (zwykle jest to binarny, niedrukowalny
       plik). Wyjątkami są ogólnie znane formaty plików  (pliki  core,  archiwa  tar),  o  których  wiadomo,  że
       zawierają  dane  binarne.  Podczas  modyfikacji plików magicznych lub samego programu, proszę zachować te
       słowa kluczowe.  Wielu polega na tym, że dla wszystkich czytelnych plików wypisywane jest  słowo  „text”.
       Nie  należy  więc  robić  tego,  co  zrobiono  w Berkeley - zmieniono tam „shell commands text” na „shell
       script”.

       Testy systemu plików są oparte o sprawdzanie wartości 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  plików  występujące  w danym systemie (gniazda, dowiązania symboliczne lub
       nazwane potoki (FIFO), w systemach które je zaimplementowały), o ile te rodzaje plików będą  zdefiniowane
       w systemowym pliku nagłówkowym <sys/stat.h.>

       Testy   liczb   magicznych   służą   do  sprawdzania  plików, które zawierają dane w określonym formacie.
       Dobrym tego przykładem jest wykonywalny plik binarny (skompilowany program) a.out,  którego  format  jest
       zdefiniowany  w <elf.h,> <a.out.h> i prawdopodobnie <exec.h> w standardowym katalogu plików nagłówkowych.
       Pliki te zawierają „liczby magiczne” w określonym miejscu, w pobliżu początku pliku. Liczby te  informują
       uniksowy system operacyjny o tym, że plik jest wykonywalnym plikiem binarnym oraz który z możliwych typów
       reprezentuje.  Koncepcja  „liczb  magicznych”  została  jako rozszerzenie zastosowana również do plików z
       danymi. Można tak opisać  każdy  plik  posiadający  niezmienny  identyfikator  przy  małym  i  określonym
       przesunięciu względem początku pliku. Informacje identyfikujące te pliki są odczytywane ze skompilowanego
       pliku  liczb  magicznych /usr/share/misc/magic.mgc lub z katalogu /usr/share/misc/magic, gdy skompilowany
       plik nie istnieje. Dodatkowo, pliki $HOME/.magic.mgc lub $HOME/.magic, jeśli będą istniały, zostaną użyte
       z pierwszeństwem w stosunku do systemowych plików magicznych.

       Jeśli plik nie pasuje do żadnego z wpisów w pliku liczb magicznych, dokonywane jest sprawdzenie czy  jest
       to  plik  tekstowy.  Rozpoznawane  są  zestawy  znaków:  ASCII,  ISO-8859-x,  8-bitowe rozszerzenia ASCII
       niezgodne z ISO (używane w systemach Macintosh i IBM PC), Unicode w kodowaniu UTF-8, Unicode w  kodowaniu
       UTF-16 oraz EBCDIC. Sprawdzane są zakresy i ciągi bajtów, które stanowią drukowalny tekst w każdym z tych
       zestawów  znaków.   Jeśli  plik  przejdzie  któryś  z tych testów, zgłaszany jest odpowiadający mu zestaw
       znaków. Pliki w ASCII, ISO-8859-x, UTF-8 oraz w rozszerzeniach ASCII są identyfikowane jako „text”,  gdyż
       mogą   być one na ogół czytane na dowolnym terminalu; pliki w UTF-16 i EBCDIC stanowią jedynie „character
       data” (dane znakowe), gdyż jeśli zawierają one tekst, tekst ten  wymaga  przed  przeczytaniem  konwersji.
       Dodatkowo,  file  będzie  próbował  określić  inne  charakterystyki  plików  tekstowych. Jeśli wiersze są
       zakończone znakami CR, CRLF lub NEL, zamiast standardowego uniksowego LF, zostanie to zgłoszone.  Zostaną
       również zidentyfikowane pliki zawierające wbudowane sekwencje unikowe lub wielokrotnego drukowania.

       Po  określeniu przez file zestawu znaków używanego w pliku tekstowym, spróbuje on odgadnąć w jakim języku
       plik został napisany. Testy językowe składają się z poszukiwań  określonych  łańcuchów   znakowych  (por.
       <names.h)>  ,  które  mogą  pojawić  się gdziekolwiek w kilku pierwszych blokach pliku. Na przykład słowo
       kluczowe .br wskazuje, że plik jest najprawdopodobniej plikiem wejściowym dla programu troff(1) podobnie,
       jak struct wskazuje na program w C. Testy te są mniej godne zaufania niż poprzednie dwie grupy,  więc  są
       wykonywane  na  końcu.  Testy językowe testują również niektóre pliki zbiorcze (jak archiwa tar(1), pliki
       JSON).

       Plik, który nie może zostać określony jako jako zapisany w jednym z powyższych zestawów znaków,  jest  po
       prostu określany jako „data” (dane).

OPCJE

       --apple
               Powoduje,  że  polecenie  file  wypisuje  typ  pliku  i  kod  twórcy zgodnie z zapisem używanym w
               starszych wersjach MacOS. Kod składa się z ośmiu liter,  pierwsza  opisuje  typ  pliku,  ostatnia
               twórcę.  Opcja  ta  działa  poprawnie  jedynie  dla  formatów  plików ze wyjściem zdefiniowanym w
               niniejszym zapisie.

       -b, --brief
               Nie podaje nazw plików na początku wierszy wynikowych (tryb skrócony).

       -C, --compile
               Zapisuje plik wynikowy magic.mgc, który zawiera wstępnie przetworzoną wersję pliku lub katalogu.

       -c, --checking-printout
               Powoduje sprawdzenie wydruku przetworzonej postaci pliku magicznego. Jest  to  zwykle  używane  w
               połączeniu z opcją -m, aby odpluskwić nowy plik liczb magicznych przed jego zainstalowaniem.

       -d      Wypisuje wewnętrzne informacje debugowania na standardowe wyjście błędów.

       -E      W  przypadku błędów systemu plików (np. nie znaleziono pliku) nie obsługuje błędu jako normalnego
               wyniku i nie kontynuuje działania, jak wymaga norma POSIX, lecz wyświetla błąd i wychodzi.

       -e, --exclude nazwa-testu
               Wyłącza test o nazwie nazwa-testu z listy testów, przeprowadzanych w celu określenia typu  pliku.
               Poprawne nazwy testów to:

               apptype   Typ aplikacji EMX (tylko na EMX).

               ascii     Różne typy plików tekstowych (ten test stara się odgadnąć kodowanie tekstu, niezależnie
                         od opcji „encoding”).

               encoding  Różne kodowania tekstowe do testów magicznych soft.

               tokens    Ignorowane w celu zachowania kompatybilności wstecznej.

               cdf       Wypisuje szczegóły plików Compound Document File.

               compress  Wyszukuje i zagłębia się w pliki skompresowane.

               csv       Wyszukuje  plików z wartościami rozdzielonymi przecinkiem (ang. Comma Separated Value -
                         CSV)

               elf       Wypisuje szczegóły pliku ELF, zakładając że włączone są testy magiczne soft i odszukano
                         magiczne elf.

               json      Sprawdza pliki JSON (RFC-7159) pod kątem poprawności.

               soft      Sprawdza z plikami magicznymi.

               simh      Sprawdza pliki taśm SIMH.

               tar       Sprawdza  pliki  tar  weryfikując  sumę  kontrolną  512-bajtowego  nagłówka   archiwum.
                         Wyłączenie tego testu może dać bardziej szczegółowy opis zawartości, przy użyciu metody
                         soft.

               text      Synonim „ascii”.

       --exclude-quiet
               Podobnie  jak  --exclude  lecz  ignoruje  testy, których nie zna .  Zapewnia to kompatybilność ze
               starszymi wersjami programu .

       --extension
               Wyświetla listę prawidłowych rozszerzeń dla znalezionego typu pliku, rozdzielonych ukośnikiem.

       -F, --separator separator
               Używa podanego łańcucha jako separatora między nazwą pliku a zwróconym wynikiem pliku.  Domyślnie
               jest to „:”.

       -f, --pliki-od nazwa-pliku
               Odczytuje  nazwy  testowanych  plików z nazwa-pliku (po jednym w wierszu) przed listą argumentów.
               Obecna musi być albo nazwa-pliku  albo  przynajmniej  jeden  argument  będący  nazwą  pliku;  aby
               testować  standardowe  wejście,  należy  użyć argumentu „-” jako nazwy pliku. Proszę zauważyć, że
               nazwa-pliku nie jest rozwijana, a nazwy plików są przetwarzane przy wystąpieniu tej  opcji  przed
               wszystkimi  innymi  opcjami.  Pozwala to na przetworzenie wielu list plików z różnymi argumentami
               wiersza polecenia, w tym samym wywołaniu .  Z tego powodu, jeśli chce  się  ustawić  ogranicznik,
               konieczne  jest zrobienie tego przed podaniem listy plików, np. „ -F @ -f nazwa-pliku ”, zamiast:
               „ -f nazwa-pliku -F @ ”.

       -h, --no-dereference
               Opcja powoduje, że nie zachodzi podążanie  za  dowiązaniami  symbolicznymi  (w  systemach,  które
               obsługują  dowiązania  symboliczne). Jest to domyślne zachowanie, jeśli nie zdefiniowano zmiennej
               środowiskowej POSIXLY_CORRECT.

       -i, --mime
               Powoduje, że polecenie file wypisuje łańcuchy typów mime, zamiast  tradycyjnych  nazw  czytelnych
               dla użytkownika. Stąd, pojawić się może „text/plain; charset=us-ascii”, zamiast „ASCII text”.

       --mime-type, --mime-encoding
               Jak -i, lecz wypisuje jedynie określone element(y).

       -k, --keep-going
               Nie  zatrzymuje  się  po  pierwszym  dopasowaniu.  Kolejne dopasowania będą poprzedzone łańcuchem
               „\012- ” (aby osiągnąć znak nowego wiersza, proszę skorzystać z opcji -r).  Wygrywa najsilniejszy
               wzór magiczny (patrz opcja -l).

       -l, --list
               Pokazuje listę wzorców i ich siłę posortowanych malejącą według siły magic(5), która jest używana
               do dopasowania (zobacz też opcję -k).

       -L, --dereference
               Opcja powoduje, że program podąża za dowiązaniami symbolicznymi, tak jak w przypadku opcji  ls(1)
               (w  systemach  obsługujących  dowiązania  symboliczne)  o  identycznej  nazwie.  Jest to domyślne
               zachowanie, jeśli zdefiniowano zmienną środowiskową POSIXLY_CORRECT.

       -m, --plik-magiczny pliki-magiczne
               Podaje alternatywną listę plików i katalogów zawierających magię. Może być to pojedynczy plik lub
               rozdzielona dwukropkami lista plików. Jeśli razem z plikiem lub  katalogiem  zostanie  znaleziony
               skompilowany plik magiczny, zostanie użyty zamiast pliku lub katalogu.

       -N, --no-pad
               Nie wyrównuje nazw plików tak, aby wynik wyglądał lepiej.

       -n, --no-buffer
               Wymusza  opróżnienie  standardowego  wyjścia  po  sprawdzeniu  każdego  pliku.  Jest to przydatne
               wyłącznie przy sprawdzaniu listy plików. Opcja jest przeznaczona do programów oczekujących wyniku
               z typem plików, pozyskanego z potoku.

       -p, --preserve-date
               W systemach obsługujących utime(3) lub utimes(2), stara się zachować czas  dostępu  analizowanych
               plików, aby udać, że file nigdy ich nie odczytało.

       -P, --parameter nazwa=wartość
               Ustawia różne limity parametrów.

               Nazwa        Domyślnie  Opis
               bytes        1M         maks. liczba bajtów do odczytu z pliku
               elf_notes    256        maks. liczba przetw. węzłów ELF
               elf_phnum    2K         maks. liczba przetw. sekcji programu ELF
               elf_shnum    32K        maks. liczba przetw. sekcji ELF
               elf_shsize   128MB      maks. liczba przetw. rozm. sekcji ELF
               encoding     65K        maks. liczba bajtów do rozpozn. kodowania
               indir        50         limit rekurencji dla magii niebezpośr.
               name         100        limit dla name/use magii
               regex        8K         limit długości dla przeszukiwań wyr. reg.

       -r, --raw
               Nie  tłumaczy  niedrukowalnych  znaków  na  \ooo. Zwykle file tłumaczy znaki niedrukowalne na ich
               postać ósemkową.

       -s, --pliki-specjalne
               Normalnie, file próbuje czytać i określać rodzaj pliku jedynie  dla  tych  argumentów,  które  są
               plikami  zgłoszonymi przez stat(2) jako zwykłe pliki. Pozwala to uniknąć problemów, gdyż czytanie
               plików specjalnych może mieć nieprzyjemne konsekwencje. Podanie opcji -s powoduje, że file  czyta
               również  argumenty  będące plikami specjalnymi urządzeń  blokowych i znakowych. Jest to przydatne
               do  określania  rodzaju  systemu  plików  w  przypadku  danych  na  surowych  partycjach  dysków,
               stanowiących  pliki specjalne urządzeń blokowych. Opcja ta powoduje również, że file nie zważa na
               zgłaszany przez stat(2) rozmiar pliku, gdyż w niektórych systemach funkcja ta  zgłasza  zero  dla
               surowych partycji dysków.

       -S, --no-sandbox
               W       systemach,       w       których       dostępna      jest      biblioteka      libseccomp
               (https://github.com/seccomp/libseccomp), opcja  -S  wyłącza  piaskownicę,  która  domyślnie  jest
               włączona.  Opcja  ta jest wymagana, aby file wykonywał zewnętrzne programy dekompresujące tj. gdy
               poda się opcję -z, a wbudowane dekompresory są niedostępne. W systemach,  w  których  piaskownica
               jest niedostępna, opcja ta nie ma znaczenia.

               Uwaga:  Ta  wersja pliku z Debiana została zbudowana bez obsługi seccomp, dlatego niniejsza opcja
               nie działa.

       -v, --version
               Wyświetla informacje o wersji i kończy działanie.

       -z, --uncompress
               Próbuje zaglądać do plików skompresowanych.

       -Z, --uncompress-noreport
               Próbuje zaglądać do plików skompresowanych, ale informuje tylko o zawartości, nie o kompresji.

       -0, --print0
               Wypisuje znak null „\0” po końcu nazwy plików. Przydatne do zastosowania cut(1) na wyniku.  Opcja
               nie wpływa na separator, który jest w dalszym ciągu wypisywany.

               Jeśli  opcję  tę  poda  się  więcej niż raz, file wypisze dla każdego wpisu jedynie: nazwę pliku,
               następnie NUL, następnie opis (lub tekst ERROR:), następnie drugi NUL.

       --help  Wyświetla komunikat pomocy i wychodzi.

ŚRODOWISKO

       Zmienna środowiskowa MAGIC może być wykorzystana do ustawienia domyślnej nazwy  pliku  magicznego.  Jeśli
       zmienna ta jest ustawiona, to file nie próbuje otworzyć $HOME/.magic.  file dodaje „.mgc” do wartości tej
       zmiennej,  jeśli  to  konieczne.  Zmienna  środowiskowa  POSIXLY_CORRECT  kontroluje  (w systemach, które
       obsługuję dowiązania środowiskowe), czy file będzie próbował podążać za dowiązaniami symbolicznymi. Jeśli
       jest ustawiona, to file podąża za nimi, w przeciwnym wypadku - nie.  Za  dowiązania  odpowiadają  również
       opcje -L i -h.

PLIKI

       /usr/share/misc/magic.mgc  Domyślna skompilowana lista liczb magicznych.
       /usr/share/misc/magic      Katalog zawierający domyślne pliki magiczne.

STATUS ZAKOŃCZENIA

       file  wyjdzie  z  0,  jeśli  operacja była pomyślna lub >0, gdy wystąpił błąd. Następujące błędy powodują
       wyświetlenie komunikatów diagnostycznych, jednak nie zmieniają kodu zakończenia programu (jak wymaga tego
       POSIX), chyba że podano -E:
                Nie można odnaleźć pliku
                Brak uprawnień do odczytu pliku
                Nie można rozpoznać typu pliku

PRZYKŁADY

             $ file file.c file /dev/{wd0a,hda}
             file.c:   C program text
             file:     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
                       dynamically linked (uses shared libs), stripped
             /dev/wd0a: block special (0/0)
             /dev/hda: block special (3/0)

             $ file -s /dev/wd0{b,d}
             /dev/wd0b: data
             /dev/wd0d: x86 boot sector

             $ 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/{wd0a,hda}
             file.c:      text/x-c
             file:        application/x-executable
             /dev/hda:    application/x-not-regular-file
             /dev/wd0a:   application/x-not-regular-file

ZOBACZ TAKŻE

       hexdump(1), od(1), strings(1), magic(5)

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 można zrozumieć z tamtejszego niejasnego
       języka... Zachowanie programu jest w większości zgodne z zachowaniem programu z Systemu  V  o  tej  samej
       nazwie.  Wersja  niniejsza  zna  więcej  magii, więc będzie dawała w wielu wypadkach inne (dokładniejsze)
       wyniki.

       Jedną z istotnych różnic między tą wersją i wersją z Systemu V, jest to,  że  niniejsza  wersja  traktuje
       białe znaki jako separatory, więc spacje w łańcuchach wzorców muszą być chronione. Na przykład,

             >10     string  language impress        (imPRESS data)

       w istniejącym pliku magicznym będzie musiało być zamienione na

             >10     string  language\ impress       (imPRESS data)

       Dodatkowo,  w  tej  wersji,  jeśli  łańcuch wzorca zawiera odwrotny ukośnik, to musi być on chroniony. Na
       przykład

             0       string          \begindata      Andrew Toolkit document

       w istniejącym pliku magicznym będzie musiało być zamienione na

             0       string          \\begindata     Andrew Toolkit document

       Wersja 3.2 SunOS i późniejsze pochodzące z Sun Microsystems zawierają polecenie  file,  wywodzące  się  z
       polecenia  z  System  V,  lecz  z pewnymi rozszerzeniami. Ta wersja różni się od Sun-owskiej tylko małymi
       szczegółami. Zawiera ona rozszerzenie operatora „&”, używanego jako np.

             >16     long&0x7fffffff >0              not stripped

BEZPIECZEŃSTWO

       W systemach, w których dostępna jest biblioteka libseccomp (https://github.com/seccomp/libseccomp),  file
       ogranicza  wywołania  systemowe tylko do ściśle niezbędnych do działania programu. Gdy file ma rozpakować
       pliki wejściowe za pomocą zewnętrznych programów, po podaniu opcji -z, to ograniczenie nie  daje  żadnych
       korzyści  związanych z bezpieczeństwem. Aby pozwolić na wykonywanie zewnętrznych dekompresorów, konieczne
       jest wyłączenie piaskownicy za pomocą opcji -S.

KATALOG MAGICZNY

       Wpisy w pliku liczb magicznych pochodzą z wielu źródeł, głównie z  USENET-u  i  zgłoszone  przez  różnych
       autorów.  Christos  Zoulas  (adres  poniżej)  będzie  zbierał  dodatkowe lub poprawione wpisy pliku liczb
       magicznych. Zebrane wpisy będą okresowo dystrybuowane.

       Kolejność wpisów w pliku magicznym jest istotna. Zależnie od używanego systemu, kolejność,  w  której  są
       ułożone, może być nieprawidłowa.

HISTORIA

       Polecenie  file  istniało  w  każdym  systemie  UNIX  od  przynajmniej  wersji Research Version 4 (strona
       podręcznika man z listopada 1973). Wersja z Systemu V wprowadziła jedną istotną główną zmianę: zewnętrzną
       listę typów liczb magicznych. Spowolniło to trochę program, lecz uczyniło go bardziej elastycznym.

       Program ten, oparty na wersji z Systemu V, został napisany przez  Iana  Darwina  ⟨ian@darwinsys.com⟩  bez
       zaglądania do innych źródeł.

       John Gilmore przerobił mocno ten kod, czyniąc go lepszym niż pierwsza wersja. Geoff Collyer znalazł kilka
       nietrafności i dostarczył trochę wpisów w pliku liczb magicznych. Zmiana obsługi operatora „&” przez Roba
       McMahona, ⟨cudcv@warwick.ac.uk⟩, w 1989.

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

       Podstawowy   rozwój   i   konserwację   w   okresie  od  1990  do  dzisiaj  prowadzi  Christos  Zoulas  (
       ⟨christos@astron.com⟩).

       Zmodyfikowany przez Chrisa Lowtha, ⟨chris@lowth.com⟩, w 2000: Obsługa opcji -i powodującej  wyprowadzanie
       łańcuchów  typów MIME oraz korzystającej z alternatywnego pliku liczb magicznych i wbudowanej logiki.

       Zmodyfikowany  przez  Erica  Fischera  (  ⟨enf@pobox.com⟩),  w  lipcu 2000, aby rozpoznawał kody znaków i
       próbował zidentyfikować język plików nie-ASCII.

       Zmodyfikowany przez Reubena Thomasa ⟨rrt@sc3d.org⟩, w latach 2007-2011,  w  celu  poprawy  obsługi  MIME,
       połączenia  magii MIME i nie MIME, obsługi zarówno katalogów jak i plików magicznych, zaaplikowania wielu
       poprawek błędów, zaktualizowania i  poprawienia  sporej  części  magii,  poprawienia  systemu  budowania,
       dokumentacji i przepisania podpięć Pythona w czystym Pythonie.

       Lista osób, które wniosły wkład do katalogu „magic” (pliki magiczne) jest za długa, aby ją tu przytaczać.
       Wiecie kim jesteście; dziękujemy. Wiele osób jest wspomnianych w plikach źródłowych.

NOTKA PRAWNA

       Copyright  (c)  Ian  F.  Darwin,  Toronto,  Canada, 1986-1999. Na standardowej licencji Berkeley Software
       Distribution, znajduje się ona w pliku COPYING, w katalogu źródeł.

       Pliki tar.h i is_tar.c zostały napisane przez Johna Gilmore'a,  a  pochodzą  z  jego  ogólnie  dostępnego
       programu tar(1) i nie podlegają powyższej licencji.

USTERKI

       Proszę zgłaszać błędy i wysyłać łatki do systemu śledzenia błędów pod adresem http://bugs.astron.com/ lub
       na      listę      dyskusyjną      ⟨file@astron.com⟩      (najpierw     proszę     się     zapisać     na
       https://mailman.astron.com/mailman/listinfo/file).

DO ZROBIENIA

       Naprawić wyjście, dzięki czemu testy flag MIME i APPLE nie będą potrzebne wszędzie, a rzeczywiste wyjście
       byłoby  tworzone  tylko  raz  w  jednym  miejscu.  Wymaga  odpowiedniego  projektu.  Sugestia:   wypychaj
       prawdopodobne  wyniki  na listę i użyj ostatniej wartości z listy (powinna być najdokładniejsza) lub użyj
       wartości domyślnej, jeśli lista jest pusta. Nie powinno to spowolnić obliczeń.

       Obsługa MAGIC_CONTINUE i wypisywanie \012- pomiędzy pozycjami jest niezręczne  i  skomplikowane:  dokonać
       refaktoryzacji i centralizacji.

       Część  logiki  kodowania  jest  zapisana  na  sztywno  w  encoding.c i mogłaby być przeniesiona do plików
       magicznych, gdyby istniała notacja !:zestaw-znaków.

       Kontynuować likwidację wszystkich błędów. System BTS Debiana jest tu dobrym źródłem.

       Przechowywać dowolnie długie łańcuchy, np. dla %s wzorców, dzięki czemu mogłyby być wypisywane.  Naprawia
       błąd  Debiana  #271672.  Można  to  zrobić  przydzielając  łańcuchy  do puli łańcuchów, przechowując pulę
       łańcuchów na końcu pliku magicznego i konwertując wszystkie wskaźniki łańcuchów na względne  przesunięcia
       z puli łańcuchów.

       Dodać składnię do względnych przesunięć po bieżącym poziomie (bug Debiana #466037).

       Sprawić, by działała opcja -ki, tzn. podawanie wielu typów MIME.

       Dodać bibliotekę zip do zagłębienia się w dokumenty Office2007, co umożliwiłoby wypisanie większej ilości
       szczegółów na temat ich zawartości.

       Dodać opcję do wypisywania URL-i źródeł opisów plików.

       Połączyć  przeszukiwania  skryptów  i  dodać metodę na powiązanie nazw plików wykonywalnych z typami MIME
       (wartość magiczna do !:mime która spowodowałaby wyszukanie wynikowego łańcucha  w  tabeli).  Dzięki  temu
       uniknęłoby się dodawanie tych samych wartości magicznych dla każdego nowego interpretera hash-bang.

       Gdy  dostępny  jest  deskryptor  plików,  można  by  było  pominąć  i dostosować bufor, zamiast dokonywać
       prowizorycznego zarządzania buforem, jak ma to miejsce obecnie.

       Naprawić „name” i  „use”  aby  pilnowały  spójności  w  chwili  kompilacji  (zduplikowane  „name”,  „use”
       wskazujące  na  niezdefiniowaną  „name”).  „name” / „use” powinny być efektywniejsze poprzez utrzymywanie
       posortowanej listy nazw. Wdrożyć i udokumentować ^ jako  specjalny  przypadek  do  zmieniania  kolejności
       bajtów w parserze, dzięki czemu nie wymagałoby to cytowania.

       Jeśli  przesunięcia  określone  wewnętrznie  w  pliku  wykraczają  poza rozmiar bufora (zmienna HOWMANY w
       file.h), nie należy próbować tego przesuwania, lecz należy  zaniechać  operacji.  Działałoby  to  lepiej,
       gdyby  zarządzanie  buforem  było  dokonywane,  gdy dostępny jest deskryptor pliku, dzięki czemu można by
       przemieszczać się po pliku. Należy być jednak ostrożnym, ponieważ niesie to pewne konsekwencje  dotyczące
       wydajności, a co za tym idzie bezpieczeństwa, ponieważ można spowolnić działanie dokonując powtarzającego
       się przemieszczania.

       Obecnie  istnieje obsługa utrzymywania oddzielnych buforów oraz przesunięć z końca pliku, lecz wewnętrzne
       zarządzanie buforem wciąż wymaga przeprojektowania.

DOSTĘPNOŚĆ

       Najnowszą oryginalną wersję programu tego autora można pobrać  z  anonimowego  ftp  z  ftp.astron.com,  z
       katalogu /pub/file/file-X.YZ.tar.gz.

TŁUMACZENIE

       Tłumaczenie  niniejszej  strony  podręcznika: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz
       <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając  się  z  GNU  General Public License w wersji 3: https://www.gnu.org/licenses/gpl-3.0.html lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy   w   tłumaczeniu   strony   podręcznika   prosimy   zgłaszać   na    adres    listy    dyskusyjnej
       manpages-pl-list@lists.sourceforge.net .

Debian                                         7 kwietnia 2024 r.                                        FILE(1)