Provided by: manpages-de_4.21.0-2_all bug

BEZEICHNUNG

       file — Bestimmt den Dateityp

ÜBERSICHT

       [-bcdEhiklLNnprsSvzZ0]   [--apple]   [--exclude-quiet]   [--extension]   [--mime-encoding]  [--mime-type]
       [-e  Testname]  [-F  Trenner]  [-f  Namensdatei]  [-m  Magic-Dateien]  [-P  Name=Wert]  file ...  -C  [-m
       Magic-Dateien] [--help]

BESCHREIBUNG

       Diese Handbuchseite dokumentiert Version 5.45 des Befehls .

       überprüft  jedes  Argument, um es einzusortieren. Es gibt drei Arten von Tests, die in dieser Reihenfolge
       ausgeführt werden: Dateisystemtests, magische Tests und Sprachtests. Der erste  erfolgreiche  Test  führt
       zur Ausgabe des Dateityps.

       Der  ausgegebene  Typ wird normalerweise eines der Worte text (die Datei enthält nur darstellbare Zeichen
       und ein paar typische Steuerzeichen und kann wahrscheinlich problemlos auf einem ASCII -Terminal  gelesen
       werden),  executable (die Datei enthält das Ergebnis einer Kompilierung eines Programms in eine Form, die
       von einem UNIX -Kernel oder einem anderen verstanden werden kann) oder data, das  alles  andere  bedeutet
       (Daten  sind  normalerweise  »binär«  oder  nicht  darstellbar),  enthalten.  Ausnahmen sind gut bekannte
       Dateiformate (Core-Dateien, TAR-Archive), die bekanntermaßen binäre Daten enthalten.  Wenn  Sie  magische
       Dateien  oder  das  Programm  selbst  verändern,  stellen  Sie  sicher,  dass  Sie »diese Schlüsselwörter
       erhalten«. Benutzer verlassen sich darauf, dass für alle im Verzeichnis lesbaren Dateien das Wort  »text«
       ausgegeben wird. Machen Sie es nicht wie Berkeley, die »shell commands text« in »shell script« änderten.

       Die  Dateisystemtests  basieren auf der Untersuchung der Rückgabe des Systemaufrufs stat(2). Das Programm
       prüft, ob die Datei leer ist oder ob sie eine Art von besonderer Datei ist. Sämtliche bekannten  und  für
       Ihr betriebenes System geeignete Dateien (Sockets, symbolische Links oder benannte Pipes (FIFOs), auf den
       Systemen,  auf  denen  diese implementiert sind) werden intuitiv erfasst, falls Sie in der System-Header-
       Datei <sys/stat.h> definiert sind.

       Die magischen Tests werden verwandt, um auf Dateien zu prüfen, deren Daten in  einem  bestimmten,  festen
       Format vorliegen. Das kanonische Beispiel hierfür ist das ausführbare Programm (kompiliertes Programm) in
       einer  a.out  -Datei,  dessen  Format  in  <elf.h>,  <a.out.h>  und  möglicherweise <exec.h> im Standard-
       Einbindeverzeichnis definiert ist. Diese Dateien haben eine »magische Zahl«, die an einem bestimmten  Ort
       nahe  des Anfangs der Datei gespeichert ist und die dem UNIX -Betriebssystem mitteilt, dass die Datei ein
       ausführbares Programm ist und welches der mehreren Typen davon es ist. Das Konzept der »magischen Zahlen«
       wurde auf Erweiterungen zu Datendateien angewandt. Jede Datei  mit  einem  invarianten  Kennzeichner  bei
       einem  kleinen,  festen  Versatz  in  die  Datei kann normalerweise auf diese Art beschrieben werden. Die
       Information, die diese Dateien identifiziert, wird aus /etc/magic und der  kompilierten  magischen  Datei
       /usr/share/misc/magic.mgc   oder   aus  den  Dateien  im  Verzeichnis  /usr/share/misc/magic,  falls  die
       kompilierte  Datei  nicht  existiert,  gelesen.  Zusätzlich  werden  die  Dateien  $HOME/.magic.mgc  oder
       $HOME/.magic gelesen, falls sie existieren, und haben Vorrang vor der magischen Datei des Systems.

       Falls  eine Datei auf keine der Einträge in der magischen Datei passt, dann wird die Datei untersucht, ob
       sie eine Textdatei zu sein scheint. ASCII, ISO-8859-x, nicht-ISO 8-Bit erweiterte ASCII-Zeichensätze (wie
       diese auf Macintosh und  IBM-PC-Systemen  verwandt  werden),  UTF-8-kodiertes  Unicode,  UTF-16-kodiertes
       Unicode  und  EBCDIC-Zeichensätze  können  durch  verschiedene  Bereiche  und  Sequenzen  von  Bytes, die
       darstellbaren Text in jedem Satz formen, unterschieden  werden.  Falls  eine  Datei  einen  dieser  Tests
       besteht, wird ihr Zeichensatz berichtet. ASCII, ISO-8859-x, UTF-8 und erweiterte ASCII-Dateien werden als
       »text«  identifiziert,  da sie größtenteils auf fast jedem Terminal lesbar sein werden; UTF-16 und EBCDIC
       sind nur »character data«, da der Text einer Übersetzung bedarf, bevor er  lesbar  ist.  Zusätzlich  wird
       versuchen,   weitere  Eigenschaften  von  textartigen  Dateien  zu  bestimmen.  Falls  die  Zeilen  durch
       Wagenrücklauf  (CR),  Zeilenumbruch  und  Wagenrücklauf  (CRLF)  oder  NEL  anstatt  des   UNIX-Standards
       Zeilenumbruch  (LF)  beendet  werden, wird dies gemeldet. Dateien, die eingebettete Maskiersequenzen oder
       Durchstreichungen enthalten, werden auch identifiziert.

       Sobald den in der textartigen Datei verwandten Zeichensatz ermittelt hat, wird es versuchen, die Sprache,
       in der die Datei geschrieben ist, zu ermitteln. Der Sprachtest sucht nach bestimmten Zeichenketten  (z.B.
       <names.h>)  die  irgendwo  in den ersten Blöcken einer Datei auftauchen können. Beispielsweise deutet das
       Schlüsselwort .br an, dass die Datei höchstwahrscheinlich eine  troff(1)  -Eingabedatei  ist,  sowie  das
       Schlüsselwort struct auf ein C-Programm hinweist. Diese Tests sind weniger zuverlässig als die vorherigen
       zwei  Gruppen,  daher  werden  sie  als  letztes  durchgeführt. Die Sprachtestroutinen prüfen auf einiges
       Vermischtes (wie tar(1) -Archive, JSON-Dateien).

       Jede Datei, bei der keine der oben aufgeführten Zeichensätze identifiziert werden kann, wird einfach  als
       »data« gemeldet.

