Provided by: manpages-de_4.15.0-9_all bug

BEZEICHNUNG

     file — Bestimmt den Dateityp

ÜBERSICHT

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

BESCHREIBUNG

     Diese Handbuchseite dokumentiert Version 5.41 des Befehls file.

     file ü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 file 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 file 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 file 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.

             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 file nicht kennt. Dies ist zur
             Kompatibilität mit älteren Versionen von file 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 file 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 file 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 file sie niemals
             eingelesen hat.

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

                   Name         Vorgabe    Erklärung
                   bytes        1048576    maximale Anzahl an Byte, die aus einer Datei gelesen
                                                                          werden sollen
                   elf_notes    256        maximal zu verarbeitende ELF-Anmerkungen
                   elf_phnum    2048       maximal zu verarbeitende ELF-Programmabschnitte
                   elf_shnum    32768      maximal zu verarbeitende ELF-Abschnitte
                   encoding     65536      maximale Anzahl an Byte, die für die
                                                                          Kodierungsauswertung
                                                                          verarbeitet werden
                                                                          sollen
                   indir        50         Rekursionsbegrenzung für indirekte Magie
                   name         50         verwendet die Zählbegrenzung für Name/Verwendung-Magie
                   regex        8192       Längenbegrenzung für Suchen mit regulären Ausdrücken

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

     -s, --special-files
             Normalerweise versucht file, 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 file 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 file 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 file 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 NUL-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 file für jeden Eintrag
             nur den Dateinamen, gefolgt von einem NUL, gefolgt von einer Beschreibung (oder
             ERROR:-Text), gefolgt von einem zweiten NUL 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 file nicht versuchen, $HOME/.magic zu
     öffnen. file 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 file versuchen wird, symbolischen Links zu folgen oder nicht. Falls
     gesetzt, folgt file 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

     file 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 file, 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 file die Systemaufrufe auf nur die für die Aktion des Programms notwendigen
     einschränken. Diese Durchsetzung stellt keinen Sicherheitsvorteil dar, wenn file 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 file 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 .