OPTIONEN

       --apple
               Führt  dazu,  dass der Befehl den Dateityp und das Erstellerkürzel ausgibt, wie dies von früheren
               MacOS-Versionen verwandt wurde. Das Kürzel besteht aus  acht  Buchstaben,  wobei  der  erste  den
               Dateityp,  die  nachfolgenden  den Ersteller beschreiben. Diese Option wirkt nur für Dateiformate
               korrekt, für die eine Apple-artige Ausgabe definiert ist.

       -b, --brief
               Hängt keine Dateinamen vor Ausgabezeilen (knapper Modus).

       -C, --compile
               Schreibt eine magic.mgc Ausgabedatei, die eine vorverarbeitete Version der Magic-Datei  oder  des
               Magic-Verzeichnisses enthält.

       -c, --checking-printout
               Führt   zu   einer   Überprüfungsausgabe  der  ausgewerteten  Form  der  Magic-Datei.  Dies  wird
               normalerweise im Zusammenspiel mit der Option -m verwandt, um Fehler in einer  neuen  Magic-Datei
               zu finden, bevor diese installiert wird.

       -d      Gibt interne Fehlersuchinformationen auf Stderr aus.

       -E      Gibt  bei  Dateisystemfehlern  (z.B. Datei nicht gefunden) eine Fehlermeldung aus und beendet das
               Programm, statt den Fehler als reguläre  Ausgabe  zu  handhaben  (wie  dies  POSIX  vorgibt)  und
               fortzufahren.

       -e, --exclude Testname
               Schließt  den  Test namens Testname aus der Liste der zur Bestimmung des Dateityps durchgeführten
               Tests aus. Gültige Testnamen sind:

               apptype   EMX -Anwendungstyp (nur unter EMX).

               ascii     Verschiedene Arten von Textdateien (dieser  Test  wird  versuchen,  die  Textkodierung,
                         unabhängig von der Einstellung der Option »encoding«, zu erraten).

               encoding  Verschiedene Textkodierungen für weiche magische Tests.

               tokens    Zwecks Rückwärtskompatibilität ignoriert.

               cdf       Gibt Details zu »Compound Document Files« aus.

               compress  Prüft auf komprimierte Dateien und schaut hinein.

               csv       Prüft auf »Comma Separated Value«-Dateien (durch Kommata getrennte Werte).

               elf       Gibt  ELF-Dateien-Details  aus, vorausgesetzt, weiche magische Tests sind aktiviert und
                         die Elf-Magie wird gefunden.

               json      Untersucht JSON- (RFC-7159)-Dateien durch deren Auswertung auf Regeltreue.

               soft      Verwendet magische Dateien.

               simh      Untersucht SIMH-Band-Dateien.

               tar       Untersucht TAR-Dateien durch  Überprüfung  der  Prüfsumme  der  512-Byte-TAR-Kopfzeile.
                         Durch  Ausschließen  dieses  Tests  kann  eine detailliertere Inhaltsbeschreibung durch
                         Verwendung der weichen magischen Methode erhalten werden.

               text      Ein Synonym für »ascii«.

       --exclude-quiet
               Wie --exclude, ignoriert aber Tests, die nicht kennt. Dies ist  zur  Kompatibilität  mit  älteren
               Versionen von gedacht.

       --extension
               Gibt  eine  Schrägstrich-getrennte  Liste  von gültigen Erweiterungen für den gefundenen Dateityp
               aus.

       -F, --separator Trenner
               Verwendet die angegebene Zeichenkette als Trenner  zwischen  Dateiname  und  den  zurückgegebenen
               Dateiergebnissen. Standardmäßig »:«.

       -f, --files-from Namensdatei
               Liest die Liste der zu prüfenden Dateien aus Namensdatei (eine pro Zeile) vor der Argumentenliste
               ein.  Entweder  Namensdatei  oder  mindestens  ein Dateinamenargument muss vorhanden sein; um die
               Standardeingabe zu prüfen, verwenden Sie »-« als Dateinamenargument.  Bitte  beachten  Sie,  dass
               Zeilenumbrüche  in  Namensdatei  entfernt  werden und die eingeschlossenen Dateinamen verarbeitet
               werden, wenn diese Option  angetroffen  wird  und  bevor  irgendeine  Verarbeitung  der  weiteren
               Optionen   erfolgt.   Dies   ermöglicht   es,   mehrere  Listen  von  Dateien  mit  verschiedenen
               Befehlszeilenargumenten beim gleichen Aufruf von zu  verarbeiten.  Wenn  Sie  daher  den  Trenner
               setzen  wollen, müssen Sie dies tun, bevor Sie die Dateiliste angeben, also “-F @ -f Namensdatei”
               statt “-f Namensdatei -F @”.

       -h, --no-dereference
               Diese  Option  führt  dazu,  dass  Symlinks  nicht  gefolgt  wird  (auf  Systemen,  die  Symlinks
               unterstützen).  Dies ist die Vorgabe, falls die Umgebungsvariable POSIXLY_CORRECT nicht definiert
               ist.

       -i, --mime
               Führt  dazu,  dass  der  Befehl  den  MIME-Typ  statt  der  traditionellen  und  menschenlesbaren
               Zeichenketten ausgibt. Daher könnte die Ausgabe »text/plain; charset=us-ascii« statt »ASCII text«
               lauten.

       --mime-type, --mime-encoding
               Wie -i, gibt aber nur das/die angegebene(n) Element(e) aus.

       -k, --keep-going
               Stoppt   nicht  beim  ersten  Treffer,  sondern  fährt  fort.  Nachfolgenden  Treffern  wird  die
               Zeichenkette »"\012- "« vorangestellt. (Falls Sie einen Zeilenumbruch möchten, siehe  die  Option
               -r.) Das magische Muster mit der höchsten Stärke (siehe die Option -l) kommt zuerst.

       -l, --list
               Zeigt  eine  Liste von Mustern und ihren Stärken, absteigend sortiert gemäß magic(5) -Stärke, die
               zum Abgleich verwandt wird, an (siehe auch die Option -k).

       -L, --dereference
               Diese Option führt dazu, dass Symlinks gefolgt wird, wie bei der gleichbenannten Option in  ls(1)
               (auf   Systemen,   die   symbolische  Links  unterstützen).  Dies  ist  die  Vorgabe,  falls  die
               Umgebungsvariable POSIXLY_CORRECT definiert ist.

       -m, --magic-file magische_Dateien
               Gibt eine alternative Liste an Dateien und Verzeichnissen an, die Magie enthalten. Dies kann  ein
               einzelner  Eintrag  sein  oder  eine  durch  Doppelpunkte getrennte Liste. Falls eine kompilierte
               magische_Datei zusammen mit  einer  Datei  oder  einem  Verzeichnis  gefunden  wird,  wird  diese
               stattdessen verwandt.

       -N, --no-pad
               Füllt Dateinamen nicht auf, so dass sie an der Ausgabe ausgerichtet sind.

       -n, --no-buffer
               Erzwingt,  dass  die  Standardausgabe  nach jeder Dateiüberprüfung geschrieben wird. Dies ist nur
               nützlich, wenn eine Liste von Dateien geprüft wird. Es ist für den Einsatz in Programmen gedacht,
               die die Dateitypausgabe aus einer Pipe möchten.

       -p, --preserve-date
               Versucht  auf  Systemen,  die  utime(3)  oder  utimes(2)  unterstützen,  die  Zugriffszeiten  der
               analysierten Dateien zu erhalten, um vorzugeben, dass sie niemals eingelesen hat.

       -P, --parameter Name=Wert
               Setzt verschiedene Parameterbegrenzungen.

               Name         Vorgabe    Erklärung
               bytes        1M         maximale Anzahl an Byte, die aus einer Datei gelesen werden sollen
               elf_notes    256        maximal zu verarbeitende ELF-Anmerkungen
               elf_phnum    2K         maximal zu verarbeitende ELF-Programmabschnitte
               elf_shnum    32K        maximal zu verarbeitende ELF-Abschnitte
               elf_shsize   128MB      maximal zu verarbeitende ELF-Abschnittsgröße
               encoding     65K        maximale Anzahl an Byte, um die Kodierung zu bestimmen
               indir        50         Rekursionsbegrenzung für indirekte Magie
               name         50         verwendet die Zählbegrenzung für Name/Verwendung-Magie
               regex        8K         Längenbegrenzung für Suchen mit regulären Ausdrücken

       -r, --raw
               Übersetzt  nicht  darstellbare  Zeichen nicht in \ooo. Normalerweise übersetzt nicht darstellbare
               Zeichen in ihre oktale Darstellung.

       -s, --special-files
               Normalerweise versucht , nur Dateien aus den Argumenten zu lesen und deren Typ zu bestimmen,  für
               die  stat(2)  meldet,  dass sie gewöhnliche Dateien seien. Dies verhindert Probleme, da das Lesen
               von besonderen Dateien zu merkwürdigen Konsequenzen führen kann. Durch Angabe der Option -s  wird
               auch  Dateien  aus  den  Argumenten lesen, die besondere Dateien (block- oder zeichenorientierte)
               sind. Dies ist nützlich, um  den  Dateisystemtyp  von  Daten  in  rohen  Plattenpartitionen,  die
               besondere  blockorientierte  Dateien  sind,  zu bestimmen. Diese Option führt auch dazu, dass die
               durch stat(2) berichtete Dateigröße ignoriert, da es auf einigen Systemen die Größe Null für rohe
               Plattenpartitionen meldet.

       -S, --no-sandbox
               Auf  Systemen,  auf  denen  Libseccomp  (https://github.com/seccomp/libseccomp)  verfügbar   ist,
               deaktiviert  die  Option  -S das standardmäßig aktivierte Sandboxing. Diese Option wird benötigt,
               damit externe Entpackprogramme ausführen  kann,  d.h.  wenn  die  Option  -z  angegeben  und  die
               eingebauten  Entpackprogramme  nicht  verfügbar  sind.  Auf  Systemen, auf denen Sandboxing nicht
               verfügbar ist, hat dieser Schalter keine Auswirkung.

               Beachten Sie: Diese Debian-Version von file wurde ohne Unterstützung für  Seccomp  gebaut.  Daher
               hat diese Option keine Auswirkung.

       -v, --version
               Gibt die Version des Programms aus und beendet sich.

       -z, --uncompress
               Versucht, in komprimierte Dateien zu schauen.

       -Z, --uncompress-noreport
               Versucht,  in  komprimierte  Dateien zu schauen, berichtet aber nur Informationen über den Inhalt
               und nicht die Komprimierung.

       -0, --print0
               Gibt ein Nullbyte-Zeichen »\0« nach dem Ende des Dateinamens aus. Gut zur Weiterverarbeitung  mit
               cut(1). Dies betrifft nicht den Trenner, der weiterhin ausgegeben wird.

               Falls  diese  Option  mehr  als  einmal  angegeben  wird,  dann  gibt  für  jeden Eintrag nur den
               Dateinamen, gefolgt von einem  Nullbyte,  gefolgt  von  einer  Beschreibung  (oder  ERROR:-Text),
               gefolgt von einem zweiten Nullbyte aus.

       --help  Hilfe ausgeben und beenden.

UMGEBUNGSVARIABLEN

       Die  Umgebungsvariable  MAGIC  kann  zum  Setzen des Standard-Namens der magischen Datei verwandt werden.
       Falls diese Variable gesetzt ist, dann wird nicht versuchen, $HOME/.magic zu öffnen. fügt “.mgc”  zu  dem
       Wert  dieser  Variablen  hinzu,  wo  es  sinnvoll ist. Die Umgebungsvariable POSIXLY_CORRECT steuert (auf
       Systemen, die symbolische Links unterstützen), ob versuchen  wird,  symbolischen  Links  zu  folgen  oder
       nicht.  Falls  gesetzt, folgt symbolischen Links, andernfalls nicht. Dies wird auch durch die Optionen -L
       und -h gesteuert.

DATEIEN

       /usr/share/misc/magic.mgc  Kompilierte Vorgabeliste der Magie.
       /usr/share/misc/magic      Verzeichnis, das die Vorgabe-Magie-Dateien enthält.

EXIT-STATUS

       wird sich mit 0 beenden, falls die Aktion erfolgreich war oder >0, falls ein  Fehler  angetroffen  wurde.
       Die  folgenden  Fehler führen zu Diagnosemeldungen, betreffen aber nicht den Exit-Code des Programms (wie
       von POSIX verlangt), außer -E wurde angegeben:
                Eine Datei konnnte nicht gefunden werden.
                Eine Datei konnte aufgrund unzureichender Rechte nicht gelesen werden.
                Der Dateityp konnte nicht bestimmt werden.

BEISPIELE

             $ file Datei.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 Datei.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

SIEHE AUCH

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

STANDARDKONFORMITÄT

       Es wird davon ausgegangen, dass  dieses  Programm  die  System-V-Schnittstellendefinition  von  FILE(CMD)
       übererfüllt,  soweit  das  aus der ungenauen Sprache dieser Definition überhaupt erschlossen werden kann.
       Das Verhalten ist größtenteils kompatibel zu dem des  Programms  gleichen  Namens  aus  System  V.  Diese
       Version  kennt allerdings mehr Magie, daher wird es in vielen Fällen andere (allerdings genauere) Ausgabe
       erstellen.

       Der einzige deutliche Unterschied zwischen dieser Version und System V  ist,  dass  diese  Version  jeden
       Leerraum  als  Trenner  betrachtet, so dass Leerzeichen in Musterzeichenketten maskiert werden müssen. So
       würde zum Beispiel

             >10     string  language impress        (imPRESS data)

       in einer bestehenden Magie-Datei wie folgt geändert werden müssen:

             >10     string  language\ impress       (imPRESS data)

       Falls eine Musterzeichenkette  einen  Rückwärtsschrägstrich  enthält,  muss  dieser  zusätzlich  maskiert
       werden. So würde zum Beispiel

             0       string          \begindata      Andrew Toolkit document

       in einer bestehenden Magie-Datei wie folgt geändert werden müssen:

             0       string          \\begindata     Andrew Toolkit document

       SunOS von Sun Microsystems ab Version 3.2 enthält einen Befehl , der von dem aus System V abgeleitet ist,
       aber Erweiterungen enthält. Diese Version unterscheidet sich geringfügig von dem von Sun. Sie enthält die
       Erweiterung des Operators »&«, der beispielsweise wie folgt verwandt wird:

             >16     long&0x7fffffff >0              not stripped

SICHERHEIT

       Auf  Systemen,  auf  denen  Libseccomp  (https://github.com/seccomp/libseccomp)  verfügbar  ist, wird die
       Systemaufrufe auf nur die für die Aktion  des  Programms  notwendigen  einschränken.  Diese  Durchsetzung
       stellt  keinen  Sicherheitsvorteil  dar,  wenn  gebeten  wird,  Eingabedateien  durch Aufruf von externen
       Programmen mit der Option -z zu dekomprimieren. Um die Ausführung externer Dekomprimierer zu  aktivieren,
       müssen Sie Sandboxing mittels der Option -S deaktivieren.

MAGISCHES VERZEICHNIS

       Die  magischen  Einträge  für  File wurden aus verschiedenen Quellen gesammelt, hauptsächlich USENET, und
       verschiedene Autoren haben beigetragen. Christos Zoulas (Adresse siehe unten)  sammelt  zusätzliche  oder
       korrigiert Einträge für File. Periodisch werden zusammengeführte magische Einträge für File verteilt.

       Die  Reihenfolge  der Einträge in der magischen Datei ist relevant. Abhängig von dem von Ihnen verwandten
       System kann die Reihenfolge, in der sie zusammengestellt wurde, inkorrekt sein.

GESCHICHTE

       Es gab einen Befehl in jedem UNIX seit mindestens Research Version 4 (Datum der  Handbuchseite:  November
       1973).  Die  System-V-Version  führte eine deutliche Änderung ein: die externe Liste von magischen Typen.
       Dies verlangsamte das Programm etwas, machte es aber viel flexibler.

       Dieses  Programm,  basierend  auf  der  System-V-Version,  wurde  von  Ian   Darwin   ⟨ian@darwinsys.com⟩
       geschrieben, ohne den Quelltext von irgendjemanden anzuschauen.

       John Gilmore überarbeitete den Code umfangreich, er wurde dadurch besser als in der ersten Version. Geoff
       Collyer  fand  eine  Reihe von Unzulänglichkeiten und stellte ein paar magische Einträge für File bereit.
       Beiträge des »&«-Betreibers Rob McMahon, ⟨cudcv@warwick.ac.uk⟩, 1989.

       Guy Harris, ⟨guy@netapp.com⟩, nahm seit 1993 bis heute viele Änderungen vor.

       Hauptsächliche  Entwicklung  und  Betreuung  seit  1990  bis  heute   erfolgt   durch   Christos   Zoulas
       ⟨christos@astron.com⟩.

       Verändert  durch  Chris  Lowth ⟨chris@lowth.com⟩, 2000: die Option -i gibt MIME-artige Zeichenketten aus,
       verwendet eine alternative magische Datei und interne Logik.

       Verändert durch Eric Fischer ⟨enf@pobox.com⟩, Juli 2000, um Zeichencodes zu erkennen  und  zu  versuchen,
       die Sprache von nicht-ASCII-Dateien zu bestimmen.

       Verändert  durch  Reuben Thomas ⟨rrt@sc3d.org⟩, 2007-2011, um MIME-Unterstützung zu verbessern, MIME- und
       nicht-MIME-Magie zusammenzuführen, für Magie sowohl Verzeichnisse als auch Dateien zu unterstützen, viele
       Fehlerkorrekturen anzuwenden, zu aktualisieren und eine Menge an Magie zu korrigieren, das  Bausystem  zu
       verbessern, die Dokumentation zu verbessern und die Python-Anbindung in reinem Python neu zu schreiben.

       Die  Liste  an  Beitragenden für das Verzeichnis »magic« (die magischen Dateien) ist zu lang, um sie hier
       aufzunehmen. Sie wissen,  wer  sie  sind,  vielen  Dank!  Viele  Beitragende  sind  in  den  Quelldateien
       aufgeführt.

RECHTLICHER HINWEIS

       Copyright  (c)  Ian  F.  Darwin,  Toronto,  Canada,  1986-1999.  Abgedeckt vom normalen Berkeley Software
       Distribution-Copyright; siehe die Datei COPYING in der Quell-Distribution.

       Die Dateien tar.h und is_tar.c stammen aus  dem  gemeinfreien  tar(1)  -Programm  von  John  Gilmore  und
       unterliegen nicht der obigen Lizenz.

FEHLER

       Bitte   senden   Sie  Fehlerberichte  und  -korrekturen  (auf  Englisch)  an  die  Fehlerdatenbank  unter
       https://bugs.astron.com/ oder die Mailingliste  unter  ⟨file@astron.com⟩  (besuchen  Sie  zum  Abonnieren
       https://mailman.astron.com/mailman/listinfo/file).

OFFENE PUNKTE

       Korrektur  der  Ausgabe,  so  dass  nicht  an allen Stellen Überprüfungen auf die Schalter MIME und APPLE
       erfolgen müssen und die eigentliche Ausgabe nur an einer Stelle erfolgt. Dafür wird ein Design  benötigt.
       Vorschlag:  mögliche  Ausgaben  in  eine  Liste  schieben,  dann den zuletzt geschobenen (hoffentlich den
       konkretesten) Wert am Ende herausnehmen oder die Vorgabe nehmen, falls die Liste leer  ist.  Dies  sollte
       die Ausgabe nicht verlangsamen.

       Die Handhabung von MAGIC_CONTINUE und die Ausgabe von \012- zwischen Einträgen ist plump und kompliziert;
       umschreiben und zentralisieren.

       Ein Teil der Kodierungslogik ist in encoding.c hartkodiert und könnte in die magischen Dateien verschoben
       werden, wenn wir eine !:charset-Notierung hätten.

       Weiter alle magischen Fehler beheben. Die Fehlerdatenbank von Debian ist eine gute Quelle.

       Speichern  von beliebig langen Zeichenketten, beispielsweise für %s-Muster, so dass sie ausgegeben werden
       können.  Debian-Fehler  #271672  korrigieren.  Dies  kann  durch  Zuweisung  von  Zeichenketten  in  eine
       Zeichenkettensammlung   am  Ende  der  magischen  Datei  erfolgen  und  anschließender  Umwandlung  aller
       Zeichenkettenzeiger in relative Versätze aus der Zeichenkettensammlung.

       Eine Sytax für relative Versätze nach der aktuellen Stufe hinzfügen (Debian-Fehler #466037).

       »file -ki« zum Laufen bringen, d.h. mehrere MIME-Typen zu übergeben.

       Eine ZIP-Bibliothek zu übergeben, so dass  in  Office2007-Dokumente  geschaut  werden  kann,  um  weitere
       Details über ihren Inhalt auszugeben.

       Eine Option hinzuzufügen, um URLs für die Quellen der Dateibeschreibungen auszugeben.

       Skript-Suchen  kombinieren  und  eine Möglichkeit hinzufügen, ausführbare Namen auf MIME-Typen abzubilden
       (z.B. einen magischen Wert für !:mime zu haben, der dazu führt,  dass  die  enstehende  Zeichenkette  aus
       einer  Tabelle  nachgeschlagen  wird).  Dies  würde vermeiden, die gleiche Magie mehrfach für jeden neuen
       Skript-Interpreter hinzuzufügen.

       Wenn ein Datei-Deskriptor verfügbar ist, kann der Puffer übersprungen und  angepasst  werden,  statt  der
       momentan eingesetzten, zusammengebastelten Pufferverwaltung.

       »name«  und  »use«  korrigieren, so dass sie bei der Kompilierung auf Konsistenz prüfen (doppelte »name«,
       »use«, die auf nicht definierte »name« zeigen). »name« / »use« effizienter machen, indem  eine  sortierte
       Liste von Namen erhalten wird. ^ besonders behandeln, um die Bytereihenfolge im Auswerteteil umzustellen,
       so dass er nicht maskiert werden muss und dies dokumentieren.

       Falls  der  intern  in  der  Datei  angegebene Versatz die Puffergröße überschreitet (Variable HOWMANY in
       file.h), dann wird nicht zu dem  Versatz  gesprungen,  sondern  aufgegeben.  Es  wäre  besser,  wenn  die
       Pufferverwaltung  greifen  würde,  sobald der Dateideskriptor verfügbar ist, so dass ein Suchen innerhalb
       der Datei möglich ist. Es muss allerdings Vorsicht walten gelassen werden, da dies Leistungs-  und  daher
       Sicherheits-Auswirkungen  hat,  da  dadurch  alles mögliches durch wiederholtes Suchen verlangsamt werden
       kann.

       Es gibt jetzt Unterstützung für das Vorhalten getrennter Puffer und dem Einsatz von  Versätzen  vom  Ende
       der Datei, allerdings benötigt die interne Pufferverwaltung weiterhin eine Überarbeitung.

VERFÜGBARKEIT

       Sie   können   die  neuste  Version  des  ursprünglichen  Autors  mittels  anonymen  FTP  im  Verzeichnis
       /pub/file/file-X.YZ.tar.gz auf ftp.astron.com erhalten.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist  Freie  Dokumentation;  lesen  Sie  die  GNU  General  Public  License  Version  3:
       https://www.gnu.org/licenses/gpl-3.0.html  oder  neuer bezüglich der Copyright-Bedingungen. Es wird KEINE
       HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte  eine  E-Mail  an  die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org .

Debian                                            21. Mai 2023                                           FILE(1)